qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2 1/6] trace: Make "tracetool" generate a group lis


From: Mark Wu
Subject: [Qemu-devel] [PATCH v2 1/6] trace: Make "tracetool" generate a group list
Date: Thu, 20 Oct 2011 14:42:14 +0800

Each trace events group starts with a line containing the string
"group_start:group-name" and end with a line containing the string
"group_end". The range of a trace events group is determined by
the "tracetool" script when it processes the "trace-events" file.

Signed-off-by: Mark Wu <address@hidden>
---
 scripts/tracetool |   94 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 trace-events      |   94 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 186 insertions(+), 2 deletions(-)

diff --git a/scripts/tracetool b/scripts/tracetool
index 4c9951d..7ae8bb5 100755
--- a/scripts/tracetool
+++ b/scripts/tracetool
@@ -166,6 +166,82 @@ linetoc_end_nop()
     return
 }
 
+linetoh_begin_group()
+{
+    group_num=0
+}
+
+linetoh_end_group()
+{
+    cat <<EOF
+#define NR_TRACE_EVENT_GROUPS $group_num
+extern TraceEventGroup trace_group_list[NR_TRACE_EVENT_GROUPS];
+EOF
+}
+
+linetoc_begin_group()
+{
+    cat <<EOF >trace-groups
+
+TraceEventGroup trace_group_list[] = {
+
+EOF
+    group_num=0
+}
+
+linetoc_end_group()
+{
+    cat <<EOF >>trace-groups
+};
+EOF
+    cat < trace-groups
+    rm -f trace-groups
+}
+
+linetoc_group()
+{
+    if echo $str|grep -q "group_start"; then
+        gp_name=${1##*group_start:}
+       if ! test -z "$gp_name"; then
+            start=$((${backend}_event_num))
+       fi
+    elif echo $str|grep -q "group_end"; then
+       stop=$((${backend}_event_num - 1))
+       cat <<EOF >>trace-groups
+{.gp_name = "$gp_name", .state = 0, .start = $start, .end = $stop},
+
+EOF
+       group_num=$((group_num + 1))
+    fi
+}
+
+linetoc_group_simple()
+{
+    linetoc_group "$1"
+}
+
+linetoc_group_stderr()
+{
+    linetoc_group "$1"
+}
+
+linetoh_group()
+{
+    if echo $str|grep -q "group_end"; then
+        group_num=$((group_num + 1))
+    fi
+}
+
+linetoh_group_simple()
+{
+    linetoh_group
+}
+
+linetoh_group_stderr()
+{
+    linetoh_group
+}
+
 linetoh_begin_simple()
 {
     cat <<EOF
@@ -173,8 +249,10 @@ linetoh_begin_simple()
 EOF
 
     simple_event_num=0
+    linetoh_begin_group
 }
 
+
 cast_args_to_uint64_t()
 {
     local arg
@@ -206,12 +284,14 @@ EOF
     simple_event_num=$((simple_event_num + 1))
 }
 
+
 linetoh_end_simple()
 {
     cat <<EOF
 #define NR_TRACE_EVENTS $simple_event_num
 extern TraceEvent trace_list[NR_TRACE_EVENTS];
 EOF
+    linetoh_end_group
 }
 
 linetoc_begin_simple()
@@ -222,7 +302,7 @@ linetoc_begin_simple()
 TraceEvent trace_list[] = {
 EOF
     simple_event_num=0
-
+    linetoc_begin_group
 }
 
 linetoc_simple()
@@ -240,6 +320,7 @@ linetoc_end_simple()
     cat <<EOF
 };
 EOF
+    linetoc_end_group
 }
 
 #STDERR
@@ -285,6 +366,7 @@ linetoh_end_stderr()
     cat <<EOF
 #define NR_TRACE_EVENTS $stderr_event_num
 EOF
+    linetoh_end_group
 }
 
 linetoc_begin_stderr()
@@ -295,6 +377,7 @@ linetoc_begin_stderr()
 TraceEvent trace_list[] = {
 EOF
     stderr_event_num=0
+    linetoc_begin_group
 }
 
 linetoc_stderr()
@@ -312,6 +395,7 @@ linetoc_end_stderr()
     cat <<EOF
 };
 EOF
+    linetoc_end_group
 }
 #END OF STDERR
 
