From 265efa8b8bbab8165f345f270d5dc237cf1b3828 Mon Sep 17 00:00:00 2001 From: Eric Auer Date: Sat, 20 May 2006 20:49:59 +0000 Subject: [PATCH] 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 --- kernel/execrh.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/execrh.asm b/kernel/execrh.asm index ba28486..e4a0ba0 100644 --- a/kernel/execrh.asm +++ b/kernel/execrh.asm @@ -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