qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [Qemu-devel] [PATCH v2 4/6] prep: move int-ack register f


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 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
--- 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é




reply via email to

[Prev in Thread] Current Thread [Next in Thread]