@@ -523,12 +607,18 @@ convert()
     begin="lineto$1_begin_$backend"
     process_line="lineto$1_$backend"
     end="lineto$1_end_$backend"
+    group="lineto$1_group_$backend"
 
     "$begin"
 
     while read -r str; do
         # Skip comments and empty lines
-        test -z "${str%%#*}" && continue
+        if test -z "${str%%#*}"; then
+           if [ "$backend" == "simple" -o "$backend" == "stderr" ] && [ ! 
`echo $str|grep -q "^# group_"` ]; then
+               $group "$str"
+           fi
+           continue
+       fi
 
         echo
         # Process the line.  The nop backend handles disabled lines.
diff --git a/trace-events b/trace-events
index a06c6c5..5382ea2 100644
--- a/trace-events
+++ b/trace-events
@@ -26,6 +26,7 @@
 # The <format-string> should be a sprintf()-compatible format string.
 
 # qemu-malloc.c
+# group_start:qemu-memory
 g_malloc(size_t size, void *ptr) "size %zu ptr %p"
 g_realloc(void *ptr, size_t size, void *newptr) "ptr %p size %zu newptr %p"
 g_free(void *ptr) "ptr %p"
@@ -34,8 +35,10 @@ g_free(void *ptr) "ptr %p"
 qemu_memalign(size_t alignment, size_t size, void *ptr) "alignment %zu size 
%zu ptr %p"
 qemu_vmalloc(size_t size, void *ptr) "size %zu ptr %p"
 qemu_vfree(void *ptr) "ptr %p"
+# group_end
 
 # hw/virtio.c
+# group_start:virtio
 virtqueue_fill(void *vq, const void *elem, unsigned int len, unsigned int idx) 
"vq %p elem %p len %u idx %u"
 virtqueue_flush(void *vq, unsigned int count) "vq %p count %u"
 virtqueue_pop(void *vq, void *elem, unsigned int in_num, unsigned int out_num) 
"vq %p elem %p in_num %u out_num %u"
@@ -43,6 +46,7 @@ virtio_queue_notify(void *vdev, int n, void *vq) "vdev %p n 
%d vq %p"
 virtio_irq(void *vq) "vq %p"
 virtio_notify(void *vdev, void *vq) "vdev %p vq %p"
 virtio_set_status(void *vdev, uint8_t val) "vdev %p val %u"
+# group_end
 
 # hw/virtio-serial-bus.c
 virtio_serial_send_control_event(unsigned int port, uint16_t event, uint16_t 
value) "port %u, event %u, value %u"
@@ -51,11 +55,14 @@ virtio_serial_handle_control_message(uint16_t event, 
uint16_t value) "event %u,
 virtio_serial_handle_control_message_port(unsigned int port) "port %u"
 
 # hw/virtio-console.c
+# group_start:virtio-console
 virtio_console_flush_buf(unsigned int port, size_t len, ssize_t ret) "port %u, 
in_len %zu, out_len %zd"
 virtio_console_chr_read(unsigned int port, int size) "port %u, size %d"
 virtio_console_chr_event(unsigned int port, int event) "port %u, event %d"
+# group_end
 
 # block.c
+# group_start:block
 bdrv_open_common(void *bs, const char *filename, int flags, const char 
*format_name) "bs %p filename \"%s\" flags %#x format_name \"%s\""
 multiwrite_cb(void *mcb, int ret) "mcb %p ret %d"
 bdrv_aio_multiwrite(void *mcb, int num_callbacks, int num_reqs) "mcb %p 
num_callbacks %d num_reqs %d"
@@ -68,26 +75,34 @@ bdrv_lock_medium(void *bs, bool locked) "bs %p locked %d"
 bdrv_co_readv(void *bs, int64_t sector_num, int nb_sector) "bs %p sector_num 
%"PRId64" nb_sectors %d"
 bdrv_co_writev(void *bs, int64_t sector_num, int nb_sector) "bs %p sector_num 
%"PRId64" nb_sectors %d"
 bdrv_co_io_em(void *bs, int64_t sector_num, int nb_sectors, int is_write, void 
*acb) "bs %p sector_num %"PRId64" nb_sectors %d is_write %d acb %p"
+# group_end
 
 # hw/virtio-blk.c
+# group_start:virtio-blk
 virtio_blk_req_complete(void *req, int status) "req %p status %d"
 virtio_blk_rw_complete(void *req, int ret) "req %p ret %d"
 virtio_blk_handle_write(void *req, uint64_t sector, size_t nsectors) "req %p 
