diff options
author | Michael Brown | 2007-09-21 19:27:51 +0200 |
---|---|---|
committer | Michael Brown | 2007-09-21 19:33:17 +0200 |
commit | a7eee64506673a872a820fed4c9fdc8081b46627 (patch) | |
tree | 2b8ae048388f08a1f3e402523d4e26ae02031129 /src/arch/i386/interface/pcbios/int13.c | |
parent | Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe (diff) | |
download | ipxe-a7eee64506673a872a820fed4c9fdc8081b46627.tar.gz ipxe-a7eee64506673a872a820fed4c9fdc8081b46627.tar.xz ipxe-a7eee64506673a872a820fed4c9fdc8081b46627.zip |
Added more verbose memory-map debugging.
Added redundant call to get_memmap() in int13_boot() immediately
before jumping to boot sector, to assist in debugging.
Diffstat (limited to 'src/arch/i386/interface/pcbios/int13.c')
-rw-r--r-- | src/arch/i386/interface/pcbios/int13.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/arch/i386/interface/pcbios/int13.c b/src/arch/i386/interface/pcbios/int13.c index a26dcff4..7e09fb5f 100644 --- a/src/arch/i386/interface/pcbios/int13.c +++ b/src/arch/i386/interface/pcbios/int13.c @@ -23,6 +23,7 @@ #include <assert.h> #include <gpxe/list.h> #include <gpxe/blockdev.h> +#include <gpxe/memmap.h> #include <realmode.h> #include <bios.h> #include <biosint.h> @@ -601,6 +602,7 @@ void unregister_int13_drive ( struct int13_drive *drive ) { * Note that this function can never return success, by definition. */ int int13_boot ( unsigned int drive ) { + struct memory_map memmap; int status, signature; int discard_c, discard_d; int rc; @@ -634,6 +636,13 @@ int int13_boot ( unsigned int drive ) { return -ENOEXEC; } + /* Dump out memory map prior to boot, if memmap debugging is + * enabled. Not required for program flow, but we have so + * many problems that turn out to be memory-map related that + * it's worth doing. + */ + get_memmap ( &memmap ); + /* Jump to boot sector */ if ( ( rc = call_bootsector ( 0x0, 0x7c00, drive ) ) != 0 ) { DBG ( "INT 13 drive %02x boot returned\n", drive ); |