summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2012-09-10 15:44:14 +0300
committerAlon Levy <alevy@redhat.com>2012-09-10 15:44:14 +0300
commit3cf4f742012bd534b91ccc1136fc61d81119af1a (patch)
tree1785eec579a5573d3542c5c51f0e969d75e36cf5
parentf00f01f889461f9f8516b00859bf27b2fc9a57b8 (diff)
stp/qxl_monitors_config.stp working snapshot
-rw-r--r--stp/qxl_monitors_config.stp114
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);
}