Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / SLOF / board-qemu / slof / pci-capabilities.fs
1 \ Set up all known capabilities for this board to the plugged devices
2
3 : pci-msi-prop ( addr -- )
4     5 pci-cap-find          ( capaddr )
5     ?dup IF
6         2+ rtas-config-w@   ( msi-control )
7         1 rshift 7 and      ( msi-control:3:1 )
8
9         dup 6 < IF
10             1 swap lshift   ( vectors# )
11             encode-int " ibm,req#msi" property
12         ELSE
13             ." Invalid MSI vectors number " . cr
14         THEN
15     THEN
16 ;
17
18 : pci-msix-prop ( addr -- )
19     11 pci-cap-find         ( capaddr )
20     ?dup IF
21         2+ rtas-config-w@   ( msix-control )
22         7ff and             ( msix-control:10:0 )
23         1+                  ( vectors# )
24         ?dup IF
25             encode-int " ibm,req#msi-x" property
26         THEN
27     THEN
28 ;
29
30 : pci-set-capabilities ( config-addr -- )
31     dup pci-msi-prop
32     dup pci-msix-prop
33     drop
34 ;