Skip to content

RFC Beginning implementing the AMD IOMMU emulation

Eduard - Gabriel Munteanu kvm qemu-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest7 patches 9 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7acpi: qemu_realloc() might return a different pointerhw/acpi.c+4 -30 replies
2/7acpi: split and rename acpi_table_add()hw/acpi.c hw/pc.h vl.c+46 -240 replies
3/7acpi: move table header definition into pc.hhw/acpi.c hw/pc.h+13 -130 replies
4/7sparc: rename hw/iommu.cMakefile.target hw/sparc_iommu.c hw/sun4m.h+2 -25 replies
5/7x86-64: AMD IOMMU stubMakefile.target hw/amd_iommu.c hw/pc.c +1 more+109 -01 reply
6/7acpi: cleanup acpi_checksum()hw/acpi.c+2 -00 replies
7/7acpi: fix bug in acpi_checksum() caused by garbage in checksum fieldhw/acpi.c+5 -01 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC PATCH 0/7] Beginning implementing the AMD IOMMU emulation

Hi everybody,

This patchset is intended to provide a start for implementing the emulation of the AMD IOMMU. For those who aren't aware yet, I intend to participate as a student in GSoC 2010.

The patches are meant to be applied on top of qemu-kvm.

In short, this demonstrates a mechanism of inserting ACPI tables without modifying SeaBIOS or other BIOS implementations. I also have a SeaBIOS equivalent, but I think this approach is better, at least at the moment.

To test, simply boot a Linux kernel inside KVM and look in dmesg for the IVRS table.

I wouldn't merge this patchset yet, at least stuff after the first patch, until it accumulates more work. I also didn't test loading ACPI tables from the command line after these modifications.

I'd appreciate comments on these patches.

Cheers,
Eduard

Eduard - Gabriel Munteanu (7):
acpi: qemu_realloc() might return a different pointer
acpi: split and rename acpi_table_add()
acpi: move table header definition into pc.h
sparc: rename hw/iommu.c
x86-64: AMD IOMMU stub
acpi: cleanup acpi_checksum()
acpi: fix bug in acpi_checksum() caused by garbage in checksum field

 Makefile.target               |    3 +-
 hw/acpi.c                     |   83 +++++++++++++++++++-------------
 hw/amd_iommu.c                |  103 +++++++++++++++++++++++++++++++++++++++++
 hw/pc.c                       |    2 +
 hw/pc.h                       |   20 ++++++++-
 hw/{iommu.c => sparc_iommu.c} |    0
 hw/sun4m.h                    |    2 +-
 vl.c                          |    2 +-
 8 files changed, 177 insertions(+), 38 deletions(-)
 create mode 100644 hw/amd_iommu.c
 rename hw/{iommu.c => sparc_iommu.c} (100%)