wok diff memtest/stuff/bootloader.S @ rev 24954
*/stuff/bootloader.S: add CHK_DOS_INT19
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Apr 23 15:28:40 2022 +0000 (2022-04-23) |
parents | d1f31f5f6401 |
children | 50e835d951d8 |
line diff
1.1 --- a/memtest/stuff/bootloader.S Wed Apr 20 15:10:50 2022 +0000 1.2 +++ b/memtest/stuff/bootloader.S Sat Apr 23 15:28:40 2022 +0000 1.3 @@ -23,13 +23,14 @@ 1.4 #define BUGGY_CMDLINE verify cmdline length +2 1.5 #define VCPI VCPI 4.0 support (386+) +109 1.6 #define SHUTDOWNDOS shutdown DOS services +29 1.7 +#define CHK_DOS_INT19 do not trace bios +12/13 1.8 1.9 /* some contraints to reduce the code size */ 1.10 //#define FLOPPY_1440K_ONLY 1.44M floppies support only -26 1.11 //#define FLOPPY_HAS_2_SIDES hardcoded heads count to 2 -15 1.12 //#define NO_CMDLINE_SHRINK remove heading spaces ? -6-21 1.13 //#define NO_CMDLINE_FILE remove @cmdline file support ? -21 1.14 -//#define NO_DOTS show progression dots ? -5 1.15 +#define NO_DOTS show progression dots ? -5 1.16 #ifndef BZIMAGE 1.17 //#define TINY_ZIMAGE system < 64Kb ? -11 1.18 //#define NO_MINSETUP default setup (dos only) ? -4 1.19 @@ -74,6 +75,16 @@ 1.20 #ifdef ONLY8086 1.21 xorw %si, %si 1.22 movw %si, %ds 1.23 +# ifdef CHK_DOS_INT19 1.24 + cmpb $0xF0, 4*0x19+3(%si) 1.25 + jne stepit 1.26 + popaw 1.27 + pushw %es 1.28 + movw $movesys, %si 1.29 + pushw %si 1.30 + retf 1.31 +stepit: 1.32 +# endif 1.33 pushw 4+2(%si) 1.34 pushw 4(%si) 1.35 movw $step19, 4(%si) 1.36 @@ -82,6 +93,15 @@ 1.37 pushl $4 1.38 popw %si 1.39 popw %ds 1.40 +# ifdef CHK_DOS_INT19 1.41 + cmpb $0xF0, 4*0x19+3-4(%si) 1.42 + jne stepit 1.43 + popaw 1.44 + pushw %es 1.45 + pushw $movesys 1.46 + retf 1.47 +stepit: 1.48 +# endif 1.49 pushl (%si) 1.50 movl $step19+(INITSEG<<16), (%si) 1.51 #endif 1.52 @@ -90,7 +110,11 @@ 1.53 incb %ah # set TF 1.54 pushw %ax 1.55 popfw 1.56 +#ifdef ONLY8086 1.57 + ljmp *4*0x19(%si) 1.58 +#else 1.59 ljmp *4*0x19-4(%si) 1.60 +#endif 1.61 .endm 1.62 1.63 stacktop = 0x9E00 # in 0x8000 .. 0xA000 1.64 @@ -442,7 +466,6 @@ 1.65 # ifdef SHUTDOWNDOS 1.66 trace_int19 1.67 # else 1.68 - lssw %cs:EXEADRS(saved_ss_sp),%sp 1.69 popaw 1.70 retf 1.71 # endif 1.72 @@ -649,10 +672,6 @@ 1.73 .word 0x03FF 1.74 idt_base: 1.75 .long 0 1.76 -# ifndef SHUTDOWNDOS 1.77 -saved_ss_sp: 1.78 - .word stacktop-4-16-4,INITSEG 1.79 -# endif 1.80 #endif 1.81 #ifdef ELKS 1.82 .org 0x1E3