sector %"PRIu64" nsectors %zu"
+# group_end
 
 # posix-aio-compat.c
+# group_start:posix-aio
 paio_submit(void *acb, void *opaque, int64_t sector_num, int nb_sectors, int 
type) "acb %p opaque %p sector_num %"PRId64" nb_sectors %d type %d"
 paio_complete(void *acb, void *opaque, int ret) "acb %p opaque %p ret %d"
 paio_cancel(void *acb, void *opaque) "acb %p opaque %p"
+# group_end
 
 # ioport.c
+# group_start:ioport
 cpu_in(unsigned int addr, unsigned int val) "addr %#x value %u"
 cpu_out(unsigned int addr, unsigned int val) "addr %#x value %u"
+# group_end
 
 # balloon.c
 # Since requests are raised via monitor, not many tracepoints are needed.
 balloon_event(void *opaque, unsigned long addr) "opaque %p addr %lu"
 
 # hw/apic.c
+# group_start:apic
 apic_local_deliver(int vector, uint32_t lvt) "vector %d delivery mode %d"
 apic_deliver_irq(uint8_t dest, uint8_t dest_mode, uint8_t delivery_mode, 
uint8_t vector_num, uint8_t trigger_mode) "dest %d dest_mode %d delivery_mode 
%d vector %d trigger_mode %d"
 cpu_set_apic_base(uint64_t val) "%016"PRIx64
@@ -98,18 +113,24 @@ apic_mem_writel(uint64_t addr, uint32_t val) "%"PRIx64" = 
%08x"
 apic_reset_irq_delivered(int apic_irq_delivered) "old coalescing %d"
 apic_get_irq_delivered(int apic_irq_delivered) "returning coalescing %d"
 apic_set_irq(int apic_irq_delivered) "coalescing %d"
+# group_end
 
 # hw/cs4231.c
+# group_start:cs4231
 cs4231_mem_readl_dreg(uint32_t reg, uint32_t ret) "read dreg %d: 0x%02x"
 cs4231_mem_readl_reg(uint32_t reg, uint32_t ret) "read reg %d: 0x%08x"
 cs4231_mem_writel_reg(uint32_t reg, uint32_t old, uint32_t val) "write reg %d: 
0x%08x -> 0x%08x"
 cs4231_mem_writel_dreg(uint32_t reg, uint32_t old, uint32_t val) "write dreg 
%d: 0x%02x -> 0x%02x"
+# group_end
 
 # hw/ds1225y.c
+# group_start:ds1225y
 nvram_read(uint32_t addr, uint32_t ret) "read addr %d: 0x%02x"
 nvram_write(uint32_t addr, uint32_t old, uint32_t val) "write addr %d: 0x%02x 
-> 0x%02x"
+# group_end
 
 # hw/eccmemctl.c
+# group_start:eccmemctl
 ecc_mem_writel_mer(uint32_t val) "Write memory enable %08x"
 ecc_mem_writel_mdr(uint32_t val) "Write memory delay %08x"
 ecc_mem_writel_mfsr(uint32_t val) "Write memory fault status %08x"
@@ -128,12 +149,16 @@ ecc_mem_readl_ecr0(uint32_t ret) "Read event count 1 %08x"
 ecc_mem_readl_ecr1(uint32_t ret) "Read event count 2 %08x"
 ecc_diag_mem_writeb(uint64_t addr, uint32_t val) "Write diagnostic %"PRId64" = 
%02x"
 ecc_diag_mem_readb(uint64_t addr, uint32_t ret) "Read diagnostic %"PRId64"= 
%02x"
+# group_end
 
 # hw/lance.c
+# group_start:lance
 lance_mem_readw(uint64_t addr, uint32_t ret) "addr=%"PRIx64"val=0x%04x"
 lance_mem_writew(uint64_t addr, uint32_t val) "addr=%"PRIx64"val=0x%04x"
+# group_end
 
 # hw/slavio_intctl.c
+# group_start:slavio_intctl
 slavio_intctl_mem_readl(uint32_t cpu, uint64_t addr, uint32_t ret) "read cpu 
%d reg 0x%"PRIx64" = %x"
 slavio_intctl_mem_writel(uint32_t cpu, uint64_t addr, uint32_t val) "write cpu 
