hw/acpi/generic_event_device.c | 30 +++++++ hw/acpi/ghes.c | 160 +++++++++++++++++++++++++++++---- hw/arm/virt-acpi-build.c | 33 ++++++- hw/core/machine.c | 2 + include/hw/acpi/ghes.h | 23 +++-- 5 files changed, 220 insertions(+), 28 deletions(-)
This series was part of the previous PR to add generic error injection support on GHES. It depends on a cleanup patch series sent earlier today: https://lore.kernel.org/qemu-devel/cover.1733297707.git.mchehab+huawei@kernel.org/T/#t It contains the changes of the math used to calculate offsets at HEST table and hardware_error firmware file. It prepares for the addition of GHES error injection. The first patch was previously at the cleanup series. It prepares the logic to support multiple sources. The second patch adds a new firmware file to store HEST address. The third patch use the new firmware to calculate offsets using HEST table. Patches 4 and 5 add migration support. They assume that this series will be merged for qemu 9.2 (maybe it is too late for that, as QEMU is now on soft freeze). I tested migration using both virt-9.1 and virt-9.2 machines on qemu 9.2. I also tested migration with: qemu-9.1 -M virt-9.1 -cpu cortex-a57 => qemu-9.2 -M virt-9.1 -cpu cortex-a57 qemu-9.2 -M virt-9.1 -cpu cortex-a57 => qemu-9.1 -M virt-9.1 -cpu cortex-a57 The full qemu command when test backward-compatibility when running virt-9.1 is: ~/qemu/build/qemu-system-aarch64 \ -m 4g,maxmem=8G,slots=8 -monitor stdio -no-reboot -bios ~/emulator/QEMU_EFI-silent.fd -kernel~/kernel/arm64_build/arch/arm64/boot/Image.gz -device pcie-root-port,id=root_port1 -device virtio-blk-pci,drive=hd -device virtio-net-pci,netdev=mynet,id=bob -drive if=none,file=~/emulator/debian.qcow2,format=qcow2,id=hd -object memory-backend-ram,size=4G,id=mem0 -netdev type=user,id=mynet,hostfwd=tcp::5555-:22 -qmp tcp:localhost:4445,server=on,wait=off -M virt-9.1,nvdimm=on,gic-version=3,ras=on -cpu max -smp 4 -numa node,nodeid=0,cpus=0-3,memdev=mem0 -append 'earlycon nomodeset root=/dev/vda1 fsck.mode=skip tp_printk maxcpus=4' (I actually call it from two different directories, one with qemu-9.1 and the other one with qemu-9.2. For tests on qemu-9.2 with virt-9.2, I used a similar command: ~/qemu/build/qemu-system-aarch64 -m 4g,maxmem=8G,slots=8 -monitor stdio -no-reboot -bios ~/emulator/QEMU_EFI-silent.fd -kernel ~/kernel/arm64_build/arch/arm64/boot/Image.gz -device pcie-root-port,id=root_port1 -device virtio-blk-pci,drive=hd -device virtio-net-pci,netdev=mynet,id=bob -drive if=none,file=~/emulator/debian.qcow2,format=qcow2,id=hd -object memory-backend-ram,size=4G,id=mem0 -netdev type=user,id=mynet,hostfwd=tcp::5555-:22 -qmp tcp:localhost:4445,server=on,wait=off -M virt-9.2,nvdimm=on,gic-version=3,ras=on -cpu max -smp 4 -numa node,nodeid=0,cpus=0-3,memdev=mem0 -append 'earlycon nomodeset root=/dev/vda1 fsck.mode=skip tp_printk maxcpus=4' --- v3: did some minor cleanups at the code, as suggested by Jonathan Cameron. v2: - some whitespace and comment changes - patch 3/6 (acpi/ghes: rename the function which gets hw error offsets) was merged on the cleanup series. Mauro Carvalho Chehab (5): acpi/ghes: Prepare to support multiple sources on ghes acpi/ghes: add a firmware file with HEST address acpi/ghes: Use HEST table offsets when preparing GHES records acpi/generic_event_device: Update GHES migration to cover hest addr acpi/generic_event_device: add logic to detect if HEST addr is available hw/acpi/generic_event_device.c | 30 +++++++ hw/acpi/ghes.c | 160 +++++++++++++++++++++++++++++---- hw/arm/virt-acpi-build.c | 33 ++++++- hw/core/machine.c | 2 + include/hw/acpi/ghes.h | 23 +++-- 5 files changed, 220 insertions(+), 28 deletions(-) -- 2.47.1
On Wed, Dec 04, 2024 at 04:57:54PM +0100, Mauro Carvalho Chehab wrote: > This series was part of the previous PR to add generic error injection > support on GHES. It depends on a cleanup patch series sent earlier > today: > > https://lore.kernel.org/qemu-devel/cover.1733297707.git.mchehab+huawei@kernel.org/T/#t > > It contains the changes of the math used to calculate offsets at HEST table > and hardware_error firmware file. It prepares for the addition of GHES > error injection. > > The first patch was previously at the cleanup series. It prepares > the logic to support multiple sources. > > The second patch adds a new firmware file to store HEST address. > > The third patch use the new firmware to calculate offsets using > HEST table. > > Patches 4 and 5 add migration support. They assume that this > series will be merged for qemu 9.2 (maybe it is too late for that, > as QEMU is now on soft freeze). > > I tested migration using both virt-9.1 and virt-9.2 machines > on qemu 9.2. So this needs a rebase to the next release. Thanks! > I also tested migration with: > > qemu-9.1 -M virt-9.1 -cpu cortex-a57 => qemu-9.2 -M virt-9.1 -cpu cortex-a57 > qemu-9.2 -M virt-9.1 -cpu cortex-a57 => qemu-9.1 -M virt-9.1 -cpu cortex-a57 > > The full qemu command when test backward-compatibility when running virt-9.1 is: > > > ~/qemu/build/qemu-system-aarch64 \ > -m 4g,maxmem=8G,slots=8 -monitor stdio -no-reboot -bios ~/emulator/QEMU_EFI-silent.fd -kernel~/kernel/arm64_build/arch/arm64/boot/Image.gz -device pcie-root-port,id=root_port1 -device virtio-blk-pci,drive=hd -device virtio-net-pci,netdev=mynet,id=bob -drive if=none,file=~/emulator/debian.qcow2,format=qcow2,id=hd -object memory-backend-ram,size=4G,id=mem0 -netdev type=user,id=mynet,hostfwd=tcp::5555-:22 -qmp tcp:localhost:4445,server=on,wait=off -M virt-9.1,nvdimm=on,gic-version=3,ras=on -cpu max -smp 4 -numa node,nodeid=0,cpus=0-3,memdev=mem0 -append 'earlycon nomodeset root=/dev/vda1 fsck.mode=skip tp_printk maxcpus=4' > > (I actually call it from two different directories, one with qemu-9.1 and the other one with qemu-9.2. > > For tests on qemu-9.2 with virt-9.2, I used a similar command: > > ~/qemu/build/qemu-system-aarch64 -m 4g,maxmem=8G,slots=8 -monitor stdio -no-reboot -bios ~/emulator/QEMU_EFI-silent.fd -kernel ~/kernel/arm64_build/arch/arm64/boot/Image.gz -device pcie-root-port,id=root_port1 -device virtio-blk-pci,drive=hd -device virtio-net-pci,netdev=mynet,id=bob -drive if=none,file=~/emulator/debian.qcow2,format=qcow2,id=hd -object memory-backend-ram,size=4G,id=mem0 -netdev type=user,id=mynet,hostfwd=tcp::5555-:22 -qmp tcp:localhost:4445,server=on,wait=off -M virt-9.2,nvdimm=on,gic-version=3,ras=on -cpu max -smp 4 -numa node,nodeid=0,cpus=0-3,memdev=mem0 -append 'earlycon nomodeset root=/dev/vda1 fsck.mode=skip tp_printk maxcpus=4' > > --- > > v3: did some minor cleanups at the code, as suggested by Jonathan Cameron. > > v2: > - some whitespace and comment changes > - patch 3/6 (acpi/ghes: rename the function which gets hw error offsets) > was merged on the cleanup series. > > Mauro Carvalho Chehab (5): > acpi/ghes: Prepare to support multiple sources on ghes > acpi/ghes: add a firmware file with HEST address > acpi/ghes: Use HEST table offsets when preparing GHES records > acpi/generic_event_device: Update GHES migration to cover hest addr > acpi/generic_event_device: add logic to detect if HEST addr is > available > > hw/acpi/generic_event_device.c | 30 +++++++ > hw/acpi/ghes.c | 160 +++++++++++++++++++++++++++++---- > hw/arm/virt-acpi-build.c | 33 ++++++- > hw/core/machine.c | 2 + > include/hw/acpi/ghes.h | 23 +++-- > 5 files changed, 220 insertions(+), 28 deletions(-) > > -- > 2.47.1 >
Em Wed, 8 Jan 2025 09:08:51 -0500 "Michael S. Tsirkin" <mst@redhat.com> escreveu: > On Wed, Dec 04, 2024 at 04:57:54PM +0100, Mauro Carvalho Chehab wrote: > > This series was part of the previous PR to add generic error injection > > support on GHES. It depends on a cleanup patch series sent earlier > > today: > > > > https://lore.kernel.org/qemu-devel/cover.1733297707.git.mchehab+huawei@kernel.org/T/#t > > > > It contains the changes of the math used to calculate offsets at HEST table > > and hardware_error firmware file. It prepares for the addition of GHES > > error injection. > > > > The first patch was previously at the cleanup series. It prepares > > the logic to support multiple sources. > > > > The second patch adds a new firmware file to store HEST address. > > > > The third patch use the new firmware to calculate offsets using > > HEST table. > > > > Patches 4 and 5 add migration support. They assume that this > > series will be merged for qemu 9.2 (maybe it is too late for that, > > as QEMU is now on soft freeze). > > > > I tested migration using both virt-9.1 and virt-9.2 machines > > on qemu 9.2. > > So this needs a rebase to the next release. Thanks! Sure, I'll do the rebase today. What about the preparation patch series, from where this one is placed on the top: https://lore.kernel.org/qemu-devel/cover.1733297707.git.mchehab+huawei@kernel.org/T/#m3b56bbe7bd400369f9e38b56faf4e65e64069955 Could you merge it? It should apply cleanly on https://gitlab.com/qemu-project/qemu.git master and it doesn't contain any migration stuff on it. Thanks, Mauro
© 2016 - 2025 Red Hat, Inc.