removed the "protect 386 registers" patch again, a fixed version of free-
EMM386 is available. This reduces device driver call overhead in terms of CPU and stack usage. Older EMM386 versions destroyed eax ebx ecx edi esi ebp fs gs, now go_driver_entry in emm386.asm saves those registers. Only the INIT was broken, but the execrh.asm patch protected ALL functions. git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@1184 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
52c9c933d8
commit
265efa8b8b
@ -66,13 +66,13 @@ segment HMA_TEXT
|
||||
pop di
|
||||
pop si
|
||||
|
||||
Protect386Registers ; protect from drivers that destroy eg emm386
|
||||
; Protect386Registers ; old free-EMM386 versions destroy regs in their INIT method
|
||||
|
||||
mov ax,[si+8] ; construct 'interrupt' address
|
||||
mov [bp+4],ax ; construct interrupt address
|
||||
call far[bp+4] ; call far the interrupt
|
||||
|
||||
Restore386Registers
|
||||
; Restore386Registers ; less stack load and better performance...
|
||||
|
||||
sti ; damm driver turn off ints
|
||||
cld ; has gone backwards
|
||||
|
Loading…
Reference in New Issue
Block a user