[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/5] log: Add log for each modules
From: |
Peng Liang |
Subject: |
[PATCH 2/5] log: Add log for each modules |
Date: |
Thu, 6 Aug 2020 17:37:17 +0800 |
Add log for each modules.
Signed-off-by: Peng Liang <liangpeng10@huawei.com>
---
accel/kvm/kvm-all.c | 5 ++++-
hw/pci/pci.c | 1 +
hw/usb/host-libusb.c | 5 +++++
hw/virtio/virtio-pci.c | 2 ++
hw/virtio/virtio-scsi-pci.c | 3 +++
hw/virtio/virtio.c | 13 +++++++++++--
monitor/monitor.c | 9 +++++++++
monitor/qmp-cmds.c | 2 ++
os-posix.c | 1 +
qapi/qmp-dispatch.c | 17 +++++++++++++++++
qdev-monitor.c | 6 ++++++
11 files changed, 61 insertions(+), 3 deletions(-)
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 63ef6af9a1..f23e82a67d 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -1427,7 +1427,10 @@ void kvm_irqchip_commit_routes(KVMState *s)
s->irq_routes->flags = 0;
trace_kvm_irqchip_commit_routes();
ret = kvm_vm_ioctl(s, KVM_SET_GSI_ROUTING, s->irq_routes);
- assert(ret == 0);
+ if (ret < 0) {
+ error_report("Set GSI routing failed");
+ abort();
+ }
}
static void kvm_add_routing_entry(KVMState *s,
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index de0fae10ab..9132049f82 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -2365,6 +2365,7 @@ static void pci_add_option_rom(PCIDevice *pdev, bool
is_default_rom,
} else {
snprintf(name, sizeof(name), "%s.rom",
object_get_typename(OBJECT(pdev)));
}
+ info_report("add rom file: %s", name);
pdev->has_rom = true;
memory_region_init_rom(&pdev->rom, OBJECT(pdev), name, size, &error_fatal);
ptr = memory_region_get_ram_ptr(&pdev->rom);
diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c
index c474551d84..c3b85b7b2d 100644
--- a/hw/usb/host-libusb.c
+++ b/hw/usb/host-libusb.c
@@ -904,6 +904,8 @@ static int usb_host_open(USBHostDevice *s, libusb_device
*dev, int hostfd)
rc = libusb_open(dev, &s->dh);
if (rc != 0) {
+ info_report("libusb open usb device bus %d, device %d failed",
+ bus_num, addr);
goto fail;
}
} else {
@@ -931,6 +933,7 @@ static int usb_host_open(USBHostDevice *s, libusb_device
*dev, int hostfd)
libusb_get_device_descriptor(dev, &s->ddesc);
usb_host_get_port(s->dev, s->port, sizeof(s->port));
+ info_report("open a host usb device on bus %d, device %d", bus_num, addr);
usb_ep_init(udev);
usb_host_ep_update(s);
@@ -1016,6 +1019,8 @@ static int usb_host_close(USBHostDevice *s)
usb_device_detach(udev);
}
+ info_report("begin to reset the usb device, bus : %d,"
+ " device : %d", s->bus_num, s->addr);
usb_host_release_interfaces(s);
libusb_reset_device(s->dh);
usb_host_attach_kernel(s);
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index ccdf54e81c..f688ded432 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -1708,7 +1708,9 @@ static void virtio_pci_device_unplugged(DeviceState *d)
VirtIOPCIProxy *proxy = VIRTIO_PCI(d);
bool modern = virtio_pci_modern(proxy);
bool modern_pio = proxy->flags & VIRTIO_PCI_FLAG_MODERN_PIO_NOTIFY;
+ VirtIODevice *vdev = virtio_bus_get_device(&proxy->bus);
+ info_report("device name: %s", !vdev ? "NULL" : vdev->name);
virtio_pci_stop_ioeventfd(proxy);
if (modern) {
diff --git a/hw/virtio/virtio-scsi-pci.c b/hw/virtio/virtio-scsi-pci.c
index c23a134202..b6285d2ffd 100644
--- a/hw/virtio/virtio-scsi-pci.c
+++ b/hw/virtio/virtio-scsi-pci.c
@@ -19,6 +19,7 @@
#include "hw/virtio/virtio-scsi.h"
#include "qemu/module.h"
#include "virtio-pci.h"
+#include "qemu/error-report.h"
typedef struct VirtIOSCSIPCI VirtIOSCSIPCI;
@@ -50,6 +51,8 @@ static void virtio_scsi_pci_realize(VirtIOPCIProxy *vpci_dev,
Error **errp)
DeviceState *proxy = DEVICE(vpci_dev);
char *bus_name;
+ info_report("virtio scsi HBA %s begin to initialize.",
+ !proxy->id ? "NULL" : proxy->id);
if (vpci_dev->nvectors == DEV_NVECTORS_UNSPECIFIED) {
vpci_dev->nvectors = vs->conf.num_queues + 3;
}
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index e983025217..f3568f5267 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -1957,7 +1957,13 @@ int virtio_set_status(VirtIODevice *vdev, uint8_t val)
k->set_status(vdev, val);
}
vdev->status = val;
-
+ if (val) {
+ info_report("%s device status is %d that means %s", vdev->name, val,
+ (val & VIRTIO_CONFIG_S_DRIVER_OK) ? "DRIVER OK" :
+ (val & VIRTIO_CONFIG_S_DRIVER) ? "DRIVER" :
+ (val & VIRTIO_CONFIG_S_ACKNOWLEDGE) ? "ACKNOWLEDGE" :
+ (val & VIRTIO_CONFIG_S_FAILED) ? "FAILED" : "UNKNOWN");
+ }
return 0;
}
@@ -2403,8 +2409,11 @@ VirtQueue *virtio_add_queue(VirtIODevice *vdev, int
queue_size,
break;
}
- if (i == VIRTIO_QUEUE_MAX || queue_size > VIRTQUEUE_MAX_SIZE)
+ if (i == VIRTIO_QUEUE_MAX || queue_size > VIRTQUEUE_MAX_SIZE) {
+ info_report("unacceptable queue_size (%d) or num (%d)",
+ queue_size, i);
abort();
+ }
vdev->vq[i].vring.num = queue_size;
vdev->vq[i].vring.num_default = queue_size;
diff --git a/monitor/monitor.c b/monitor/monitor.c
index b385a3d569..e57583dc10 100644
--- a/monitor/monitor.c
+++ b/monitor/monitor.c
@@ -30,6 +30,7 @@
#include "qapi/qapi-visit-control.h"
#include "qapi/qmp/qdict.h"
#include "qapi/qmp/qstring.h"
+#include "qapi/qmp/qjson.h"
#include "qemu/error-report.h"
#include "qemu/option.h"
#include "sysemu/qtest.h"
@@ -258,6 +259,7 @@ static void monitor_qapi_event_emit(QAPIEvent event, QDict
*qdict)
{
Monitor *mon;
MonitorQMP *qmp_mon;
+ QString *json;
trace_monitor_protocol_event_emit(event, qdict);
QTAILQ_FOREACH(mon, &mon_list, entry) {
@@ -268,6 +270,13 @@ static void monitor_qapi_event_emit(QAPIEvent event, QDict
*qdict)
qmp_mon = container_of(mon, MonitorQMP, common);
if (qmp_mon->commands != &qmp_cap_negotiation_commands) {
qmp_send_response(qmp_mon, qdict);
+ json = qobject_to_json(QOBJECT(qdict));
+ if (json) {
+ if (!strstr(json->string, "RTC_CHANGE")) {
+ info_report("%s", qstring_get_str(json));
+ }
+ qobject_unref(json);
+ }
}
}
}
diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c
index 864cbfa32e..4a7869512d 100644
--- a/monitor/qmp-cmds.c
+++ b/monitor/qmp-cmds.c
@@ -155,8 +155,10 @@ void qmp_cont(Error **errp)
}
if (runstate_check(RUN_STATE_INMIGRATE)) {
+ info_report("qmp cont is received in migration");
autostart = 1;
} else {
+ info_report("qmp cont is received and vm is started");
vm_start();
}
}
diff --git a/os-posix.c b/os-posix.c
index 3572db3f44..ec7f3ea542 100644
--- a/os-posix.c
+++ b/os-posix.c
@@ -343,6 +343,7 @@ int os_mlock(void)
#ifdef HAVE_MLOCKALL
int ret = 0;
+ info_report("do mlockall");
ret = mlockall(MCL_CURRENT | MCL_FUTURE);
if (ret < 0) {
error_report("mlockall: %s", strerror(errno));
diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c
index 79347e0864..35bc9b0c24 100644
--- a/qapi/qmp-dispatch.c
+++ b/qapi/qmp-dispatch.c
@@ -18,6 +18,8 @@
#include "qapi/qmp/qjson.h"
#include "sysemu/runstate.h"
#include "qapi/qmp/qbool.h"
+#include "qapi/qmp/qstring.h"
+#include "qemu/error-report.h"
static QDict *qmp_dispatch_check_obj(QDict *dict, bool allow_oob,
Error **errp)
@@ -96,6 +98,7 @@ QDict *qmp_dispatch(const QmpCommandList *cmds, QObject
*request,
const char *command;
QDict *args;
const QmpCommand *cmd;
+ QString *json;
QDict *dict;
QObject *id;
QObject *ret = NULL;
@@ -152,6 +155,20 @@ QDict *qmp_dispatch(const QmpCommandList *cmds, QObject
*request,
args = qdict_get_qdict(dict, "arguments");
qobject_ref(args);
}
+
+ json = qobject_to_json(QOBJECT(args));
+ if (json) {
+ if ((strcmp(command, "query-block-jobs") != 0)
+ && (strcmp(command, "query-migrate") != 0)
+ && (strcmp(command, "query-blockstats") != 0)
+ && (strcmp(command, "query-balloon") != 0)
+ && (strcmp(command, "set_password") != 0)) {
+ info_report("qmp_cmd_name: %s, arguments: %s",
+ command, qstring_get_str(json));
+ }
+ qobject_unref(json);
+ }
+
cmd->fn(args, &ret, &err);
qobject_unref(args);
if (err) {
diff --git a/qdev-monitor.c b/qdev-monitor.c
index e9b7228480..0b974046bd 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -619,6 +619,7 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **errp)
if (path != NULL) {
bus = qbus_find(path, errp);
if (!bus) {
+ info_report("can not find bus for %s", driver);
return NULL;
}
if (!object_dynamic_cast(OBJECT(bus), dc->bus_type)) {
@@ -669,6 +670,8 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **errp)
/* set properties */
if (qemu_opt_foreach(opts, set_property, dev, errp)) {
+ info_report("the bus %s -driver %s set property failed",
+ bus ? bus->name : "None", driver);
goto err_del_dev;
}
@@ -677,6 +680,9 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **errp)
dev->opts = NULL;
goto err_del_dev;
}
+ info_report("add qdev %s:%s success", driver,
+ qemu_opts_id(opts) ? qemu_opts_id(opts) : "none");
+
return dev;
err_del_dev:
--
2.18.4
- [PATCH 0/5] log: Add logs for some modules, Peng Liang, 2020/08/06
- [PATCH 3/5] log: Add more details to virtio_report in virtqueue_pop, Peng Liang, 2020/08/06
- [PATCH 1/5] log: Add logs for vm start and destroy, Peng Liang, 2020/08/06
- [PATCH 2/5] log: Add log for each modules,
Peng Liang <=
- [PATCH 4/5] log: Add log at boot & cpu init for aarch64, Peng Liang, 2020/08/06
- [PATCH 5/5] log: Add logs during qemu start, Peng Liang, 2020/08/06
- Re: [PATCH 0/5] log: Add logs for some modules, Daniel P . Berrangé, 2020/08/06