%d reg 0x%"PRIx64" = %x"
 slavio_intctl_mem_writel_clear(uint32_t cpu, uint32_t val, uint32_t 
intreg_pending) "Cleared cpu %d irq mask %x, curmask %x"
@@ -146,8 +171,10 @@ slavio_intctlm_mem_writel_target(uint32_t cpu) "Set master 
irq cpu %d"
 slavio_check_interrupts(uint32_t pending, uint32_t intregm_disabled) "pending 
%x disabled %x"
 slavio_set_irq(uint32_t target_cpu, int irq, uint32_t pil, int level) "Set cpu 
%d irq %d -> pil %d level %d"
 slavio_set_timer_irq_cpu(int cpu, int level) "Set cpu %d local timer level %d"
+# group_end
 
 # hw/slavio_misc.c
+# group_start:slavio_misc
 slavio_misc_update_irq_raise(void) "Raise IRQ"
 slavio_misc_update_irq_lower(void) "Lower IRQ"
 slavio_set_power_fail(int power_failing, uint8_t config) "Power fail: %d, 
config: %d"
@@ -167,8 +194,10 @@ slavio_sysctrl_mem_writel(uint32_t val) "Write system 
control %08x"
 slavio_sysctrl_mem_readl(uint32_t ret) "Read system control %08x"
 slavio_led_mem_writew(uint32_t val) "Write diagnostic LED %04x"
 slavio_led_mem_readw(uint32_t ret) "Read diagnostic LED %04x"
+# group_end
 
 # hw/slavio_timer.c
+# group_start:slavio_timer
 slavio_timer_get_out(uint64_t limit, uint32_t counthigh, uint32_t count) 
"limit %"PRIx64" count %x%08x"
 slavio_timer_irq(uint32_t counthigh, uint32_t count) "callback: count %x%08x"
 slavio_timer_mem_readl_invalid(uint64_t addr) "invalid read address %"PRIx64
@@ -182,8 +211,10 @@ slavio_timer_mem_writel_mode_user(unsigned int 
timer_index) "processor %d change
 slavio_timer_mem_writel_mode_counter(unsigned int timer_index) "processor %d 
changed from user timer to counter"
 slavio_timer_mem_writel_mode_invalid(void) "not system timer"
 slavio_timer_mem_writel_invalid(uint64_t addr) "invalid write address %"PRIx64
+# group_end
 
 # hw/sparc32_dma.c
+# group_start:sparc32_dma
 ledma_memory_read(uint64_t addr) "DMA read addr 0x%"PRIx64
 ledma_memory_write(uint64_t addr) "DMA write addr 0x%"PRIx64
 sparc32_dma_set_irq_raise(void) "Raise IRQ"
@@ -194,14 +225,18 @@ sparc32_dma_mem_readl(uint64_t addr, uint32_t ret) "read 
dmareg %"PRIx64": 0x%08
 sparc32_dma_mem_writel(uint64_t addr, uint32_t old, uint32_t val) "write 
dmareg %"PRIx64": 0x%08x -> 0x%08x"
 sparc32_dma_enable_raise(void) "Raise DMA enable"
 sparc32_dma_enable_lower(void) "Lower DMA enable"
+# group_end
 
 # hw/sun4m.c
+# group_start:sun4m
 sun4m_cpu_interrupt(unsigned int level) "Set CPU IRQ %d"
 sun4m_cpu_reset_interrupt(unsigned int level) "Reset CPU IRQ %d"
 sun4m_cpu_set_irq_raise(int level) "Raise CPU IRQ %d"
 sun4m_cpu_set_irq_lower(int level) "Lower CPU IRQ %d"
+# group_end
 
 # hw/sun4m_iommu.c
+# group_start:sun4m_iommu
 sun4m_iommu_mem_readl(uint64_t addr, uint32_t ret) "read reg[%"PRIx64"] = %x"
 sun4m_iommu_mem_writel(uint64_t addr, uint32_t val) "write reg[%"PRIx64"] = %x"
 sun4m_iommu_mem_writel_ctrl(uint64_t iostart) "iostart = %"PRIx64
@@ -210,14 +245,18 @@ sun4m_iommu_mem_writel_pgflush(uint32_t val) "page flush 
%x"
 sun4m_iommu_page_get_flags(uint64_t pa, uint64_t iopte, uint32_t ret) "get 
