From: Sheldon <shaohef@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1/6] trace: Make "tracetool" generate a group list
Date: Fri, 14 Oct 2011 09:48:48 +0800 [thread overview]
Message-ID: <4E979500.3060409@linux.vnet.ibm.com> (raw)
In-Reply-To: <1318439659-7525-2-git-send-email-wudxw@linux.vnet.ibm.com>
git apply fails. details as follow:
error: patch failed: trace-events:51
error: trace-events: patch does not apply
Tested-by ShaoHe Feng <shaohef@linux.vnet.ibm.com>
On 10/13/2011 01:14 AM, Mark Wu wrote:
> Each trace events group starts with a line containing "group_start:
> GroupName" and end with a line containing "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<wudxw@linux.vnet.ibm.com>
> ---
> scripts/tracetool | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++-
> trace-events | 88 +++++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 180 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/tracetool b/scripts/tracetool
> index 4c9951d..3b4ca41 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 a31d9aa..cbd4b58 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
> 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"
> bdrv_aio_multiwrite_earlyfail(void *mcb) "mcb %p"
> @@ -67,26 +74,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(int is_write, void *acb) "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
> @@ -97,18 +112,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"
> @@ -127,12 +148,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"
> @@ -145,8 +170,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"
> @@ -166,8 +193,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
> @@ -181,8 +210,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"
> @@ -193,14 +224,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
> @@ -209,14 +244,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"
> @@ -236,8 +275,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"
> @@ -247,8 +288,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"
> @@ -272,8 +315,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"
> @@ -286,10 +331,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"
> @@ -313,6 +360,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"
> @@ -339,16 +387,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"
> @@ -356,28 +409,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"
> @@ -388,16 +449,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"
> @@ -409,22 +476,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"
> @@ -434,12 +507,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"
> @@ -452,22 +528,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"
> @@ -476,19 +558,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"
> @@ -502,3 +589,4 @@ 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
next prev parent reply other threads:[~2011-10-14 1:49 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-12 17:14 [Qemu-devel] [PATCH 0/6] trace: Add support for trace events grouping Mark Wu
2011-10-12 17:14 ` [Qemu-devel] [PATCH 1/6] trace: Make "tracetool" generate a group list Mark Wu
2011-10-14 1:48 ` Sheldon [this message]
2011-10-12 17:14 ` [Qemu-devel] [PATCH 2/6] trace: Add HMP monitor commands for trace events group Mark Wu
2011-10-12 17:14 ` [Qemu-devel] [PATCH 3/6] trace: Add trace events group implementation in the backend "simple" Mark Wu
2011-10-12 20:46 ` Ryan Harper
2011-10-12 17:14 ` [Qemu-devel] [PATCH 4/6] trace: Add trace events group implementation in the backend "stderr" Mark Wu
2011-10-12 17:14 ` [Qemu-devel] [PATCH 5/6] trace: Enable "-trace events" argument to control initial state of groups Mark Wu
2011-10-12 17:14 ` [Qemu-devel] [PATCH 6/6] trace: Update doc for trace events group Mark Wu
2011-10-13 8:10 ` [Qemu-devel] [PATCH 0/6] trace: Add support for trace events grouping Mark Wu
2011-10-14 12:16 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E979500.3060409@linux.vnet.ibm.com \
--to=shaohef@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.