summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arch/i386/firmware/pcbios/hidemem.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/arch/i386/firmware/pcbios/hidemem.c b/src/arch/i386/firmware/pcbios/hidemem.c
index 6ea5c5bd9..276f9c926 100644
--- a/src/arch/i386/firmware/pcbios/hidemem.c
+++ b/src/arch/i386/firmware/pcbios/hidemem.c
@@ -50,6 +50,7 @@ extern struct segoff __text16 ( int15_vector );
*/
enum {
TEXT = 0,
+ BASEMEM,
};
/**
@@ -59,6 +60,7 @@ enum {
*/
struct hidden_region __data16_array ( hidden_regions, [] ) = {
[TEXT] = { 0, 0 },
+ [BASEMEM] = { 0, ( 640 * 1024 ) },
{ 0, 0, } /* Terminator */
};
#define hidden_regions __use_data16 ( hidden_regions )
@@ -72,10 +74,13 @@ struct hidden_region __data16_array ( hidden_regions, [] ) = {
void hide_etherboot ( void ) {
hidden_regions[TEXT].start = virt_to_phys ( _text );
hidden_regions[TEXT].end = virt_to_phys ( _end );
+ hidden_regions[BASEMEM].start = ( rm_cs << 4 );
- DBG ( "Hiding [%lx,%lx)\n",
+ DBG ( "Hiding [%lx,%lx) and [%lx,%lx)\n",
( unsigned long ) hidden_regions[TEXT].start,
- ( unsigned long ) hidden_regions[TEXT].end );
+ ( unsigned long ) hidden_regions[TEXT].end,
+ ( unsigned long ) hidden_regions[BASEMEM].start,
+ ( unsigned long ) hidden_regions[BASEMEM].end );
hook_bios_interrupt ( 0x15, ( unsigned int ) int15,
&int15_vector );