flags addr %"PRIx64" => pte %"PRIx64", *pte = %x"
 sun4m_iommu_translate_pa(uint64_t addr, uint64_t pa, uint32_t iopte) "xlate 
dva %"PRIx64" => pa %"PRIx64" iopte = %x"
 sun4m_iommu_bad_addr(uint64_t addr) "bad addr %"PRIx64
+# group_end
 
 # hw/usb-bus.c
+# group_start:usb-bus
 usb_port_claim(int bus, const char *port) "bus %d, port %s"
 usb_port_attach(int bus, const char *port) "bus %d, port %s"
 usb_port_detach(int bus, const char *port) "bus %d, port %s"
 usb_port_release(int bus, const char *port) "bus %d, port %s"
+# group_end
 
 # hw/usb-ehci.c
+# group_start:usb-ehci
 usb_ehci_reset(void) "=== RESET ==="
 usb_ehci_mmio_readl(uint32_t addr, const char *str, uint32_t val) "rd mmio 
%04x [%s] = %x"
 usb_ehci_mmio_writel(uint32_t addr, const char *str, uint32_t val) "wr mmio 
%04x [%s] = %x"
@@ -237,8 +276,10 @@ usb_ehci_port_detach(uint32_t port) "detach port #%d"
 usb_ehci_port_reset(uint32_t port, int enable) "reset port #%d - %d"
 usb_ehci_data(int rw, uint32_t cpage, uint32_t offset, uint32_t addr, uint32_t 
len, uint32_t bufpos) "write %d, cpage %d, offset 0x%03x, addr 0x%08x, len %d, 
bufpos %d"
 usb_ehci_queue_action(void *q, const char *action) "q %p: %s"
+# group_end
 
 # hw/usb-desc.c
+# group_start:usb-desc
 usb_desc_device(int addr, int len, int ret) "dev %d query device, len %d, ret 
%d"
 usb_desc_device_qualifier(int addr, int len, int ret) "dev %d query device 
qualifier, len %d, ret %d"
 usb_desc_config(int addr, int index, int len, int ret) "dev %d query config 
%d, len %d, ret %d"
@@ -248,8 +289,10 @@ usb_set_addr(int addr) "dev %d"
 usb_set_config(int addr, int config, int ret) "dev %d, config %d, ret %d"
 usb_clear_device_feature(int addr, int feature, int ret) "dev %d, feature %d, 
ret %d"
 usb_set_device_feature(int addr, int feature, int ret) "dev %d, feature %d, 
ret %d"
+# group_end
 
 # usb-linux.c
+# group_start:usb-linux
 usb_host_open_started(int bus, int addr) "dev %d:%d"
 usb_host_open_success(int bus, int addr) "dev %d:%d"
 usb_host_open_failure(int bus, int addr) "dev %d:%d"
@@ -273,8 +316,10 @@ usb_host_reset(int bus, int addr) "dev %d:%d"
 usb_host_auto_scan_enabled(void)
 usb_host_auto_scan_disabled(void)
 usb_host_claim_port(int bus, int hub, int port) "bus %d, hub addr %d, port %d"
+# group_end
 
 # hw/scsi-bus.c
+# group_start:scsi-bus
 scsi_req_alloc(int target, int lun, int tag) "target %d lun %d tag %d"
 scsi_req_data(int target, int lun, int tag, int len) "target %d lun %d tag %d 
len %d"
 scsi_req_dequeue(int target, int lun, int tag) "target %d lun %d tag %d"
@@ -287,10 +332,12 @@ scsi_report_luns(int target, int lun, int tag) "target %d 
lun %d tag %d"
 scsi_inquiry(int target, int lun, int tag, int cdb1, int cdb2) "target %d lun 
%d tag %d page %#02x/%#02x"
 scsi_test_unit_ready(int target, int lun, int tag) "target %d lun %d tag %d"
 scsi_request_sense(int target, int lun, int tag) "target %d lun %d tag %d"
+# group_end
 
 # vl.c
 vm_state_notify(int running, int reason) "running %d reason %d"
 
+# group_start:qed
 # block/qed-l2-cache.c
 qed_alloc_l2_cache_entry(void *l2_cache, void *entry) "l2_cache %p entry %p"
 qed_unref_l2_cache_entry(void *entry, int ref) "entry %p ref %d"
