david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[bzImage] Support loading zImage kernels

zImage kernels require the real-mode portion to be loaded at 9000:0000
rather than 1000:0000.
This commit is contained in:
Stefan Hajnoczi 2008-06-30 19:51:41 +01:00 committed by Michael Brown
parent e9e1da131a
commit ce51128534
1 changed files with 3 additions and 1 deletions

View File

@ -414,7 +414,9 @@ static int bzimage_load_header ( struct image *image,
}
/* Calculate load address and size of real-mode portion */
load_ctx->rm_kernel_seg = 0x1000; /* place RM kernel at 1000:0000 */
load_ctx->rm_kernel_seg = ( ( bzhdr->loadflags & BZI_LOAD_HIGH ) ?
0x1000 : /* 1000:0000 (bzImage) */
0x9000 ); /* 9000:0000 (zImage) */
load_ctx->rm_kernel = real_to_user ( load_ctx->rm_kernel_seg, 0 );
load_ctx->rm_filesz =
( ( bzhdr->setup_sects ? bzhdr->setup_sects : 4 ) + 1 ) << 9;