[librm] Use libflat to enable A20 line on each real-to-protected transition

Use the shared code in libflat to perform the A20 transitions
automatically on each transition from real to protected mode.  This
allows us to remove all explicit calls to gateA20_set().

The old warnings about avoiding automatically enabling A20 are
essentially redundant; they date back to the time when we would always
start hammering the keyboard controller without first checking to see
if gate A20 was already enabled (which it almost always is).

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2010-04-20 19:20:26 +01:00
parent 24b52ae476
commit 38cd2035ff
8 changed files with 12 additions and 227 deletions

View File

@@ -1,7 +0,0 @@
#ifndef GATEA20_H
#define GATEA20_H
extern void gateA20_set ( void );
extern void gateA20_unset ( void );
#endif /* GATEA20_H */

View File

@@ -157,11 +157,6 @@ extern uint16_t __data16 ( rm_cs );
extern uint16_t __text16 ( rm_ds );
#define rm_ds __use_text16 ( rm_ds )
/* Functions that librm expects to be able to link to. Included here
* so that the compiler will catch prototype mismatches.
*/
extern void gateA20_set ( void );
/**
* Convert segment:offset address to user buffer
*