@@ -314,6 +361,7 @@ qed_aio_write_data(void *s, void *acb, int ret, uint64_t 
offset, size_t len) "s
 qed_aio_write_prefill(void *s, void *acb, uint64_t start, size_t len, uint64_t 
offset) "s %p acb %p start %"PRIu64" len %zu offset %"PRIu64
 qed_aio_write_postfill(void *s, void *acb, uint64_t start, size_t len, 
uint64_t offset) "s %p acb %p start %"PRIu64" len %zu offset %"PRIu64
 qed_aio_write_main(void *s, void *acb, int ret, uint64_t offset, size_t len) 
"s %p acb %p ret %d offset %"PRIu64" len %zu"
+# group_end
 
 # hw/g364fb.c
 g364fb_read(uint64_t addr, uint32_t val) "read addr=0x%"PRIx64": 0x%x"
@@ -340,16 +388,21 @@ grlib_apbuart_event(int event) "event:%d"
 grlib_apbuart_writel_unknown(uint64_t addr, uint32_t value) "addr 0x%"PRIx64" 
value 0x%x"
 
 # hw/leon3.c
+# group_start:leon3
 leon3_set_irq(int intno) "Set CPU IRQ %d"
 leon3_reset_irq(int intno) "Reset CPU IRQ %d"
+# group_end
 
 # spice-qemu-char.c
+# group_start:spice
 spice_vmc_write(ssize_t out, int len) "spice wrottn %zd of requested %d"
 spice_vmc_read(int bytes, int len) "spice read %d of requested %d"
 spice_vmc_register_interface(void *scd) "spice vmc registered interface %p"
 spice_vmc_unregister_interface(void *scd) "spice vmc unregistered interface %p"
+# group_end
 
 # hw/lm32_pic.c
+# group_start:lm32_pic
 lm32_pic_raise_irq(void) "Raise CPU interrupt"
 lm32_pic_lower_irq(void) "Lower CPU interrupt"
 lm32_pic_interrupt(int irq, int level) "Set IRQ%d %d"
@@ -357,28 +410,36 @@ lm32_pic_set_im(uint32_t im) "im 0x%08x"
 lm32_pic_set_ip(uint32_t ip) "ip 0x%08x"
 lm32_pic_get_im(uint32_t im) "im 0x%08x"
 lm32_pic_get_ip(uint32_t ip) "ip 0x%08x"
+# group_end
 
 # hw/lm32_juart.c
+# group_start:lm32_juart
 lm32_juart_get_jtx(uint32_t value) "jtx 0x%08x"
 lm32_juart_set_jtx(uint32_t value) "jtx 0x%08x"
 lm32_juart_get_jrx(uint32_t value) "jrx 0x%08x"
 lm32_juart_set_jrx(uint32_t value) "jrx 0x%08x"
+# group_end
 
 # hw/lm32_timer.c
+# group_start:lm32_timer
 lm32_timer_memory_write(uint32_t addr, uint32_t value) "addr 0x%08x value 
0x%08x"
 lm32_timer_memory_read(uint32_t addr, uint32_t value) "addr 0x%08x value 
0x%08x"
 lm32_timer_hit(void) "timer hit"
 lm32_timer_irq_state(int level) "irq state %d"
+# group_end
 
 # hw/lm32_uart.c
+# group_start:lm32_uart
 lm32_uart_memory_write(uint32_t addr, uint32_t value) "addr 0x%08x value 
0x%08x"
 lm32_uart_memory_read(uint32_t addr, uint32_t value) "addr 0x%08x value 0x%08x"
 lm32_uart_irq_state(int level) "irq state %d"
+# group_end
 
 # hw/lm32_sys.c
 lm32_sys_memory_write(uint32_t addr, uint32_t value) "addr 0x%08x value 0x%08x"
 
 # hw/milkymist-ac97.c
