|
@@ -14,7 +14,6 @@ FILE_LICENCE ( GPL2_OR_LATER )
|
14
|
14
|
#define PMM_SIGNATURE ( '$' + ( 'P' << 8 ) + ( 'M' << 16 ) + ( 'M' << 24 ) )
|
15
|
15
|
#define PCI_SIGNATURE ( 'P' + ( 'C' << 8 ) + ( 'I' << 16 ) + ( ' ' << 24 ) )
|
16
|
16
|
#define STACK_MAGIC ( 'L' + ( 'R' << 8 ) + ( 'E' << 16 ) + ( 'T' << 24 ) )
|
17
|
|
-#define PNP_GET_BBS_VERSION 0x60
|
18
|
17
|
#define PMM_ALLOCATE 0x0000
|
19
|
18
|
#define PMM_FIND 0x0001
|
20
|
19
|
#define PMM_HANDLE_BASE ( ( ( 'F' - 'A' + 1 ) << 26 ) + \
|
|
@@ -283,17 +282,8 @@ pnp_scan:
|
283
|
282
|
movw $init_message_pnp, %si
|
284
|
283
|
xorw %di, %di
|
285
|
284
|
call print_message
|
286
|
|
- /* Check for BBS */
|
287
|
|
- pushw %es:0x1b /* Real-mode data segment */
|
288
|
|
- pushw %ds /* &(bbs_version) */
|
289
|
|
- pushw $bbs_version
|
290
|
|
- pushw $PNP_GET_BBS_VERSION
|
291
|
|
- lcall *%es:0xd
|
292
|
|
- addw $8, %sp
|
293
|
|
- testw %ax, %ax
|
294
|
|
- je got_bbs
|
295
|
|
-no_pnp: /* Not PnP-compliant - therefore cannot be BBS-compliant */
|
296
|
|
-no_bbs: /* Not BBS-compliant - must hook INT 19 */
|
|
285
|
+ jmp pnp_done
|
|
286
|
+no_pnp: /* Not PnP-compliant - hook INT 19 */
|
297
|
287
|
movw $init_message_int19, %si
|
298
|
288
|
xorw %di, %di
|
299
|
289
|
call print_message
|
|
@@ -304,12 +294,7 @@ no_bbs: /* Not BBS-compliant - must hook INT 19 */
|
304
|
294
|
pushw %gs /* %gs contains runtime %cs */
|
305
|
295
|
pushw $int19_entry
|
306
|
296
|
popl %es:( 0x19 * 4 )
|
307
|
|
- jmp bbs_done
|
308
|
|
-got_bbs: /* BBS compliant - no need to hook INT 19 */
|
309
|
|
- movw $init_message_bbs, %si
|
310
|
|
- xorw %di, %di
|
311
|
|
- call print_message
|
312
|
|
-bbs_done:
|
|
297
|
+pnp_done:
|
313
|
298
|
|
314
|
299
|
/* Check for PMM */
|
315
|
300
|
movw $( 0xe000 - 1 ), %bx
|
|
@@ -545,9 +530,6 @@ init_message_pci:
|
545
|
530
|
init_message_pnp:
|
546
|
531
|
.asciz " PnP"
|
547
|
532
|
.size init_message_pnp, . - init_message_pnp
|
548
|
|
-init_message_bbs:
|
549
|
|
- .asciz " BBS"
|
550
|
|
- .size init_message_bbs, . - init_message_bbs
|
551
|
533
|
init_message_pmm:
|
552
|
534
|
.asciz " PMM"
|
553
|
535
|
.size init_message_pmm, . - init_message_pmm
|
|
@@ -617,14 +599,6 @@ decompress_to:
|
617
|
599
|
.long 0
|
618
|
600
|
.size decompress_to, . - decompress_to
|
619
|
601
|
|
620
|
|
-/* BBS version
|
621
|
|
- *
|
622
|
|
- * Filled in by BBS BIOS. We ignore the value.
|
623
|
|
- */
|
624
|
|
-bbs_version:
|
625
|
|
- .word 0
|
626
|
|
- .size bbs_version, . - bbs_version
|
627
|
|
-
|
628
|
602
|
/* Boot Execution Vector entry point
|
629
|
603
|
*
|
630
|
604
|
* Called by the PnP BIOS when it wants to boot us.
|