diff options
author | Alon Levy <alevy@redhat.com> | 2012-09-10 15:44:14 +0300 |
---|---|---|
committer | Alon Levy <alevy@redhat.com> | 2012-09-10 15:44:14 +0300 |
commit | 3cf4f742012bd534b91ccc1136fc61d81119af1a (patch) | |
tree | 1785eec579a5573d3542c5c51f0e969d75e36cf5 | |
parent | f00f01f889461f9f8516b00859bf27b2fc9a57b8 (diff) |
stp/qxl_monitors_config.stp working snapshot
-rw-r--r-- | stp/qxl_monitors_config.stp | 114 |
1 files changed, 50 insertions, 64 deletions
diff --git a/stp/qxl_monitors_config.stp b/stp/qxl_monitors_config.stp index bc5e014..6cac565 100644 --- a/stp/qxl_monitors_config.stp +++ b/stp/qxl_monitors_config.stp @@ -1,52 +1,62 @@ -/* -probe qemu.system.x86_64.qxl* { - printf("%s\n", pp()); +/* by expected order of events */ + +function printcaps(caps_size, caps) +{ + for (i = 0 ; i < caps_size; ++i) { + printf("%02x ", @cast(caps, "uint8_t")[i]); + } + printf("\n"); } -*/ -probe - qemu.system.x86_64.qxl_spice_monitors_config, - qemu.system.x86_64.qxl_io_client_monitors_config_done, - qemu.system.x86_64.qxl_io_features_set +probe process("/home/alon/spice/upstream/lib/libspice-server.so.1.4.0").function("red_dispatcher_client_monitors_config") { + printf("[%d]red_dispatcher_client_monitors_config\n", pid()); + for (i = 0 ; i < $monitors_config->num_of_monitors ; ++i) { + printf(" %dx%d+%d+%d\n", + $monitors_config->monitors[i]->width, + $monitors_config->monitors[i]->height, + $monitors_config->monitors[i]->x, + $monitors_config->monitors[i]->y); + } +} + +probe qemu.system.x86_64.qxl_io_capabilities_set { - printf("[%d]%s(%d)\n", pid(), $$name, qid); + printf("[%d]%s(%d) ", pid(), $$name, qid); + printcaps(caps_size, caps); } -probe qemu.system.x86_64.qxl_io_read_client_monitors_config_num { +probe qemu.system.x86_64.qxl_spice_monitors_config, + qemu.system.x86_64.qxl_io_client_monitors_config_done +{ printf("[%d]%s(%d)\n", pid(), $$name, qid); } - -probe qemu.system.x86_64.qxl_io_update_monitors_config_from_client { - printf("[%d]%s(%d) %d %dx%d+%d+%d\n", pid(), $$name, qid, heads, - width, height, x, y); +probe qemu.system.x86_64.qxl_clients_monitors_config_unsupported_by_guest +{ + printf("[%d]%s %p", pid(), $$name, client_monitors_config); } -probe qemu.system.x86_64.qxl_clients_monitors_config_unsupported_by_guest, - qemu.system.x86_64.qxl_interrupt_client_monitors_config +probe qemu.system.x86_64.qxl_interrupt_client_monitors_config { - printf("[%d]%s %p\n", pid(), $$name, client_monitors_config); -// TODO: How to get this as VDAgentMonitorsConfig* -/* - for (i = 0 ; i < $client_monitors_config->num_of_monitors ; ++i) { - printf(" %dx%d+%d+%d\n", - $client_monitors_config->monitors[i]->width, - $client_monitors_config->monitors[i]->height, - $client_monitors_config->monitors[i]->x, - $client_monitors_config->monitors[i]->y); + printf("[%d]%s %d:\n", pid(), $$name, num_heads); + for (i = 0 ; i < num_heads ; ++i) { + printf("%d,%d,%d,%d\n", + @cast(heads, "QXLURect")->left, + @cast(heads, "QXLURect")->right, + @cast(heads, "QXLURect")->top, + @cast(heads, "QXLURect")->bottom); } -*/ } -probe process("/home/alon/spice/rhel6/lib/libspice-server.so.1.3.0").function("red_worker_push_monitors_config") { - printf("[%d]spice red_worker_push_monitors_config: %d\n", pid(), - $worker->monitors_config->count); - for (i = 0 ; i < $worker->monitors_config->count ; ++i) { - printf(" %dx%d+%d+%d\n", - $worker->monitors_config->heads[i]->width, - $worker->monitors_config->heads[i]->height, - $worker->monitors_config->heads[i]->x, - $worker->monitors_config->heads[i]->y); +probe qemu.system.x86_64.qxl_io_unexpected_vga_mode +{ + printf("[%d]%s %lx=%lu\n", pid(), $$name, addr, val); +} + +probe qemu.system.x86_64.qxl_io_write +{ + if (addr != 4) { + printf("[%d]%s %lx=%lu\n", pid(), $$name, addr, val); } } @@ -63,33 +73,9 @@ probe process("/home/alon/spice/upstream/lib/libspice-server.so.1.4.0").function } } -/* -probe process("/home/alon/spice/rhel6/lib/libspice-server.so.1.3.0").function("spice_marshall_msg_display_monitors_config") { - printf("[%d]spice spice_marshall_msg_display_monitors_config: %p\n", pid(), - $msg); -} -*/ - -/* -probe process("/home/alon/spice/rhel6/lib/libspice-server.so.1.3.0").mark("red_marshall_monitors_config") { - printf("[%d]spice (mark) %s: %d\n", pid(), $$name, $monitors_config->count); - for (i = 0 ; i < $monitors_config->count ; ++i) { - printf(" %dx%d+%d+%d\n", - $monitors_config->heads[i]->width, - $monitors_config->heads[i]->height, - $monitors_config->heads[i]->x, - $monitors_config->heads[i]->y); - } -} -*/ - -probe process("/home/alon/spice/upstream/lib/libspice-server.so.1.4.0").function("red_dispatcher_client_monitors_config") { - printf("[%d]red_dispatcher_client_monitors_config\n", pid()); - for (i = 0 ; i < $monitors_config->num_of_monitors ; ++i) { - printf(" %dx%d+%d+%d\n", - $monitors_config->monitors[i]->width, - $monitors_config->monitors[i]->height, - $monitors_config->monitors[i]->x, - $monitors_config->monitors[i]->y); - } +probe process("/home/alon/spice/upstream/lib/libspice-server.so.1.4.0").function("spice_qxl_guest_capabilities_set") +{ + printf("[%d]spice_qxl_guest_capabilities_set: \n", pid()); + //printcaps($dispatcher->guest_capabilities_size, $dispatcher->guest_capabilities); + printcaps($caps_length, $new_caps); } |