|
From: | Hervé Poussineau |
Subject: | Re: [Qemu-ppc] [Qemu-devel] [PATCH v2 4/6] prep: move int-ack register from PReP to Raven PCI emulation |
Date: | Sat, 28 Apr 2012 22:29:05 +0200 |
User-agent: | Thunderbird 2.0.0.23 (Windows/20090812) |
Andreas Färber a écrit :
Am 14.04.2012 22:48, schrieb Hervé Poussineau:Register is one byte-wide (as per specification), so there is no need to specify endianness.The region was 4 bytes before, now it's 1. What happens when a 4-byte read is attempted at that address? Do we need to specify the valid widths for the MemoryRegion? Or is such a read constructed from this region and (assuming) the return value of an unassigned read?
At first, Linux and IBM 40p firmware only attempt a 1-byte read to this address. In the case a 4-byte read is attempted to address 0xbffffff0, memory region layer will still call ppc_intack_read() function with size=4.
However, by changing region size from 4 to 1, you prevent direct readsof 0xbffffff1..0xbffffff3, which I think is not a big loss (and is closer to specification).
diff --git a/hw/prep_pci.c b/hw/prep_pci.c index 8b29da9..43847f5 100644 --- a/hw/prep_pci.c +++ b/hw/prep_pci.c @@ -25,10 +25,12 @@ #include "hw.h" #include "pci.h" #include "pci_host.h" +#include "pc.h"Is that for pic_read_irq()?
Yes. All i8259-related functions are declared in pc.h Hervé
[Prev in Thread] | Current Thread | [Next in Thread] |