Skip to content

Commit

Permalink
[pcbios] Add extra debugging messages when unhiding iPXE from memory
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Brown <mcb30@ipxe.org>
  • Loading branch information
mcb30 committed Mar 8, 2013
1 parent 3a8dbd9 commit b33082a
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions src/arch/i386/firmware/pcbios/hidemem.c
Expand Up @@ -190,6 +190,8 @@ static void hide_etherboot ( void ) {
* possible.
*/
static void unhide_etherboot ( int flags __unused ) {
struct memory_map memmap;
int rc;

/* If we have more than one hooked interrupt at this point, it
* means that some other vector is still hooked, in which case
Expand All @@ -203,15 +205,23 @@ static void unhide_etherboot ( int flags __unused ) {
return;
}

/* Try to unhook INT 15. If it fails, then just leave it
* hooked; it takes care of protecting itself. :)
*/
unhook_bios_interrupt ( 0x15, ( unsigned int ) int15,
&int15_vector );
/* Try to unhook INT 15 */
if ( ( rc = unhook_bios_interrupt ( 0x15, ( unsigned int ) int15,
&int15_vector ) ) != 0 ) {
DBG ( "Cannot unhook INT15: %s\n", strerror ( rc ) );
/* Leave it hooked; there's nothing else we can do,
* and it should be intrinsically safe (though
* wasteful of RAM).
*/
}

/* Unhook fake E820 map, if used */
if ( FAKE_E820 )
unfake_e820();

/* Dump memory map after unhiding */
DBG ( "Unhidden iPXE from system memory map\n" );
get_memmap ( &memmap );
}

/** Hide Etherboot startup function */
Expand Down

0 comments on commit b33082a

Please sign in to comment.