[SeaBIOS] [RFC PATCH 00/13] AMD IOMMU emulation patches, another try

Eduard - Gabriel Munteanu eduard.munteanu at linux360.ro
Wed Jun 1 03:38:22 CEST 2011


Again, sorry for taking so long, but I just don't send stuff without looking
through it. This is meant to go into Michael's PCI branch, if it does.

Some of the changes include:
    - some fixes (one thanks to David Gibson) and cleanups
    - macro magic for exporting clones of the DMA interface (e.g.
      pci_memory_read()); I hope it isn't too much a stretch
    - we use pci_memory_*() in most places where PCI devices are involved now
    - luckily we don't need unaligned accesses anymore
    - some attempt at signaling target aborts, but it doesn't seem like that
      stuff is completely implemented in the PCI layer / devices
    - PCI ids are defined in hw/amd_iommu.c until they get merged into Linux

Also, I can't answer every request that the API is extended for doing this and
that more comfortably. I understand there may be corner cases, but may I
suggest merging it (maybe into a separate branch related to mst's pci) so that
everybody can deal with it? This is still labeled RFC, but if you think it's
ready it can be merged.

I hope most of the important issues have been dealt with. I'll post the SeaBIOS
patches soon (though I think you can give it a spin with the old ones, if you
need). I'll also take care of submitting PCI ids to be merged into Linux.

In any case, let me know what you think. I hope I didn't forget to Cc someone.


Eduard - Gabriel Munteanu (13):
  Generic DMA memory access interface
  pci: add IOMMU support via the generic DMA layer
  AMD IOMMU emulation
  ide: use the DMA memory access interface for PCI IDE controllers
  rtl8139: use the DMA memory access interface
  eepro100: use the DMA memory access interface
  ac97: use the DMA memory access interface
  es1370: use the DMA memory access interface
  e1000: use the DMA memory access interface
  lsi53c895a: use the DMA memory access interface
  pcnet: use the DMA memory access interface
  usb-uhci: use the DMA memory access interface
  usb-ohci: use the DMA memory access interface

 Makefile.target    |    2 +-
 dma-helpers.c      |   23 ++-
 dma.h              |    4 +-
 hw/ac97.c          |    6 +-
 hw/amd_iommu.c     |  712 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 hw/dma_rw.c        |  155 ++++++++++++
 hw/dma_rw.h        |  217 ++++++++++++++++
 hw/e1000.c         |   27 ++-
 hw/eepro100.c      |   95 ++++----
 hw/es1370.c        |    4 +-
 hw/ide/ahci.c      |    3 +-
 hw/ide/internal.h  |    1 +
 hw/ide/macio.c     |    4 +-
 hw/ide/pci.c       |   18 +-
 hw/lsi53c895a.c    |   24 +-
 hw/pc.c            |    2 +
 hw/pci.c           |    7 +
 hw/pci.h           |    9 +
 hw/pci_internals.h |    1 +
 hw/pcnet-pci.c     |    5 +-
 hw/rtl8139.c       |   98 ++++----
 hw/usb-ohci.c      |   46 +++--
 hw/usb-uhci.c      |   26 +-
 23 files changed, 1324 insertions(+), 165 deletions(-)
 create mode 100644 hw/amd_iommu.c
 create mode 100644 hw/dma_rw.c
 create mode 100644 hw/dma_rw.h


More information about the SeaBIOS mailing list