Author: tkreuzer
Date: Tue Jun 14 08:10:59 2011
New Revision: 52225

URL: http://svn.reactos.org/svn/reactos?rev=52225&view=rev
Log:
[FREELDR]
Move EnableA20 to realmode code, remove DisableA20

Modified:
    trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S
    trunk/reactos/boot/freeldr/freeldr/arch/realmode/helpers.inc
    trunk/reactos/boot/freeldr/freeldr/arch/realmode/i386.S

Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S?rev=52225&r1=52224&r2=52225&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S [iso-8859-1] Tue Jun 
14 08:10:59 2011
@@ -211,69 +211,11 @@
        ret
 
 
-       /*
-        * Needed for enabling the a20 address line
-        */
-.code16
-empty_8042:
-       .word   0x00eb,0x00eb            // jmp $+2, jmp $+2
-       in al, HEX(64)
-       cmp al, HEX(ff)               // legacy-free machine without keyboard
-       jz empty_8042_ret           // controllers on Intel Macs read back 0xFF
-       test al, 2
-       jnz empty_8042
-empty_8042_ret:
-       ret
-
-       /*
-        * Enable the A20 address line (to allow access to over 1mb)
-        */
-EXTERN(_EnableA20)
 .code32
-
-       pusha
-
-       call switch_to_real
-.code16
-
-       call empty_8042
-       mov al, HEX(D1)                // command write
-       out HEX(64), al
-       call empty_8042
-       mov al, HEX(DF)                // A20 on
-       out     HEX(60), al
-       call empty_8042
-       call switch_to_prot
-       .code32
-
-       popa
-
-       ret
-
-       /*
-        * Disable the A20 address line
-        */
-EXTERN(_DisableA20)
-.code32
-
-       pusha
-
-       call switch_to_real
-       .code16
-
-       call    empty_8042
-       mov al, HEX(D1)                // command write
-       out HEX(64), al
-       call empty_8042
-       mov al, HEX(DD)                // A20 off
-       out HEX(60), al
-       call    empty_8042
-       call    switch_to_prot
-       .code32
-
-       popa
-
-       ret
+PUBLIC _EnableA20
+_EnableA20:
+    ret
+
 
 /* Multiboot support
  *

Modified: trunk/reactos/boot/freeldr/freeldr/arch/realmode/helpers.inc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/realmode/helpers.inc?rev=52225&r1=52224&r2=52225&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/realmode/helpers.inc [iso-8859-1] 
(original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/realmode/helpers.inc [iso-8859-1] 
Tue Jun 14 08:10:59 2011
@@ -3,21 +3,21 @@
     .word 0x00eb,0x00eb                // jmp $+2, jmp $+2
     in al, 0x64
     cmp al, 0xff                               // legacy-free machine without 
keyboard
-    jz empty_8042_ret                  // controllers on Intel Macs read back 
0xFF
+    jz Empty8042_ret                   // controllers on Intel Macs read back 
0xFF
     test al, 0x02
-    jnz x86_16_Empty8042
-empty_8042_ret:
+    jnz Empty8042
+Empty8042_ret:
        ret
 
 EnableA20:
     pusha
-    call x86_16_Empty8042
+    call Empty8042
     mov al, 0xD1                               // command write
     out 0x64, al
-    call x86_16_Empty8042
+    call Empty8042
     mov al, 0xDF                               // A20 on
     out 0x60, al
-    call x86_16_Empty8042
+    call Empty8042
     popa
     ret
 

Modified: trunk/reactos/boot/freeldr/freeldr/arch/realmode/i386.S
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/realmode/i386.S?rev=52225&r1=52224&r2=52225&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/realmode/i386.S [iso-8859-1] 
(original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/realmode/i386.S [iso-8859-1] Tue 
Jun 14 08:10:59 2011
@@ -26,6 +26,9 @@
 
     /* Setup the stack */
     mov sp, word ptr ds:stack16
+
+    /* Enable A20 address line */
+    call EnableA20
 
     /* Get address of optional header */
     mov eax, dword ptr ds:[FREELDR_PE_BASE + IMAGE_DOS_HEADER_e_lfanew]


Reply via email to