From da5d36a50b831b928c945ff2ab29767dc8de33a9 Mon Sep 17 00:00:00 2001 From: compudj Date: Thu, 9 Nov 2006 03:15:26 +0000 Subject: [PATCH] fix syscall table git-svn-id: http://ltt.polymtl.ca/svn@2237 04897980-b3bd-0310-b5e0-8ef037075253 --- ltt/branches/poly/configure.in | 2 +- ltt/branches/poly/doc/developer/xen-port.txt | 38 ++++++++++++++++++++ ltt/branches/poly/lttv/lttv/state.c | 6 ++++ 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/ltt/branches/poly/configure.in b/ltt/branches/poly/configure.in index d3b9f35a..db97c82d 100644 --- a/ltt/branches/poly/configure.in +++ b/ltt/branches/poly/configure.in @@ -23,7 +23,7 @@ AC_PREREQ(2.57) AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS) #AC_WITH_LTDL # not needed ? -AM_INIT_AUTOMAKE(LinuxTraceToolkitViewer,0.8.69-27102006) +AM_INIT_AUTOMAKE(LinuxTraceToolkitViewer,0.8.70-08112006) AM_CONFIG_HEADER(config.h) AM_PROG_LIBTOOL diff --git a/ltt/branches/poly/doc/developer/xen-port.txt b/ltt/branches/poly/doc/developer/xen-port.txt index e91babe3..a7218e3d 100644 --- a/ltt/branches/poly/doc/developer/xen-port.txt +++ b/ltt/branches/poly/doc/developer/xen-port.txt @@ -106,3 +106,41 @@ get_info : tb_control that returns a fresh copy of trace control info. + +NOTE 8-11-2006 + +Xen 3.0.3 +Only one init of buffers (cannot change buffer size) +tbc->buffer_mfn = opt_tbuf_size ? virt_to_mfn(per_cpu(t_bufs, 0)) : 0; +/* Convert between Xen-heap virtual addresses and machine frame numbers. */ +#define virt_to_mfn(va) (virt_to_maddr(va) >> PAGE_SHIFT) + +struct t_buf *tbufs_mapped; + + tbufs_mapped = xc_map_foreign_range(xc_handle, DOMID_XEN, + size * num, PROT_READ | PROT_WRITE, + tbufs_mfn); + +int fd = open("/proc/xen/privcmd", O_RDWR); + +/* sleep for this long (milliseconds) between checking the trace buffers */ +#define POLL_SLEEP_MILLIS 100 + + +netfront.c +xenbus_alloc_evtchn +bind_evtchn_to_irqhandler + + +virq : + +include/public/xen.h VIRQ_TBUF + /* G. (DOM0) Trace buffer has records available. */ + +trace_notify_guest : send_guest_global_virq(dom0, VIRQ_TBUF); + +see arch/i386/oprofile/xenoprof.c +bind_virq + + + diff --git a/ltt/branches/poly/lttv/lttv/state.c b/ltt/branches/poly/lttv/lttv/state.c index e88db8cd..6aae5ad9 100644 --- a/ltt/branches/poly/lttv/lttv/state.c +++ b/ltt/branches/poly/lttv/lttv/state.c @@ -1415,6 +1415,12 @@ create_name_tables(LttvTraceState *tcs) for(i = 0 ; i < nb ; i++) { name_tables->syscall_names[i] = ltt_enum_string_get(t, i); + if(!name_tables->syscall_names[i]) { + GString *string = g_string_new(""); + g_string_printf(string, "syscall %u", i); + name_tables->syscall_names[i] = g_quark_from_string(string->str); + g_string_free(string, TRUE); + } } //name_tables->syscall_names = g_new(GQuark, 256); -- 2.34.1