mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
util/vfio-helpers: Trace PCI I/O config accesses
We sometime get kernel panic with some devices on Aarch64 hosts. Alex Williamson suggests it might be broken PCIe root complex. Add trace event to record the latest I/O access before crashing. In case, assert our accesses are aligned. Reviewed-by: Fam Zheng <fam@euphon.net> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20201103020733.2303148-3-philmd@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Tested-by: Eric Auger <eric.auger@redhat.com>
This commit is contained in:
parent
a4bc212add
commit
3d87c2d943
2 changed files with 10 additions and 0 deletions
|
@ -227,6 +227,10 @@ static int qemu_vfio_pci_read_config(QEMUVFIOState *s, void *buf,
|
|||
{
|
||||
int ret;
|
||||
|
||||
trace_qemu_vfio_pci_read_config(buf, ofs, size,
|
||||
s->config_region_info.offset,
|
||||
s->config_region_info.size);
|
||||
assert(QEMU_IS_ALIGNED(s->config_region_info.offset + ofs, size));
|
||||
do {
|
||||
ret = pread(s->device, buf, size, s->config_region_info.offset + ofs);
|
||||
} while (ret == -1 && errno == EINTR);
|
||||
|
@ -237,6 +241,10 @@ static int qemu_vfio_pci_write_config(QEMUVFIOState *s, void *buf, int size, int
|
|||
{
|
||||
int ret;
|
||||
|
||||
trace_qemu_vfio_pci_write_config(buf, ofs, size,
|
||||
s->config_region_info.offset,
|
||||
s->config_region_info.size);
|
||||
assert(QEMU_IS_ALIGNED(s->config_region_info.offset + ofs, size));
|
||||
do {
|
||||
ret = pwrite(s->device, buf, size, s->config_region_info.offset + ofs);
|
||||
} while (ret == -1 && errno == EINTR);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue