Jemm's FASTBOOT needs interrupt vectors at 0070:0100 so put them there,

eliminating the need for JEMFBHLP.EXE


git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1325 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
Bart Oldeman 2007-05-26 16:57:15 +00:00
parent fc3a696ca3
commit dc840d98f4
5 changed files with 31 additions and 2 deletions

View File

@ -275,6 +275,12 @@ extern struct {
extern UWORD DOSFAR LBA_WRITE_VERIFY;
/* original interrupt vectors, at 70:xxxx */
extern struct lowvec {
unsigned char intno;
intvec isv;
} DOSTEXTFAR ASM intvec_table[5];
/* floppy parameter table, at 70:xxxx */
extern unsigned char DOSTEXTFAR ASM int1e_table[0xe];

View File

@ -32,7 +32,7 @@
%include "segs.inc"
segment _LOWTEXT
segment _IRQTEXT
old_vectors times 16 dd 0
stack_size dw 0
@ -155,6 +155,10 @@ dont_switch: pushf
iret
; align to 100h to align _LOWTEXT for interrupt vectors
; in kernel.asm
times (100h - ($ - old_vectors)) db 0
segment INIT_TEXT
global _init_stacks

View File

@ -233,6 +233,21 @@ no_nul_read:
retf
segment _LOWTEXT
; low interrupt vectors 10h,13h,15h,19h,1Bh
; these need to be at 0070:0100 (see RBIL memory.lst)
global _intvec_table
_intvec_table: db 10h
dd 0
db 13h
dd 0
db 15h
dd 0
db 19h
dd 0
db 1Bh
dd 0
; floppy parameter table
global _int1e_table
_int1e_table: times 0eh db 0

View File

@ -251,8 +251,11 @@ STATIC void setup_int_vectors(void)
{ 0x2f, FP_OFF(int2f_handler) }
};
struct vec *pvec;
struct lowvec FAR *plvec;
int i;
for (plvec = intvec_table; plvec < intvec_table + 5; plvec++)
plvec->isv = getvec(plvec->intno);
for (i = 0x23; i <= 0x3f; i++)
setvec(i, empty_handler);
for (pvec = vectors; pvec < vectors + (sizeof vectors/sizeof *pvec); pvec++)

View File

@ -39,7 +39,7 @@ CPU XCPU
%endif
group PGROUP PSP
group LGROUP _LOWTEXT _IO_TEXT _IO_FIXED_DATA _TEXT
group LGROUP _IRQTEXT _LOWTEXT _IO_TEXT _IO_FIXED_DATA _TEXT
group DGROUP _FIXED_DATA _BSS _DATA _DATAEND CONST CONST2 DCONST DYN_DATA
%ifdef WATCOM
group TGROUP HMA_TEXT_START HMA_TEXT HMA_TEXT_END INIT_TEXT_START INIT_TEXT INIT_TEXT_END
@ -51,6 +51,7 @@ group I_GROUP ID_B ID ID_E IC IDATA IB_B IB IB_E
%endif
segment PSP class=PSP
segment _IRQTEXT class=LCODE
segment _LOWTEXT class=LCODE
segment _IO_TEXT class=LCODE
segment _IO_FIXED_DATA class=LCODE align=2