[OpenBIOS] [PATCH 0/2] Sparc64: virtio-block and interrupt support

Artyom Tarasenko atar4qemu at gmail.com
Sun May 13 00:00:34 CEST 2012


On Sat, May 12, 2012 at 7:06 PM, Artyom Tarasenko <atar4qemu at gmail.com> wrote:
> On Sat, May 12, 2012 at 6:29 PM, Blue Swirl <blauwirbel at gmail.com> wrote:
>> On Sat, May 12, 2012 at 3:57 PM, Artyom Tarasenko <atar4qemu at gmail.com> wrote:
>>> On Sat, May 12, 2012 at 1:42 PM, Blue Swirl <blauwirbel at gmail.com> wrote:
>>>> Based on Artyom's Sparc64 work (thanks a lot!), I added some minimal
>>>> support for virtio-block and interrupt nodes.
>>>>
>>>> With these patches and QEMU HEAD, Linux can boot like Artyom describes in
>>>> http://tyom.blogspot.de/2012_05_01_archive.html
>>>> but without any manual OpenBIOS setup.
>>>
>>> My test kernel - 3.3.2 - still needs the ebus interrupt mapping properties:
>>>
>>> cd /pci at 1fe,0/ebus
>>> 000001fe encode-int 020003f8 encode-int encode+ 1 encode-int encode+
>>> ffe29140 encode-int encode+ 2b encode-int encode+ " interrupt-map" property
>>> 000001ff encode-int ffffffff encode-int encode+ 00000003 encode-int encode+
>>> " interrupt-map-mask" property
>>> device-end
>>> boot
>>
>> Updated patch attached. This change seems to help the serial driver.
>
> Looks good. The result seems to be identical with my hack, but there
> is one point I'd like to discuss:
>
> cd /pci at 1fe,0/pci-ata  ok
> .properties
> name                      "pci-ata"
> [...]
> interrupts                0
>
> I'm not sure that this is a valid value for the interrupts property.

Tarl, Jakub, can you comment whether 0 is allowed?

> If it's not, I guess it has to be changed back to 1, and the
> additional interrupt mappings have to be added to the root pci node.
> On the other hand, if no one objects, we can apply the patch as-is,
> and say that it's good enough for the only guest OS which currently
> supports these devices (virtio and cmd646).
>
>>>> Blue Swirl (2):
>>>>  pci: identify virtio-scsi devices
>>>>  Sparc64: fix interrupt properties
>>>>
>>>>  drivers/ide.c          |    2 ++
>>>>  drivers/pc_serial.c    |    3 +++
>>>>  drivers/pci.c          |   23 +++++++++++++++++++++++
>>>>  drivers/pci_database.c |   19 ++++++++++++++++++-
>>>>  drivers/pci_database.h |    1 +
>>>>  include/drivers/pci.h  |    3 +++
>>>>  6 files changed, 50 insertions(+), 1 deletion(-)
>>>>
>>>> --
>>>> 1.7.10



-- 
Regards,
Artyom Tarasenko

solaris/sparc under qemu blog: http://tyom.blogspot.com/search/label/qemu



More information about the OpenBIOS mailing list