On Tue, Feb 09, 2010 at 05:37:00PM +0100, Alexander Graf wrote: > I'm trying to get the PPC64 system emulation target working finally. > While doing so, I ran into several issues, most related to PCI this time. > > This patchset fixes all the PCI config space access and PCI interrupt > mapping issues I've found on PPC64. Using this and a patched OpenBIOS > version, I can successfully access IDE devices and was booting a guest > into the shell from IDE using serial console. > > To leverage this patch, you also need a few patches to OpenBIOS. I'll > present them to the OpenBIOS list, but in general getting patches into > Qemu is harder than getting them into OpenBIOS. So I want to wait for > the review process here first. > > Find the OpenBIOS patch at: http://alex.csgraf.de/openbios-ppc-u3.patch > > WARNING: This patchset is based on top of mst's rwhandler patches. You > can find those here: > > git://git.kernel.org/pub/scm/linux/kernel/git/mst/qemu.git >
So, I put this whole patchset onto my pci tree. Not that I intend to maintain ppc - just to simplify the dependencies for the specific patchset. Waiting for ack from people who have more of a clue about ppc. > v1 -> v2: > > - use decoding function for config space bits > - merge config space data access functions > - introduce encoding function for x86 style encodings > - convert Uninorth to use config space decoder > > v2 -> v3: > > - call pci_addr_to_devfn pci_addr_to_config_reg > - split out debug fix > - call convert functions config_addr instead of config_reg > - no spaces between braces > - dropped: Enable secondary cmd64x > - new: Tell the guest about the time base frequency > - new: Use macio IDE controller for Newworld > - new: Get rid of segfaults in DBDMA emulation > - new: Add USB per default on U3 > > v3 -> v4: > > - fix fgets warning > - use self-contained config space data functions > - use mst's rwhandler > - move lspci output up > - new: Fix large pages > - new: Add timer when running KVM > > Alexander Graf (10): > PPC: Uninorth config space accessor > PPC: Use Mac99_U3 type on ppc64 > PPC: Include dump of lspci -nn on real G5 > PPC: Make interrupts work > PPC: tell the guest about the time base frequency > PPC: Use macio IDE controller for Newworld > PPC: Get rid of segfaults in DBDMA emulation > PPC: Add USB per default on U3 > PPC: Fix large pages > PPC: Add timer when running KVM > > hw/mac_dbdma.c | 10 ++- > hw/pci_ids.h | 1 + > hw/ppc.h | 2 + > hw/ppc_mac.h | 1 + > hw/ppc_newworld.c | 73 +++++++++++++++++++++--- > hw/ppc_oldworld.c | 9 +++ > hw/unin_pci.c | 151 ++++++++++++++++++++++++++++++++++++++++++++++++- > target-ppc/helper.c | 9 +-- > target-ppc/kvm.c | 70 +++++++++++++++++++++++ > target-ppc/kvm_ppc.h | 2 + > 10 files changed, 308 insertions(+), 20 deletions(-)