[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/10] Fix versatile_pci (and break versatilepb
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH 00/10] Fix versatile_pci (and break versatilepb linux guests!) |
Date: |
Sun, 24 Mar 2013 16:58:37 +0100 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Sun, Mar 24, 2013 at 11:32:30AM +0000, Peter Maydell wrote:
> This patch series fixes a number of serious bugs in our emulation of
> the PCI controller found on VersatilePB and the early Realview boards:
> * our interrupt mapping was totally wrong
> * we weren't implementing the PCI memory windows
> * the I/O window wasn't mapped on VersatilePB
> * realview mapped things at the wrong addresses
> * we didn't implement the controller's registers at all
> It also updates to some reasonable approximation to QOM best practice,
> including subclassing pci_host rather than doing everything by hand.
>
> I haven't implemented support for the SMAP registers (which control
> how the controller converts accesses made by bus-mastering PCI
> devices into system addresses). For the moment we rely on the fact
> that Linux always maps things 1:1. (It wouldn't be too hard to add
> SMAP support but it requires changing QEMU's pci code to allow a
> controller to pass in a MemoryRegion* for DMA to use instead of
> the system address space, so I prefer to leave that for another series.)
>
> Patchset tested on both versatilepb and realview, using a set of
> Linux kernel patches written by Arnd Bergmann:
> http://lists.infradead.org/pipermail/linux-arm-kernel/2010-October/029040.html
> which were in turn tested against real PB926 and PB1176 hardware.
>
>
> * WARNING WARNING *
>
> This patchset will break any use of PCI (including the default SCSI
> card) on versatilepb with current Linux kernels, because those kernels
Do you mean Versatile/PB and not Versatile/AB, or actually both?
> have the matching bug in interrupt mapping to old QEMU.
How is real hardware working with this bug?
> I've provided a property for enabling the old broken IRQ mapping;
> this can be enabled with the command line option:
> -global versatile_pci.broken-irq-mapping=1
>
> (If anybody wants to suggest a better way of handling this please do.)
Do you have a pointer to the corresponding kernel patch? Is it possible
to get the kernel to detect if it should use the correct or the broken
IRQ mapping?
> Peter Maydell (10):
> versatile_pci: Fix hardcoded tabs
> versatile_pci: Expose PCI I/O region on Versatile PB
> versatile_pci: Update to realize and instance init functions
> versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE
> versatile_pci: Use separate PCI I/O space rather than system I/O space
> versatile_pci: Put the host bridge PCI device at slot 29
> versatile_pci: Implement the correct PCI IRQ mapping
> versatile_pci: Implement the PCI controller's control registers
> arm/realview: Fix mapping of PCI regions
> versatile_pci: Expose PCI memory space to system
>
> hw/arm/realview.c | 22 +--
> hw/arm/versatilepb.c | 11 +-
> hw/versatile_pci.c | 368
> ++++++++++++++++++++++++++++++++++++++++++++------
> 3 files changed, 344 insertions(+), 57 deletions(-)
>
> --
> 1.7.9.5
>
>
>
--
Aurelien Jarno GPG: 1024D/F1BCDB73
address@hidden http://www.aurel32.net
- [Qemu-devel] [PATCH 09/10] arm/realview: Fix mapping of PCI regions, (continued)
- [Qemu-devel] [PATCH 09/10] arm/realview: Fix mapping of PCI regions, Peter Maydell, 2013/03/24
- [Qemu-devel] [PATCH 08/10] versatile_pci: Implement the PCI controller's control registers, Peter Maydell, 2013/03/24
- [Qemu-devel] [PATCH 06/10] versatile_pci: Put the host bridge PCI device at slot 29, Peter Maydell, 2013/03/24
- [Qemu-devel] [PATCH 03/10] versatile_pci: Update to realize and instance init functions, Peter Maydell, 2013/03/24
- [Qemu-devel] [PATCH 07/10] versatile_pci: Implement the correct PCI IRQ mapping, Peter Maydell, 2013/03/24
- [Qemu-devel] [PATCH 05/10] versatile_pci: Use separate PCI I/O space rather than system I/O space, Peter Maydell, 2013/03/24
- [Qemu-devel] [PATCH 04/10] versatile_pci: Change to subclassing TYPE_PCI_HOST_BRIDGE, Peter Maydell, 2013/03/24
- Re: [Qemu-devel] [PATCH 00/10] Fix versatile_pci (and break versatilepb linux guests!),
Aurelien Jarno <=
- Re: [Qemu-devel] [PATCH 00/10] Fix versatile_pci (and break versatilepb linux guests!), Peter Maydell, 2013/03/24
- Re: [Qemu-devel] [PATCH 00/10] Fix versatile_pci (and break versatilepb linux guests!), Michael S. Tsirkin, 2013/03/24
- Re: [Qemu-devel] [PATCH 00/10] Fix versatile_pci (and break versatilepb linux guests!), Michael S. Tsirkin, 2013/03/24
- Re: [Qemu-devel] [PATCH 00/10] Fix versatile_pci (and break versatilepb linux guests!), Arnd Bergmann, 2013/03/24
- Re: [Qemu-devel] [PATCH 00/10] Fix versatile_pci (and break versatilepb linux guests!), Peter Maydell, 2013/03/25