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

Artyom Tarasenko atar4qemu at gmail.com
Fri May 18 11:44:40 CEST 2012


On Sun, May 13, 2012 at 2:20 PM, Tarl Neustaedter <tarl-b2 at tarl.net> wrote:
> On 2012-May-13 03:08 , Artyom Tarasenko wrote:
>>
>> Yes, this is how it's wired in qemu too. But I meant the OBP level.
>> What worries me is that this construction seems to be never used in
>> sun4u OBP:
>>
>> $  grep interrupts linux/kernel/git/davem/prtconfs/* | grep -c 00000001
>> 402
>> $ grep interrupts linux/kernel/git/davem/prtconfs/* | grep -c 00000000
>> 2
>>
>> And the both hits are sun4v:
>>
>> $  grep interrupts ~/openbios/linux/kernel/git/davem/prtconfs/* | grep
>> 00000000
>> linux/kernel/git/davem/prtconfs/t1000:            interrupts:  00000000
>> linux/kernel/git/davem/prtconfs/t2000_1:            interrupts:  00000000
>>
>> Can it be, that 0 is (or used to be) some magic constant?

In case it's relevant, here are the complete properties:

0 > cd /pci  ok
0 > .properties
name                      "pci"
reg                       000001fe 00000000   00000000 02000000
vendor-id                 108e
device-id                 a000
revision-id               0
class-code                60000
min-grant                 0
max-latency               0
devsel-speed              0
fast-back-to-back         <empty>
66mhz-capable             <empty>
subsystem-vendor-id       1af4
subsystem-id              1100
cache-line-size           0
device_type               "pci"
model                     "SUNW,sabre"
compatible                {"pci108e,a000", "pciclass,0"}
#address-cells            3
#size-cells               2
#interrupt-cells          1
ranges                    -- 54 : 00 00 00 00 00 00 00 00 00 00 00 00
00 00 01 fe 01 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00
00 00 00 00 00 00 00 01 fe 02 00 00 00 00 00 00 00 00 01 00 00 02 00
00 00 00 00 00 00 00 10 00 00 00 00 01 ff 00 00 00 00 00 00 00 00 10
00 00 00
interrupt-map             -- 14 : 00 00 01 fe 02 00 03 f8 00 00 00 01
ff e1 a2 b0 00 00 00 2b
interrupt-map-mask        -- c : 00 00 01 ff ff ff ff ff 00 00 00 03
virtual-dma               -- 8 : c0 00 00 00 20 00 00 00
#virtual-dma-size-cells   1
#virtual-dma-addr-cells   1
interrupts                -- 10 : 00 00 07 f0 00 00 07 ee 00 00 07 ef
00 00 07 e5
upa-portid                1f
bus-range                 -- 8 : 00 00 00 00 00 00 00 02
 ok
0 > cd pci-ata  ok
0 > .properties
name                      "pci-ata"
vendor-id                 1095
device-id                 646
revision-id               7
class-code                10100
interrupts                0
min-grant                 0
max-latency               0
devsel-speed              0
subsystem-vendor-id       1af4
subsystem-id              1100
cache-line-size           0
device_type               "pci-ide"
compatible                {"pci1095,646", "pci1095,646", "pciclass,01018f"}
assigned-addresses        -- 64 : 01 00 28 10 00 00 00 00 00 00 04 80
00 00 00 00 00 00 00 08 01 00 28 14 00 00 00 00 00 00 05 00 00 00 00
00 00 00 00 04 01 00 28 18 00 00 00 00 00 00 05 80 00 00 00 00 00 00
00 08 01 00 28 1c 00 00 00 00 00 00 06 00 00 00 00 00 00 00 00 04 01
00 28 20 00 00 00 00 00 00 06 80 00 00 00 00 00 00 00 10
reg                       00002800 00000000 00000000   00000000 00000000
                          01002810 00000000 00000000   00000000 00000008
                          01002814 00000000 00000000   00000000 00000004
                          01002818 00000000 00000000   00000000 00000008
                          0100281c 00000000 00000000   00000000 00000004
                          01002820 00000000 00000000   00000000 00000010
 ok

What makes me wonder is how INTA can be mapped to INO 0 if the
corresponding node has 1 in the "interrupts" property.


-- 
Regards,
Artyom Tarasenko

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



More information about the OpenBIOS mailing list