*/
enum {
TEXT = 0,
+ BASEMEM,
};
/**
*/
struct hidden_region __data16_array ( hidden_regions, [] ) = {
[TEXT] = { 0, 0 },
+ [BASEMEM] = { 0, ( 640 * 1024 ) },
{ 0, 0, } /* Terminator */
};
#define hidden_regions __use_data16 ( 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 );