VirtualBox

source: vbox/trunk/src/VBox/Devices/PC/BIOS/pirq.inc@ 42975

Last change on this file since 42975 was 42332, checked in by vboxsync, 13 years ago

BIOS: Expanded PCI service, removed old 16-bit implementation.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 14.3 KB
Line 
1;;
2;; Copyright (C) 2006-2011 Oracle Corporation
3;;
4;; This file is part of VirtualBox Open Source Edition (OSE), as
5;; available from http://www.virtualbox.org. This file is free software;
6;; you can redistribute it and/or modify it under the terms of the GNU
7;; General Public License (GPL) as published by the Free Software
8;; Foundation, in version 2 as it comes in the "COPYING" file of the
9;; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
10;; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
11;; --------------------------------------------------------------------
12;;
13;; This code is based on:
14;;
15;; ROM BIOS for use with Bochs/Plex86/QEMU emulation environment
16;;
17;; Copyright (C) 2002 MandrakeSoft S.A.
18;;
19;; MandrakeSoft S.A.
20;; 43, rue d'Aboukir
21;; 75002 Paris - France
22;; http://www.linux-mandrake.com/
23;; http://www.mandrakesoft.com/
24;;
25;; This library is free software; you can redistribute it and/or
26;; modify it under the terms of the GNU Lesser General Public
27;; License as published by the Free Software Foundation; either
28;; version 2 of the License, or (at your option) any later version.
29;;
30;; This library is distributed in the hope that it will be useful,
31;; but WITHOUT ANY WARRANTY; without even the implied warranty of
32;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
33;; Lesser General Public License for more details.
34;;
35;; You should have received a copy of the GNU Lesser General Public
36;; License along with this library; if not, write to the Free Software
37;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
38;;
39;;
40
41if BX_PCIBIOS
42public _pci_routing_table
43public _pci_routing_table_size
44
45align 16
46pci_routing_table_structure:
47 db '$PIR' ;; "$PIR" signature
48 db 0, 1 ;; version
49ifdef VBOX
50 dw 32 + (30 * 16) ;; table size
51else ; !VBOX
52 dw 32 + (6 * 16) ;; table size
53endif ; !VBOX
54 db 0 ;; PCI interrupt router bus
55 db 8 ;; PCI interrupt router DevFunc
56 dw 0000h ;; PCI exclusive IRQs
57 dw 8086h ;; compatible PCI interrupt router vendor ID
58 dw 7000h ;; compatible PCI interrupt router device ID
59 dw 0,0 ;; Miniport data
60 db 0,0,0,0,0,0,0,0,0,0,0 ;; reserved
61ifdef VBOX
62 db 0 ;; checksum (set by biossums)
63else ; !VBOX
64 db 7 ;; checksum
65endif ; !VBOX
66_pci_routing_table:
67pci_routing_table:
68 ;; first slot entry PCI-to-ISA (embedded)
69 db 0 ;; pci bus number
70 db 008h ;; pci device number (bit 7-3)
71 db 60h ;; link value INTA#: pointer into PCI2ISA config space
72 dw 0DEF8h ;; IRQ bitmap INTA#
73 db 61h ;; link value INTB#
74 dw 0DEF8h ;; IRQ bitmap INTB#
75 db 62h ;; link value INTC#
76 dw 0DEF8h ;; IRQ bitmap INTC#
77 db 63h ;; link value INTD#
78 dw 0DEF8h ;; IRQ bitmap INTD#
79 db 0 ;; physical slot (0 = embedded)
80 db 0 ;; reserved
81 ;; second slot entry: 1st PCI slot
82 db 0 ;; pci bus number
83 db 010h ;; pci device number (bit 7-3)
84 db 61h ;; link value INTA#
85 dw 0DEF8h ;; IRQ bitmap INTA#
86 db 62h ;; link value INTB#
87 dw 0DEF8h ;; IRQ bitmap INTB#
88 db 63h ;; link value INTC#
89 dw 0DEF8h ;; IRQ bitmap INTC#
90 db 60h ;; link value INTD#
91 dw 0DEF8h ;; IRQ bitmap INTD#
92 db 1 ;; physical slot (0 = embedded)
93 db 0 ;; reserved
94 ;; third slot entry: 2nd PCI slot
95 db 0 ;; pci bus number
96 db 018h ;; pci device number (bit 7-3)
97 db 62h ;; link value INTA#
98 dw 0DEF8h ;; IRQ bitmap INTA#
99 db 63h ;; link value INTB#
100 dw 0DEF8h ;; IRQ bitmap INTB#
101 db 60h ;; link value INTC#
102 dw 0DEF8h ;; IRQ bitmap INTC#
103 db 61h ;; link value INTD#
104 dw 0DEF8h ;; IRQ bitmap INTD#
105 db 2 ;; physical slot (0 = embedded)
106 db 0 ;; reserved
107 ;; 4th slot entry: 3rd PCI slot
108 db 0 ;; pci bus number
109 db 020h ;; pci device number (bit 7-3)
110 db 63h ;; link value INTA#
111 dw 0DEF8h ;; IRQ bitmap INTA#
112 db 60h ;; link value INTB#
113 dw 0DEF8h ;; IRQ bitmap INTB#
114 db 61h ;; link value INTC#
115 dw 0DEF8h ;; IRQ bitmap INTC#
116 db 62h ;; link value INTD#
117 dw 0DEF8h ;; IRQ bitmap INTD#
118 db 3 ;; physical slot (0 = embedded)
119 db 0 ;; reserved
120 ;; 5th slot entry: 4rd PCI slot
121 db 0 ;; pci bus number
122 db 028h ;; pci device number (bit 7-3)
123 db 60h ;; link value INTA#
124 dw 0DEF8h ;; IRQ bitmap INTA#
125 db 61h ;; link value INTB#
126 dw 0DEF8h ;; IRQ bitmap INTB#
127 db 62h ;; link value INTC#
128 dw 0DEF8h ;; IRQ bitmap INTC#
129 db 63h ;; link value INTD#
130 dw 0DEF8h ;; IRQ bitmap INTD#
131 db 4 ;; physical slot (0 = embedded)
132 db 0 ;; reserved
133 ;; 6th slot entry: 5rd PCI slot
134 db 0 ;; pci bus number
135 db 030h ;; pci device number (bit 7-3)
136 db 61h ;; link value INTA#
137 dw 0DEF8h ;; IRQ bitmap INTA#
138 db 62h ;; link value INTB#
139 dw 0DEF8h ;; IRQ bitmap INTB#
140 db 63h ;; link value INTC#
141 dw 0DEF8h ;; IRQ bitmap INTC#
142 db 60h ;; link value INTD#
143 dw 0DEF8h ;; IRQ bitmap INTD#
144 db 5 ;; physical slot (0 = embedded)
145 db 0 ;; reserved
146ifdef VBOX
147 ;; 7th slot entry: 6th PCI slot
148 db 0 ;; pci bus number
149 db 038h ;; pci device number (bit 7-3)
150 db 62h ;; link value INTA#
151 dw 0DEF8h ;; IRQ bitmap INTA#
152 db 63h ;; link value INTB#
153 dw 0DEF8h ;; IRQ bitmap INTB#
154 db 60h ;; link value INTC#
155 dw 0DEF8h ;; IRQ bitmap INTC#
156 db 61h ;; link value INTD#
157 dw 0DEF8h ;; IRQ bitmap INTD#
158 db 6 ;; physical slot (0 = embedded)
159 db 0 ;; reserved
160 ;; 8th slot entry: 7th PCI slot
161 db 0 ;; pci bus number
162 db 040h ;; pci device number (bit 7-3)
163 db 63h ;; link value INTA#
164 dw 0DEF8h ;; IRQ bitmap INTA#
165 db 60h ;; link value INTB#
166 dw 0DEF8h ;; IRQ bitmap INTB#
167 db 61h ;; link value INTC#
168 dw 0DEF8h ;; IRQ bitmap INTC#
169 db 62h ;; link value INTD#
170 dw 0DEF8h ;; IRQ bitmap INTD#
171 db 7 ;; physical slot (0 = embedded)
172 db 0 ;; reserved
173 ;; 9th slot entry: 8th PCI slot
174 db 0 ;; pci bus number
175 db 048h ;; pci device number (bit 7-3)
176 db 60h ;; link value INTA#
177 dw 0DEF8h ;; IRQ bitmap INTA#
178 db 61h ;; link value INTB#
179 dw 0DEF8h ;; IRQ bitmap INTB#
180 db 62h ;; link value INTC#
181 dw 0DEF8h ;; IRQ bitmap INTC#
182 db 63h ;; link value INTD#
183 dw 0DEF8h ;; IRQ bitmap INTD#
184 db 8 ;; physical slot (0 = embedded)
185 db 0 ;; reserved
186 ;; 10th slot entry: 9th PCI slot
187 db 0 ;; pci bus number
188 db 050h ;; pci device number (bit 7-3)
189 db 61h ;; link value INTA#
190 dw 0DEF8h ;; IRQ bitmap INTA#
191 db 62h ;; link value INTB#
192 dw 0DEF8h ;; IRQ bitmap INTB#
193 db 63h ;; link value INTC#
194 dw 0DEF8h ;; IRQ bitmap INTC#
195 db 60h ;; link value INTD#
196 dw 0DEF8h ;; IRQ bitmap INTD#
197 db 9 ;; physical slot (0 = embedded)
198 db 0 ;; reserved
199 ;; 11th slot entry: 10th PCI slot
200 db 0 ;; pci bus number
201 db 058h ;; pci device number (bit 7-3)
202 db 62h ;; link value INTA#
203 dw 0DEF8h ;; IRQ bitmap INTA#
204 db 63h ;; link value INTB#
205 dw 0DEF8h ;; IRQ bitmap INTB#
206 db 60h ;; link value INTC#
207 dw 0DEF8h ;; IRQ bitmap INTC#
208 db 61h ;; link value INTD#
209 dw 0DEF8h ;; IRQ bitmap INTD#
210 db 10 ;; physical slot (0 = embedded)
211 db 0 ;; reserved
212 ;; 12th slot entry: 11th PCI slot
213 db 0 ;; pci bus number
214 db 60h ;; pci device number (bit 7-3)
215 db 63h ;; link value INTA#
216 dw 0DEF8h ;; IRQ bitmap INTA#
217 db 60h ;; link value INTB#
218 dw 0DEF8h ;; IRQ bitmap INTB#
219 db 61h ;; link value INTC#
220 dw 0DEF8h ;; IRQ bitmap INTC#
221 db 62h ;; link value INTD#
222 dw 0DEF8h ;; IRQ bitmap INTD#
223 db 11 ;; physical slot (0 = embedded)
224 db 0 ;; reserved
225 ;; 13th slot entry: 12th PCI slot
226 db 0 ;; pci bus number
227 db 068h ;; pci device number (bit 7-3)
228 db 60h ;; link value INTA#
229 dw 0DEF8h ;; IRQ bitmap INTA#
230 db 61h ;; link value INTB#
231 dw 0DEF8h ;; IRQ bitmap INTB#
232 db 62h ;; link value INTC#
233 dw 0DEF8h ;; IRQ bitmap INTC#
234 db 63h ;; link value INTD#
235 dw 0DEF8h ;; IRQ bitmap INTD#
236 db 12 ;; physical slot (0 = embedded)
237 db 0 ;; reserved
238 ;; 14th slot entry: 13th PCI slot
239 db 0 ;; pci bus number
240 db 070h ;; pci device number (bit 7-3)
241 db 61h ;; link value INTA#
242 dw 0DEF8h ;; IRQ bitmap INTA#
243 db 62h ;; link value INTB#
244 dw 0DEF8h ;; IRQ bitmap INTB#
245 db 63h ;; link value INTC#
246 dw 0DEF8h ;; IRQ bitmap INTC#
247 db 60h ;; link value INTD#
248 dw 0DEF8h ;; IRQ bitmap INTD#
249 db 13 ;; physical slot (0 = embedded)
250 db 0 ;; reserved
251 ;; 15th slot entry: 14th PCI slot
252 db 0 ;; pci bus number
253 db 078h ;; pci device number (bit 7-3)
254 db 62h ;; link value INTA#
255 dw 0DEF8h ;; IRQ bitmap INTA#
256 db 63h ;; link value INTB#
257 dw 0DEF8h ;; IRQ bitmap INTB#
258 db 60h ;; link value INTC#
259 dw 0DEF8h ;; IRQ bitmap INTC#
260 db 61h ;; link value INTD#
261 dw 0DEF8h ;; IRQ bitmap INTD#
262 db 14 ;; physical slot (0 = embedded)
263 db 0 ;; reserved
264 ;; 16th slot entry: 15th PCI slot
265 db 0 ;; pci bus number
266 db 080h ;; pci device number (bit 7-3)
267 db 63h ;; link value INTA#
268 dw 0DEF8h ;; IRQ bitmap INTA#
269 db 60h ;; link value INTB#
270 dw 0DEF8h ;; IRQ bitmap INTB#
271 db 61h ;; link value INTC#
272 dw 0DEF8h ;; IRQ bitmap INTC#
273 db 62h ;; link value INTD#
274 dw 0DEF8h ;; IRQ bitmap INTD#
275 db 15 ;; physical slot (0 = embedded)
276 db 0 ;; reserved
277 ;; 17th slot entry: 16th PCI slot
278 db 0 ;; pci bus number
279 db 088h ;; pci device number (bit 7-3)
280 db 60h ;; link value INTA#
281 dw 0DEF8h ;; IRQ bitmap INTA#
282 db 61h ;; link value INTB#
283 dw 0DEF8h ;; IRQ bitmap INTB#
284 db 62h ;; link value INTC#
285 dw 0DEF8h ;; IRQ bitmap INTC#
286 db 63h ;; link value INTD#
287 dw 0DEF8h ;; IRQ bitmap INTD#
288 db 16 ;; physical slot (0 = embedded)
289 db 0 ;; reserved
290 ;; 18th slot entry: 17th PCI slot
291 db 0 ;; pci bus number
292 db 090h ;; pci device number (bit 7-3)
293 db 61h ;; link value INTA#
294 dw 0DEF8h ;; IRQ bitmap INTA#
295 db 62h ;; link value INTB#
296 dw 0DEF8h ;; IRQ bitmap INTB#
297 db 63h ;; link value INTC#
298 dw 0DEF8h ;; IRQ bitmap INTC#
299 db 60h ;; link value INTD#
300 dw 0DEF8h ;; IRQ bitmap INTD#
301 db 17 ;; physical slot (0 = embedded)
302 db 0 ;; reserved
303 ;; 19th slot entry: 18th PCI slot
304 db 0 ;; pci bus number
305 db 098h ;; pci device number (bit 7-3)
306 db 62h ;; link value INTA#
307 dw 0DEF8h ;; IRQ bitmap INTA#
308 db 63h ;; link value INTB#
309 dw 0DEF8h ;; IRQ bitmap INTB#
310 db 60h ;; link value INTC#
311 dw 0DEF8h ;; IRQ bitmap INTC#
312 db 61h ;; link value INTD#
313 dw 0DEF8h ;; IRQ bitmap INTD#
314 db 18 ;; physical slot (0 = embedded)
315 db 0 ;; reserved
316 ;; 20th slot entry: 19th PCI slot
317 db 0 ;; pci bus number
318 db 0A0h ;; pci device number (bit 7-3)
319 db 63h ;; link value INTA#
320 dw 0DEF8h ;; IRQ bitmap INTA#
321 db 60h ;; link value INTB#
322 dw 0DEF8h ;; IRQ bitmap INTB#
323 db 61h ;; link value INTC#
324 dw 0DEF8h ;; IRQ bitmap INTC#
325 db 62h ;; link value INTD#
326 dw 0DEF8h ;; IRQ bitmap INTD#
327 db 19 ;; physical slot (0 = embedded)
328 db 0 ;; reserved
329 ;; 21st slot entry: 20th PCI slot
330 db 0 ;; pci bus number
331 db 0A8h ;; pci device number (bit 7-3)
332 db 60h ;; link value INTA#
333 dw 0DEF8h ;; IRQ bitmap INTA#
334 db 61h ;; link value INTB#
335 dw 0DEF8h ;; IRQ bitmap INTB#
336 db 62h ;; link value INTC#
337 dw 0DEF8h ;; IRQ bitmap INTC#
338 db 63h ;; link value INTD#
339 dw 0DEF8h ;; IRQ bitmap INTD#
340 db 20 ;; physical slot (0 = embedded)
341 db 0 ;; reserved
342 ;; 22nd slot entry: 21st PCI slot
343 db 0 ;; pci bus number
344 db 0B0h ;; pci device number (bit 7-3)
345 db 61h ;; link value INTA#
346 dw 0DEF8h ;; IRQ bitmap INTA#
347 db 62h ;; link value INTB#
348 dw 0DEF8h ;; IRQ bitmap INTB#
349 db 63h ;; link value INTC#
350 dw 0DEF8h ;; IRQ bitmap INTC#
351 db 60h ;; link value INTD#
352 dw 0DEF8h ;; IRQ bitmap INTD#
353 db 21 ;; physical slot (0 = embedded)
354 db 0 ;; reserved
355 ;; 23rd slot entry: 22nd PCI slot
356 db 0 ;; pci bus number
357 db 0B8h ;; pci device number (bit 7-3)
358 db 62h ;; link value INTA#
359 dw 0DEF8h ;; IRQ bitmap INTA#
360 db 63h ;; link value INTB#
361 dw 0DEF8h ;; IRQ bitmap INTB#
362 db 60h ;; link value INTC#
363 dw 0DEF8h ;; IRQ bitmap INTC#
364 db 61h ;; link value INTD#
365 dw 0DEF8h ;; IRQ bitmap INTD#
366 db 22 ;; physical slot (0 = embedded)
367 db 0 ;; reserved
368 ;; 24th slot entry: 23rd PCI slot
369 db 0 ;; pci bus number
370 db 0C0h ;; pci device number (bit 7-3)
371 db 63h ;; link value INTA#
372 dw 0DEF8h ;; IRQ bitmap INTA#
373 db 60h ;; link value INTB#
374 dw 0DEF8h ;; IRQ bitmap INTB#
375 db 61h ;; link value INTC#
376 dw 0DEF8h ;; IRQ bitmap INTC#
377 db 62h ;; link value INTD#
378 dw 0DEF8h ;; IRQ bitmap INTD#
379 db 23 ;; physical slot (0 = embedded)
380 db 0 ;; reserved
381 ;; 25th slot entry: 24th PCI slot
382 db 0 ;; pci bus number
383 db 0C8h ;; pci device number (bit 7-3)
384 db 60h ;; link value INTA#
385 dw 0DEF8h ;; IRQ bitmap INTA#
386 db 61h ;; link value INTB#
387 dw 0DEF8h ;; IRQ bitmap INTB#
388 db 62h ;; link value INTC#
389 dw 0DEF8h ;; IRQ bitmap INTC#
390 db 63h ;; link value INTD#
391 dw 0DEF8h ;; IRQ bitmap INTD#
392 db 24 ;; physical slot (0 = embedded)
393 db 0 ;; reserved
394 ;; 26th slot entry: 25th PCI slot
395 db 0 ;; pci bus number
396 db 0D0h ;; pci device number (bit 7-3)
397 db 61h ;; link value INTA#
398 dw 0DEF8h ;; IRQ bitmap INTA#
399 db 62h ;; link value INTB#
400 dw 0DEF8h ;; IRQ bitmap INTB#
401 db 63h ;; link value INTC#
402 dw 0DEF8h ;; IRQ bitmap INTC#
403 db 60h ;; link value INTD#
404 dw 0DEF8h ;; IRQ bitmap INTD#
405 db 25 ;; physical slot (0 = embedded)
406 db 0 ;; reserved
407 ;; 27th slot entry: 26th PCI slot
408 db 0 ;; pci bus number
409 db 0D8h ;; pci device number (bit 7-3)
410 db 62h ;; link value INTA#
411 dw 0DEF8h ;; IRQ bitmap INTA#
412 db 63h ;; link value INTB#
413 dw 0DEF8h ;; IRQ bitmap INTB#
414 db 60h ;; link value INTC#
415 dw 0DEF8h ;; IRQ bitmap INTC#
416 db 61h ;; link value INTD#
417 dw 0DEF8h ;; IRQ bitmap INTD#
418 db 26 ;; physical slot (0 = embedded)
419 db 0 ;; reserved
420 ;; 28th slot entry: 27th PCI slot
421 db 0 ;; pci bus number
422 db 0E0h ;; pci device number (bit 7-3)
423 db 63h ;; link value INTA#
424 dw 0DEF8h ;; IRQ bitmap INTA#
425 db 60h ;; link value INTB#
426 dw 0DEF8h ;; IRQ bitmap INTB#
427 db 61h ;; link value INTC#
428 dw 0DEF8h ;; IRQ bitmap INTC#
429 db 62h ;; link value INTD#
430 dw 0DEF8h ;; IRQ bitmap INTD#
431 db 27 ;; physical slot (0 = embedded)
432 db 0 ;; reserved
433 ;; 29th slot entry: 28th PCI slot
434 db 0 ;; pci bus number
435 db 0E8h ;; pci device number (bit 7-3)
436 db 60h ;; link value INTA#
437 dw 0DEF8h ;; IRQ bitmap INTA#
438 db 61h ;; link value INTB#
439 dw 0DEF8h ;; IRQ bitmap INTB#
440 db 62h ;; link value INTC#
441 dw 0DEF8h ;; IRQ bitmap INTC#
442 db 63h ;; link value INTD#
443 dw 0DEF8h ;; IRQ bitmap INTD#
444 db 28 ;; physical slot (0 = embedded)
445 db 0 ;; reserved
446 ;; 30th slot entry: 29th PCI slot
447 db 0 ;; pci bus number
448 db 0F0h ;; pci device number (bit 7-3)
449 db 61h ;; link value INTA#
450 dw 0DEF8h ;; IRQ bitmap INTA#
451 db 62h ;; link value INTB#
452 dw 0DEF8h ;; IRQ bitmap INTB#
453 db 63h ;; link value INTC#
454 dw 0DEF8h ;; IRQ bitmap INTC#
455 db 60h ;; link value INTD#
456 dw 0DEF8h ;; IRQ bitmap INTD#
457 db 29 ;; physical slot (0 = embedded)
458 db 0 ;; reserved
459endif ; VBOX
460pci_routing_table_end:
461;; Size of the table
462pci_routing_table_size dw pci_routing_table_end - pci_routing_table
463
464endif ; BX_PCIBIOS
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette