예제 #1
0
    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)
예제 #2
0
    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 --- ')
예제 #3
0
 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)
예제 #4
0
    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
예제 #5
0
    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
예제 #6
0
 def delete(self):
     System.getInstance().unregister_event_listener(self._event_receiver)
     System.getInstance().get_emulator()._gdb_interface.delete_breakpoint(self._bkpt_num)
예제 #7
0
 def post_event(self, evt):
     evt["source"] = "emulator"
     System.getInstance().post_event(evt)