def __init__(self, bkpt_num): from avatar.system import System super().__init__() self._bkpt_num = bkpt_num self._queue = Queue() System.getInstance().register_event_listener(self._event_receiver)
def sig_int_handler(signum, frame): log.critical(' --- Ctrl+C Detected --- ') from avatar.system import System System.getInstance().stop() log.critical(' --- Waiting for last iteration to complete --- ')
def _event_receiver(self, evt): if Event.EVENT_BREAKPOINT in evt["tags"] and \ evt["source"] == "emulator" and \ evt["properties"]["bkpt_number"] == self._bkpt_num: if self._handler: self._handler(System.getInstance(), self) else: self._queue.put(evt)
def __init__(self, s2e_configuration, qemu_configuration, output_directory, configuration_directory): self._configuration = S2EConfiguration(s2e_configuration, qemu_configuration, output_directory, configuration_directory) self._name = "s2e" from avatar.system import System self._system = System.getInstance() self._output_directory = output_directory
def __init__(self, name): super(Emulator, self).__init__() from avatar.system import System self.__system = System.getInstance() self.__name = name self._read_handler = None self._write_handler = None self._set_cpu_state_handler = None self._get_cpu_state_handler = None self._continue_handler = None self._get_checksum_handler = None
def delete(self): System.getInstance().unregister_event_listener(self._event_receiver) System.getInstance().get_emulator()._gdb_interface.delete_breakpoint(self._bkpt_num)
def post_event(self, evt): evt["source"] = "emulator" System.getInstance().post_event(evt)