[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