+# group_start:milkymist-ac97
 milkymist_ac97_memory_read(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 milkymist_ac97_memory_write(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 milkymist_ac97_pulse_irq_crrequest(void) "Pulse IRQ CR request"
@@ -389,16 +450,22 @@ milkymist_ac97_in_cb(int avail, uint32_t remaining) 
"avail %d remaining %u"
 milkymist_ac97_in_cb_transferred(int transferred) "transferred %d"
 milkymist_ac97_out_cb(int free, uint32_t remaining) "free %d remaining %u"
 milkymist_ac97_out_cb_transferred(int transferred) "transferred %d"
+# group_end
 
 # hw/milkymist-hpdmc.c
+# group_start:milkymist-hpdmc
 milkymist_hpdmc_memory_read(uint32_t addr, uint32_t value) "addr=%08x 
value=%08x"
 milkymist_hpdmc_memory_write(uint32_t addr, uint32_t value) "addr=%08x 
value=%08x"
+# group_end
 
 # hw/milkymist-memcard.c
+# group_start:milkymist-memcard
 milkymist_memcard_memory_read(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 milkymist_memcard_memory_write(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
+# group_end
 
 # hw/milkymist-minimac2.c
+# group_start:milkymist-minimac2
 milkymist_minimac2_memory_read(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 milkymist_minimac2_memory_write(uint32_t addr, uint32_t value) "addr %08x 
value %08x"
 milkymist_minimac2_mdio_write(uint8_t phy_addr, uint8_t addr, uint16_t value) 
"phy_addr %02x addr %02x value %04x"
@@ -410,22 +477,28 @@ milkymist_minimac2_rx_transfer(const void *buf, uint32_t 
length) "buf %p length
 milkymist_minimac2_raise_irq_rx(void) "Raise IRQ RX"
 milkymist_minimac2_lower_irq_rx(void) "Lower IRQ RX"
 milkymist_minimac2_pulse_irq_tx(void) "Pulse IRQ TX"
+# group_end
 
 # hw/milkymist-pfpu.c
+# group_start:milkymist-pfpu
 milkymist_pfpu_memory_read(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 milkymist_pfpu_memory_write(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 milkymist_pfpu_vectout(uint32_t a, uint32_t b, uint32_t dma_ptr) "a %08x b 
%08x dma_ptr %08x"
 milkymist_pfpu_pulse_irq(void) "Pulse IRQ"
+# group_end
 
 # hw/milkymist-softusb.c
+# group_start:milkymist-softusb
 milkymist_softusb_memory_read(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 milkymist_softusb_memory_write(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 milkymist_softusb_mevt(uint8_t m) "m %d"
 milkymist_softusb_kevt(uint8_t m) "m %d"
 milkymist_softusb_mouse_event(int dx, int dy, int dz, int bs) "dx %d dy %d dz 
%d bs %02x"
 milkymist_softusb_pulse_irq(void) "Pulse IRQ"
+# group_end
 
 # hw/milkymist-sysctl.c
+# group_start:milkymist-sysctl
 milkymist_sysctl_memory_read(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 milkymist_sysctl_memory_write(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 milkymist_sysctl_icap_write(uint32_t value) "value %08x"
@@ -435,12 +508,15 @@ milkymist_sysctl_start_timer1(void) "Start timer1"
 milkymist_sysctl_stop_timer1(void) "Stop timer1"
 milkymist_sysctl_pulse_irq_timer0(void) "Pulse IRQ Timer0"
 milkymist_sysctl_pulse_irq_timer1(void) "Pulse IRQ Timer1"
+# group_end
 
 # hw/milkymist-tmu2.c
+# group_start:milkymist-tmu2
 milkymist_tmu2_memory_read(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 milkymist_tmu2_memory_write(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 milkymist_tmu2_start(void) "Start TMU"
 milkymist_tmu2_pulse_irq(void) "Pulse IRQ"
+# group_end
 
 # hw/milkymist-uart.c
 milkymist_uart_memory_read(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
@@ -453,22 +529,28 @@ milkymist_vgafb_memory_read(uint32_t addr, uint32_t 
value) "addr %08x value %08x
 milkymist_vgafb_memory_write(uint32_t addr, uint32_t value) "addr %08x value 
%08x"
 
 # hw/mipsnet.c
+# group_start:mipsnet
 mipsnet_send(uint32_t size) "sending len=%u"
 mipsnet_receive(uint32_t size) "receiving len=%u"
 mipsnet_read(uint64_t addr, uint32_t val) "read addr=0x%" PRIx64 " val=0x%x"
 mipsnet_write(uint64_t addr, uint64_t val) "write addr=0x%" PRIx64 " val=0x%" 
PRIx64 ""
 mipsnet_irq(uint32_t isr, uint32_t intctl) "set irq to %d (%02x)"
+# group_end
 
 # xen-all.c
+# group_start:xen-all
 xen_ram_alloc(unsigned long ram_addr, unsigned long size) "requested: %#lx, 
size %#lx"
 xen_client_set_memory(uint64_t start_addr, unsigned long size, unsigned long 
phys_offset, bool log_dirty) "%#"PRIx64" size %#lx, offset %#lx, log_dirty %i"
+# group_end
 
 # xen-mapcache.c
+# group_start:xen-mapcache
 xen_map_cache(uint64_t phys_addr) "want %#"PRIx64
 xen_remap_bucket(uint64_t index) "index %#"PRIx64
 xen_map_cache_return(void* ptr) "%p"
 xen_map_block(uint64_t phys_addr, uint64_t size) "%#"PRIx64", size %#"PRIx64
 xen_unmap_block(void* addr, unsigned long size) "%p, size %#lx"
+# group_end
 
 # exec.c
 qemu_put_ram_ptr(void* addr) "%p"
@@ -477,19 +559,24 @@ qemu_put_ram_ptr(void* addr) "%p"
 xen_platform_log(char *s) "xen platform: %s"
 
 # qemu-coroutine.c
+# group_start:coroutine
 qemu_coroutine_enter(void *from, void *to, void *opaque) "from %p to %p opaque 
%p"
 qemu_coroutine_yield(void *from, void *to) "from %p to %p"
 qemu_coroutine_terminate(void *co) "self %p"
+# group_end
 
 # qemu-coroutine-lock.c
+# group_start:coroutine-lock
 qemu_co_queue_next_bh(void) ""
 qemu_co_queue_next(void *next) "next %p"
 qemu_co_mutex_lock_entry(void *mutex, void *self) "mutex %p self %p"
 qemu_co_mutex_lock_return(void *mutex, void *self) "mutex %p self %p"
 qemu_co_mutex_unlock_entry(void *mutex, void *self) "mutex %p self %p"
 qemu_co_mutex_unlock_return(void *mutex, void *self) "mutex %p self %p"
+# group_end
 
 # hw/escc.c
+# group_start:escc
 escc_put_queue(char channel, int b) "channel %c put: 0x%02x"
 escc_get_queue(char channel, int val) "channel %c get 0x%02x"
 escc_update_irq(int irq) "IRQ = %d"
@@ -503,8 +590,10 @@ escc_sunkbd_event_in(int ch) "Untranslated keycode %2.2x"
 escc_sunkbd_event_out(int ch) "Translated keycode %2.2x"
 escc_kbd_command(int val) "Command %d"
 escc_sunmouse_event(int dx, int dy, int buttons_state) "dx=%d dy=%d 
buttons=%01x"
+# group_end
 
 # hw/esp.c
+# group_start:esp
 esp_raise_irq(void) "Raise IRQ"
 esp_lower_irq(void) "Lower IRQ"
 esp_dma_enable(void) "Raise enable"
@@ -534,12 +623,16 @@ esp_mem_writeb_cmd_sel(uint32_t val) "Select without ATN 
(%2.2x)"
 esp_mem_writeb_cmd_selatn(uint32_t val) "Select with ATN (%2.2x)"
 esp_mem_writeb_cmd_selatns(uint32_t val) "Select with ATN & stop (%2.2x)"
 esp_mem_writeb_cmd_ensel(uint32_t val) "Enable selection (%2.2x)"
+# group_end
 
 # monitor.c
+# group_start:monitor
 handle_qmp_command(void *mon, const char *cmd_name) "mon %p cmd_name \"%s\""
 monitor_protocol_emitter(void *mon) "mon %p"
+# group_end
 
 # hw/opencores_eth.c
+# group_start: opencores_eth
 open_eth_mii_write(unsigned idx, uint16_t v) "MII[%02x] <- %04x"
 open_eth_mii_read(unsigned idx, uint16_t v) "MII[%02x] -> %04x"
 open_eth_update_irq(uint32_t v) "IRQ <- %x"
@@ -552,3 +645,4 @@ open_eth_reg_read(uint32_t addr, uint32_t v) "MAC[%02x] -> 
%08x"
 open_eth_reg_write(uint32_t addr, uint32_t v) "MAC[%02x] <- %08x"
 open_eth_desc_read(uint32_t addr, uint32_t v) "DESC[%04x] -> %08x"
 open_eth_desc_write(uint32_t addr, uint32_t v) "DESC[%04x] <- %08x"
+# group_end
-- 
1.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]