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

Eduard - Gabriel Munteanu
2010-03-30T08:20:24Z

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%)