]>
git.proxmox.com Git - qemu-server.git/blob - PVE/QemuServer/PCI.pm
0d9cf2431cc6d132f93461779ae412c515ea1101
1 package PVE
::QemuServer
::PCI
;
11 piix3
=> { bus
=> 0, addr
=> 1 },
12 #addr2 : first videocard
13 balloon0
=> { bus
=> 0, addr
=> 3 },
14 watchdog
=> { bus
=> 0, addr
=> 4 },
15 scsihw0
=> { bus
=> 0, addr
=> 5 },
16 'pci.3' => { bus
=> 0, addr
=> 5 }, #can also be used for virtio-scsi-single bridge
17 scsihw1
=> { bus
=> 0, addr
=> 6 },
18 ahci0
=> { bus
=> 0, addr
=> 7 },
19 qga0
=> { bus
=> 0, addr
=> 8 },
20 spice
=> { bus
=> 0, addr
=> 9 },
21 virtio0
=> { bus
=> 0, addr
=> 10 },
22 virtio1
=> { bus
=> 0, addr
=> 11 },
23 virtio2
=> { bus
=> 0, addr
=> 12 },
24 virtio3
=> { bus
=> 0, addr
=> 13 },
25 virtio4
=> { bus
=> 0, addr
=> 14 },
26 virtio5
=> { bus
=> 0, addr
=> 15 },
27 hostpci0
=> { bus
=> 0, addr
=> 16 },
28 hostpci1
=> { bus
=> 0, addr
=> 17 },
29 net0
=> { bus
=> 0, addr
=> 18 },
30 net1
=> { bus
=> 0, addr
=> 19 },
31 net2
=> { bus
=> 0, addr
=> 20 },
32 net3
=> { bus
=> 0, addr
=> 21 },
33 net4
=> { bus
=> 0, addr
=> 22 },
34 net5
=> { bus
=> 0, addr
=> 23 },
35 vga1
=> { bus
=> 0, addr
=> 24 },
36 vga2
=> { bus
=> 0, addr
=> 25 },
37 vga3
=> { bus
=> 0, addr
=> 26 },
38 hostpci2
=> { bus
=> 0, addr
=> 27 },
39 hostpci3
=> { bus
=> 0, addr
=> 28 },
40 #addr29 : usb-host (pve-usb.cfg)
41 'pci.1' => { bus
=> 0, addr
=> 30 },
42 'pci.2' => { bus
=> 0, addr
=> 31 },
43 'net6' => { bus
=> 1, addr
=> 1 },
44 'net7' => { bus
=> 1, addr
=> 2 },
45 'net8' => { bus
=> 1, addr
=> 3 },
46 'net9' => { bus
=> 1, addr
=> 4 },
47 'net10' => { bus
=> 1, addr
=> 5 },
48 'net11' => { bus
=> 1, addr
=> 6 },
49 'net12' => { bus
=> 1, addr
=> 7 },
50 'net13' => { bus
=> 1, addr
=> 8 },
51 'net14' => { bus
=> 1, addr
=> 9 },
52 'net15' => { bus
=> 1, addr
=> 10 },
53 'net16' => { bus
=> 1, addr
=> 11 },
54 'net17' => { bus
=> 1, addr
=> 12 },
55 'net18' => { bus
=> 1, addr
=> 13 },
56 'net19' => { bus
=> 1, addr
=> 14 },
57 'net20' => { bus
=> 1, addr
=> 15 },
58 'net21' => { bus
=> 1, addr
=> 16 },
59 'net22' => { bus
=> 1, addr
=> 17 },
60 'net23' => { bus
=> 1, addr
=> 18 },
61 'net24' => { bus
=> 1, addr
=> 19 },
62 'net25' => { bus
=> 1, addr
=> 20 },
63 'net26' => { bus
=> 1, addr
=> 21 },
64 'net27' => { bus
=> 1, addr
=> 22 },
65 'net28' => { bus
=> 1, addr
=> 23 },
66 'net29' => { bus
=> 1, addr
=> 24 },
67 'net30' => { bus
=> 1, addr
=> 25 },
68 'net31' => { bus
=> 1, addr
=> 26 },
69 'xhci' => { bus
=> 1, addr
=> 27 },
70 'virtio6' => { bus
=> 2, addr
=> 1 },
71 'virtio7' => { bus
=> 2, addr
=> 2 },
72 'virtio8' => { bus
=> 2, addr
=> 3 },
73 'virtio9' => { bus
=> 2, addr
=> 4 },
74 'virtio10' => { bus
=> 2, addr
=> 5 },
75 'virtio11' => { bus
=> 2, addr
=> 6 },
76 'virtio12' => { bus
=> 2, addr
=> 7 },
77 'virtio13' => { bus
=> 2, addr
=> 8 },
78 'virtio14' => { bus
=> 2, addr
=> 9 },
79 'virtio15' => { bus
=> 2, addr
=> 10 },
80 'virtioscsi0' => { bus
=> 3, addr
=> 1 },
81 'virtioscsi1' => { bus
=> 3, addr
=> 2 },
82 'virtioscsi2' => { bus
=> 3, addr
=> 3 },
83 'virtioscsi3' => { bus
=> 3, addr
=> 4 },
84 'virtioscsi4' => { bus
=> 3, addr
=> 5 },
85 'virtioscsi5' => { bus
=> 3, addr
=> 6 },
86 'virtioscsi6' => { bus
=> 3, addr
=> 7 },
87 'virtioscsi7' => { bus
=> 3, addr
=> 8 },
88 'virtioscsi8' => { bus
=> 3, addr
=> 9 },
89 'virtioscsi9' => { bus
=> 3, addr
=> 10 },
90 'virtioscsi10' => { bus
=> 3, addr
=> 11 },
91 'virtioscsi11' => { bus
=> 3, addr
=> 12 },
92 'virtioscsi12' => { bus
=> 3, addr
=> 13 },
93 'virtioscsi13' => { bus
=> 3, addr
=> 14 },
94 'virtioscsi14' => { bus
=> 3, addr
=> 15 },
95 'virtioscsi15' => { bus
=> 3, addr
=> 16 },
96 'virtioscsi16' => { bus
=> 3, addr
=> 17 },
97 'virtioscsi17' => { bus
=> 3, addr
=> 18 },
98 'virtioscsi18' => { bus
=> 3, addr
=> 19 },
99 'virtioscsi19' => { bus
=> 3, addr
=> 20 },
100 'virtioscsi20' => { bus
=> 3, addr
=> 21 },
101 'virtioscsi21' => { bus
=> 3, addr
=> 22 },
102 'virtioscsi22' => { bus
=> 3, addr
=> 23 },
103 'virtioscsi23' => { bus
=> 3, addr
=> 24 },
104 'virtioscsi24' => { bus
=> 3, addr
=> 25 },
105 'virtioscsi25' => { bus
=> 3, addr
=> 26 },
106 'virtioscsi26' => { bus
=> 3, addr
=> 27 },
107 'virtioscsi27' => { bus
=> 3, addr
=> 28 },
108 'virtioscsi28' => { bus
=> 3, addr
=> 29 },
109 'virtioscsi29' => { bus
=> 3, addr
=> 30 },
110 'virtioscsi30' => { bus
=> 3, addr
=> 31 },
114 my ($id, $bridges) = @_;
118 if (defined($devices->{$id}->{bus
}) && defined($devices->{$id}->{addr
})) {
119 my $addr = sprintf("0x%x", $devices->{$id}->{addr
});
120 my $bus = $devices->{$id}->{bus
};
121 $res = ",bus=pci.$bus,addr=$addr";
122 $bridges->{$bus} = 1 if $bridges;
128 sub print_pcie_addr
{
133 hostpci0
=> { bus
=> "ich9-pcie-port-1", addr
=> 0 },
134 hostpci1
=> { bus
=> "ich9-pcie-port-2", addr
=> 0 },
135 hostpci2
=> { bus
=> "ich9-pcie-port-3", addr
=> 0 },
136 hostpci3
=> { bus
=> "ich9-pcie-port-4", addr
=> 0 },
139 if (defined($devices->{$id}->{bus
}) && defined($devices->{$id}->{addr
})) {
140 my $addr = sprintf("0x%x", $devices->{$id}->{addr
});
141 my $bus = $devices->{$id}->{bus
};
142 $res = ",bus=$bus,addr=$addr";