/qemu/replay/ |
H A D | replay-events.c | 20 typedef struct Event { struct 26 QTAILQ_ENTRY(Event) events; argument 27 } Event; typedef 29 static QTAILQ_HEAD(, Event) events_list = QTAILQ_HEAD_INITIALIZER(events_list); 34 static void replay_run_event(Event *event) in replay_run_event() argument 36 switch (event->event_kind) { in replay_run_event() 38 aio_bh_call(event->opaque); in replay_run_event() 41 ((QEMUBHFunc *)event->opaque)(event->opaque2); in replay_run_event() 44 qemu_input_event_send_impl(NULL, (InputEvent *)event->opaque); in replay_run_event() 45 qapi_free_InputEvent((InputEvent *)event->opaque); in replay_run_event() [all …]
|
H A D | replay-net.c | 56 NetEvent *event = g_new(NetEvent, 1); in replay_net_packet_event() local 57 event->flags = flags; in replay_net_packet_event() 58 event->data = g_malloc(iov_size(iov, iovcnt)); in replay_net_packet_event() 59 event->size = iov_size(iov, iovcnt); in replay_net_packet_event() 60 event->id = rns->id; in replay_net_packet_event() 61 iov_to_buf(iov, iovcnt, 0, event->data, event->size); in replay_net_packet_event() 63 replay_add_event(REPLAY_ASYNC_EVENT_NET, event, NULL, 0); in replay_net_packet_event() 68 NetEvent *event = opaque; in replay_event_net_run() local 70 .iov_base = (void *)event->data, in replay_event_net_run() 71 .iov_len = event->size in replay_event_net_run() [all …]
|
H A D | replay-char.c | 23 /* Char event attributes. */ 53 CharEvent *event = g_new0(CharEvent, 1); in replay_chr_be_write() local 55 event->id = find_char_driver(s); in replay_chr_be_write() 56 if (event->id < 0) { in replay_chr_be_write() 60 event->buf = g_malloc(len); in replay_chr_be_write() 61 memcpy(event->buf, buf, len); in replay_chr_be_write() 62 event->len = len; in replay_chr_be_write() 64 replay_add_event(REPLAY_ASYNC_EVENT_CHAR_READ, event, NULL, 0); in replay_chr_be_write() 69 CharEvent *event = (CharEvent *)opaque; in replay_event_char_read_run() local 71 qemu_chr_be_write_impl(char_drivers[event->id], event->buf, in replay_event_char_read_run() [all …]
|
H A D | replay-internal.h | 35 /* for instruction event */ 47 /* for character device write event */ 49 /* for character device read all event */ 52 /* for audio out event */ 54 /* for audio in event */ 62 /* for checkpoint event */ 66 /* end of log event */ 81 * @instruction_count: number of instructions until next event 82 * @current_event: current event index 83 * @data_kind: current event [all …]
|
H A D | replay.c | 41 /* Pretty print event names */ 43 static const char *replay_async_event_name(ReplayAsyncEventKind event) in replay_async_event_name() argument 45 switch (event) { in replay_async_event_name() 72 /* Pretty print shutdown event names */ 113 static const char *replay_event_name(enum ReplayEvents event) in replay_event_name() argument 116 switch (event) { in replay_event_name() 117 #define EVENT(_x) case EVENT_ ## _x: return "EVENT_"#_x in replay_event_name() macro 118 EVENT(INSTRUCTION); in replay_event_name() 119 EVENT(INTERRUPT); in replay_event_name() 120 EVENT(EXCEPTION); in replay_event_name() [all …]
|
/qemu/tests/qemu-iotests/ |
H A D | 109.out | 15 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 16 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 18 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_ERROR", "dat… 19 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 20 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", … 21 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 22 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 26 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"g… 35 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 36 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… [all …]
|
H A D | 185.out | 39 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 40 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 43 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "SHUTDOWN", "data": {"g… 44 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 45 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 46 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 47 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 48 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 49 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_CANCELLED", … 50 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… [all …]
|
H A D | 026.out | 6 Event: l1_update; errno: 5; imm: off; once: on; write 11 Event: l1_update; errno: 5; imm: off; once: on; write -b 16 Event: l1_update; errno: 5; imm: off; once: off; write 23 Event: l1_update; errno: 5; imm: off; once: off; write -b 30 Event: l1_update; errno: 28; imm: off; once: on; write 35 Event: l1_update; errno: 28; imm: off; once: on; write -b 40 Event: l1_update; errno: 28; imm: off; once: off; write 47 Event: l1_update; errno: 28; imm: off; once: off; write -b 54 Event: l2_load; errno: 5; imm: off; once: on; write 62 Event: l2_load; errno: 5; imm: off; once: on; write -b [all …]
|
H A D | 026.out.nocache | 6 Event: l1_update; errno: 5; imm: off; once: on; write 11 Event: l1_update; errno: 5; imm: off; once: on; write -b 16 Event: l1_update; errno: 5; imm: off; once: off; write 23 Event: l1_update; errno: 5; imm: off; once: off; write -b 30 Event: l1_update; errno: 28; imm: off; once: on; write 35 Event: l1_update; errno: 28; imm: off; once: on; write -b 40 Event: l1_update; errno: 28; imm: off; once: off; write 47 Event: l1_update; errno: 28; imm: off; once: off; write -b 54 Event: l2_load; errno: 5; imm: off; once: on; write 62 Event: l2_load; errno: 5; imm: off; once: on; write -b [all …]
|
H A D | nbd-fault-injector.py | 6 # event=neg1 14 # event - name of the trigger event 91 def __init__(self, name, event, io, when): argument 93 self.event = event 97 def match(self, event, io): argument 98 if event != self.event: 109 def check(self, event, io, bufsize=None): argument 111 if rule.match(event, io): 121 def send(self, buf, event): argument 122 bufsize = self.check(event, 'write', bufsize=len(buf)) [all …]
|
H A D | 219.out | 7 {"data": {"id": "job0", "status": "created"}, "event": "JOB_STATUS_CHANGE", "timestamp": {"microsec… 8 {"data": {"id": "job0", "status": "running"}, "event": "JOB_STATUS_CHANGE", "timestamp": {"microsec… 13 {"data": {"id": "job0", "status": "paused"}, "event": "JOB_STATUS_CHANGE", "timestamp": {"microseco… 16 {"data": {"id": "job0", "status": "running"}, "event": "JOB_STATUS_CHANGE", "timestamp": {"microsec… 20 {"data": {"id": "job0", "status": "paused"}, "event": "JOB_STATUS_CHANGE", "timestamp": {"microseco… 23 {"data": {"id": "job0", "status": "running"}, "event": "JOB_STATUS_CHANGE", "timestamp": {"microsec… 27 {"data": {"id": "job0", "status": "paused"}, "event": "JOB_STATUS_CHANGE", "timestamp": {"microseco… 30 {"data": {"id": "job0", "status": "running"}, "event": "JOB_STATUS_CHANGE", "timestamp": {"microsec… 34 {"data": {"id": "job0", "status": "paused"}, "event": "JOB_STATUS_CHANGE", "timestamp": {"microseco… 37 {"data": {"id": "job0", "status": "running"}, "event": "JOB_STATUS_CHANGE", "timestamp": {"microsec… [all …]
|
H A D | 030 | 267 for event in self.vm.get_qmp_events(wait=True): 268 if event['event'] == 'BLOCK_JOB_COMPLETED': 269 job_id = self.dictpath(event, 'data/device') 271 self.assert_qmp_absent(event, 'data/error') 374 event = self.vm.event_wait(name='BLOCK_JOB_READY') 375 self.assert_qmp(event, 'data/device', 'commit-drive0') 376 self.assert_qmp(event, 'data/type', 'commit') 377 self.assert_qmp_absent(event, 'data/error') 447 for event in self.vm.get_qmp_events(wait=True): 448 if event['event'] == 'BLOCK_JOB_COMPLETED': [all …]
|
/qemu/tests/qemu-iotests/tests/ |
H A D | mirror-sparse.out | 22 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 23 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 25 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 28 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "dat… 32 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 33 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 34 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", … 35 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 36 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… 52 {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "d… [all …]
|
/qemu/python/qemu/qmp/ |
H A D | events.py | 5 `EventListener` is a FIFO event queue that can be pre-filtered to listen 43 event = await listener.get() 44 assert event['event'] == 'STOP' 47 event = await listener.get() 48 assert event['event'] == 'RESUME' 60 event = await listener.get() 61 assert event['event'] == 'STOP' 64 running system, we may not know what event will arrive next. Grabbing 78 async for event in listener: 79 print(f"Event arrived: {event['event']}") [all …]
|
/qemu/trace/ |
H A D | control.h | 13 #include "event-internal.h" 17 size_t event; member 27 * @iter: the event iterator struct 29 * Initialize the event iterator struct @iter, 36 * @iter: the event iterator struct 39 * Initialize the event iterator struct @iter, 47 * @iter: the event iterator struct 50 * Initialize the event iterator struct @iter, 57 * @iter: the event iterator struct 59 * Get the next event, if any. When this returns NULL, [all …]
|
/qemu/qapi/ |
H A D | cxl.json | 11 # CXL has a number of separate event logs for different types of 12 # events. Each such event log is handled and signaled independently. 14 # @informational: Information Event Log 16 # @warning: Warning Event Log 18 # @failure: Failure Event Log 20 # @fatal: Fatal Event Log 32 # @cxl-inject-general-media-event: 34 # Inject an event record for a General Media Event (CXL r3.0 35 # 8.2.9.2.1.1). This event type is reported via one of the event logs 40 # @log: event log to add the event to [all …]
|
H A D | trace.json | 16 # State of a tracing event. 18 # @unavailable: The event is statically disabled. 20 # @disabled: The event is dynamically disabled. 22 # @enabled: The event is dynamically enabled. 32 # Information of a tracing event. 34 # @name: Event name. 44 # @trace-event-get-state: 48 # @name: Event name pattern (case-sensitive glob). 56 # -> { "execute": "trace-event-get-state", 60 { 'command': 'trace-event-get-state', [all …]
|
/qemu/hw/usb/ |
H A D | ccid-card-emulated.c | 143 EmulEvent *event = g_malloc(sizeof(EmulEvent) + len); in emulated_apdu_from_guest() local 145 assert(event); in emulated_apdu_from_guest() 146 event->p.data.type = EMUL_GUEST_APDU; in emulated_apdu_from_guest() 147 event->p.data.len = len; in emulated_apdu_from_guest() 148 memcpy(event->p.data.data, apdu, len); in emulated_apdu_from_guest() 150 QSIMPLEQ_INSERT_TAIL(&card->guest_apdu_list, event, entry); in emulated_apdu_from_guest() 165 static void emulated_push_event(EmulatedState *card, EmulEvent *event) in emulated_push_event() argument 168 QSIMPLEQ_INSERT_TAIL(&(card->event_list), event, entry); in emulated_push_event() 175 EmulEvent *event = g_new(EmulEvent, 1); in emulated_push_type() local 177 assert(event); in emulated_push_type() [all …]
|
/qemu/scripts/tracetool/backend/ |
H A D | simple.py | 31 for event in events: 33 api=event.api(), 34 args=event.args) 38 def generate_h(event, group): argument 39 event_id = 'TRACE_' + event.name.upper() 40 if "vcpu" in event.properties: 48 api=event.api(), 50 args=", ".join(event.args.names())) 53 def generate_h_backend_dstate(event, group): argument 55 event_id="TRACE_" + event.name.upper()) [all …]
|
/qemu/scripts/ |
H A D | simpletrace.py | 16 from tracetool import read_events, Event 75 …"""Deserialize trace records from a file, yielding record tuples (event, event_num, timestamp, pid… 78 event_mapping (str -> Event): events dict, indexed by name 84 dropped_event = Event.build("Dropped_Event(uint64_t num_events_dropped)", 91 # If there is no header assume event ID mapping matches events list 93 for event_id, event in enumerate(events): 94 event_id_to_name[event_id] = event.name 110 event = event_mapping[event_name] 113 f'{e} event is logged but is not declared in the trace events' 119 for type, _ in event.args: [all …]
|
/qemu/include/hw/xen/interface/ |
H A D | event_channel.h | 5 * Event channels between domains. 16 * `incontents 150 evtchn Event Channels 18 * Event channels are the basic primitive provided by Xen for event 19 * notifications. An event is the Xen equivalent of a hardware 20 * interrupt. They essentially store one bit of information, the event 24 * indicating when an event arrives (setting the bit). Further 26 * guests must check the value of the bit after re-enabling event 29 * Event notifications can be masked by setting a flag; this is 33 * Event channels are represented by the evtchn_* fields in 41 * @cmd == EVTCHNOP_* (event-channel operation). [all …]
|
/qemu/ui/ |
H A D | input-linux.c | 60 struct input_event event; member 132 struct input_event *event) in input_linux_should_skip() argument 136 event->code == KEY_SCROLLLOCK; in input_linux_should_skip() 140 struct input_event *event) in input_linux_handle_keyboard() argument 142 if (event->type == EV_KEY) { in input_linux_handle_keyboard() 143 if (event->value > 2 || (event->value > 1 && !il->repeat)) { in input_linux_handle_keyboard() 150 if (event->code >= KEY_CNT) { in input_linux_handle_keyboard() 159 if (!il->keydown[event->code] && event->value) { in input_linux_handle_keyboard() 160 il->keydown[event->code] = true; in input_linux_handle_keyboard() 163 if (il->keydown[event->code] && !event->value) { in input_linux_handle_keyboard() [all …]
|
/qemu/scripts/tracetool/ |
H A D | __init__.py | 109 """Event arguments description.""" 136 String describing the event arguments. 195 class Event(object): class 196 """Event description. 201 The event name. 203 The event format string. 205 Properties of the event. 207 The event arguments. 230 Event name. 234 Event printing format string(s). [all …]
|
/qemu/docs/spin/ |
H A D | aio_notify_bug.promela | 25 bool event; 41 :: !USE_NOTIFY_ME || notify_me -> event = 1; 56 :: event -> skip; \ 64 event = 0; 71 :: event -> skip; \ 78 event = 0; \ 113 /* There must be infinitely many transitions of event as long 116 * If event stayed always true, the waiters would be busy looping. 117 * If event stayed always false, the waiters would be sleeping 122 :: !event -> goto accept_if_event_not_eventually_true; [all …]
|
/qemu/hw/input/ |
H A D | virtio-input-hid.c | 86 virtio_input_event event; in virtio_input_handle_event() local 99 event.type = cpu_to_le16(EV_KEY); in virtio_input_handle_event() 100 event.code = cpu_to_le16(qemu_input_map_qcode_to_linux[qcode]); in virtio_input_handle_event() 101 event.value = cpu_to_le32(key->down ? 1 : 0); in virtio_input_handle_event() 102 virtio_input_send(vinput, &event); in virtio_input_handle_event() 116 event.type = cpu_to_le16(EV_REL); in virtio_input_handle_event() 117 event.code = cpu_to_le16(REL_WHEEL); in virtio_input_handle_event() 118 event.value = cpu_to_le32(btn->button == INPUT_BUTTON_WHEEL_UP in virtio_input_handle_event() 120 virtio_input_send(vinput, &event); in virtio_input_handle_event() 122 event.type = cpu_to_le16(EV_KEY); in virtio_input_handle_event() [all …]
|