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
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
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 reads
of 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
@@ -25,10 +25,12 @@
Is that for pic_read_irq()?
Yes. All i8259-related functions are declared in pc.h