[OpenBIOS] [Qemu-devel] [PATCH 0/9] PPC NewWorld fixery v3

Blue Swirl blauwirbel at gmail.com
Tue Jan 12 21:52:31 CET 2010


On Tue, Jan 12, 2010 at 8:34 PM, Alexander Graf <agraf at suse.de> wrote:
>
> On 12.01.2010, at 20:45, Blue Swirl wrote:
>
>> On Tue, Jan 12, 2010 at 11:58 AM, Alexander Graf <agraf at suse.de> wrote:
>>> I'm trying to get the PPC64 system emulation target working finally.
>>> While doing so, I ran into several issues, all 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
>>
>> About the OpenBIOS patch, could you move the PCI_INT_MAP defines to a
>> PPC-specific header and make pci_host_set_interrupt_map() contents
>> surrounded by #ifdef CONFIG_PPC (to make it empty function for other
>> arches)?
>
> Well, other archs should be able to use the same code. If OpenBIOS knows how interrupts work for a particular device, it really should tell the OS about it too IMHO.

I'm not so sure. Here's an example of a Sparc64 interrupt-map:

        Node 0xf005f9d4
            bus-range:  00000001.00000001
            scsi-initiator-id:  00000007
            compatible:  70636931.3038652c.35303030.00706369
            66mhz-capable:
            fast-back-to-back:
            devsel-speed:  00000001
            class-code:  00060400
            revision-id:  00000011
            device-id:  00005000
            vendor-id:  0000108e
            interrupt-map:
00010800.00000000.00000000.00000001.f005f1e0.00000021.00011000.00000000.00000000.00000001.f005f1e0.0000000f.00011800.00000000.00000000.00000001.f005f1e0.00000020
            interrupt-map-mask:  00fff800.00000000.00000000.00000007
            #interrupt-cells:  00000001
            slot-names:  00000000
            no-probe-list:  '0'
            clock-frequency:  01f78a40
            model:  'SUNW,simba'
            #address-cells:  00000003
            #size-cells:  00000002
            reg:  00000900.00000000.00000000.00000000.00000000
            device_type:  'pci'
            name:  'pci'



More information about the OpenBIOS mailing list