projects
/
debian
/
elilo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Upstream version 3.10
[debian/elilo]
/
x86_64
/
system.c
diff --git
a/x86_64/system.c
b/x86_64/system.c
index 72c094fad9381745c86b9b2b4e3d49b46e615a91..6874acc51aa32e2eea7b9d07231a06e916211624 100644
(file)
--- a/
x86_64/system.c
+++ b/
x86_64/system.c
@@
-105,7
+105,10
@@
UINTN high_base_mem = 0x90000;
UINTN high_ext_mem = 32 * 1024 * 1024;
/* This starting address will hold true for all of the loader types for now */
UINTN high_ext_mem = 32 * 1024 * 1024;
/* This starting address will hold true for all of the loader types for now */
-VOID *kernel_start = (VOID *)0x100000; /* 1M */
+VOID *kernel_start = (void *)DEFAULT_KERNEL_START;
+
+/* The kernel may load elsewhere if EFI firmware reserves kernel_start */
+VOID *kernel_load_address = DEFAULT_KERNEL_START;
VOID *initrd_start = NULL;
UINTN initrd_size = 0;
VOID *initrd_start = NULL;
UINTN initrd_size = 0;
@@
-139,16
+142,16
@@
sysdeps_initrd_get_addr(kdesc_t *kd, memdesc_t *imem)
DBG_PRT((L"initrd_get_addr()\n"));
if (!kd || !imem) {
DBG_PRT((L"initrd_get_addr()\n"));
if (!kd || !imem) {
- ERR_PRT((L"kd=
0x%x imem=0x%x
", kd, imem));
+ ERR_PRT((L"kd=
"PTR_FMT" imem="PTR_FMT"
", kd, imem));
return -1;
}
return -1;
}
- VERB_PRT(3, Print(L"kstart=
0x%x kentry=0x%x kend=0x%x
\n",
+ VERB_PRT(3, Print(L"kstart=
"PTR_FMT" kentry="PTR_FMT" kend="PTR_FMT"
\n",
kd->kstart, kd->kentry, kd->kend));
imem->start_addr = kd->kend;
kd->kstart, kd->kentry, kd->kend));
imem->start_addr = kd->kend;
- VERB_PRT(3, Print(L"initrd start_addr=
0x%x
pgcnt=%d\n",
+ VERB_PRT(3, Print(L"initrd start_addr=
"PTR_FMT"
pgcnt=%d\n",
imem->start_addr, imem->pgcnt));
return 0;
imem->start_addr, imem->pgcnt));
return 0;
@@
-160,7
+163,7
@@
sysdeps_free_boot_params(boot_params_t *bp)
mmap_desc_t md;
ZeroMem(&md, sizeof md);
mmap_desc_t md;
ZeroMem(&md, sizeof md);
- md.md = (VOID *)bp->s.efi_mem_map;
+ md.md = (VOID *)
(UINT64)
bp->s.efi_mem_map;
free_memmap(&md);
}
free_memmap(&md);
}
@@
-189,10
+192,11
@@
static INTN get_video_info(boot_params_t * bp) {
EFI_GUID GopProtocol = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID;
EFI_GRAPHICS_OUTPUT_PROTOCOL *Gop_interface;
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Gop_info;
EFI_GUID GopProtocol = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID;
EFI_GRAPHICS_OUTPUT_PROTOCOL *Gop_interface;
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Gop_info;
- EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Gop_mode;
- EFI_HANDLE *Gop_handle;
+ EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Gop_mode
= NULL
;
+ EFI_HANDLE *Gop_handle
= NULL
;
EFI_STATUS efi_status;
EFI_STATUS efi_status;
- UINTN size, size1;
+ UINTN size = 0;
+ UINTN size1;
UINT8 i;
efi_status = uefi_call_wrapper(
UINT8 i;
efi_status = uefi_call_wrapper(
@@
-459,7
+463,7
@@
sysdeps_create_boot_params(
DBG_PRT((L"fill_boot_params()\n"));
if (!bp || !cmdline || !initrd || !cookie) {
DBG_PRT((L"fill_boot_params()\n"));
if (!bp || !cmdline || !initrd || !cookie) {
- ERR_PRT((L"bp=
0x%x cmdline=0x%x initrd=0x%x cookie=0x%x
",
+ ERR_PRT((L"bp=
"PTR_FMT" cmdline="PTR_FMT" initrd="PTR_FMT" cookie="PTR_FMT"
",
bp, cmdline, initrd, cookie));
if (param_start != NULL) {
bp, cmdline, initrd, cookie));
if (param_start != NULL) {
@@
-546,7
+550,7
@@
sysdeps_create_boot_params(
* Initial RAMdisk and root device stuff.
*/
* Initial RAMdisk and root device stuff.
*/
- DBG_PRT((L"initrd->start_addr=
0x%x
initrd->pgcnt=%d\n",
+ DBG_PRT((L"initrd->start_addr=
"PTR_FMT"
initrd->pgcnt=%d\n",
initrd->start_addr, initrd->pgcnt));
/* These RAMdisk flags are not needed, just zero them. */
initrd->start_addr, initrd->pgcnt));
/* These RAMdisk flags are not needed, just zero them. */
@@
-554,7
+558,7
@@
sysdeps_create_boot_params(
if (initrd->start_addr && initrd->pgcnt) {
/* %%TBD - This will probably have to be changed. */
if (initrd->start_addr && initrd->pgcnt) {
/* %%TBD - This will probably have to be changed. */
- bp->s.initrd_start = (UINT32)initrd->start_addr;
+ bp->s.initrd_start = (UINT32)
(UINT64)
initrd->start_addr;
bp->s.initrd_size = (UINT32)(initrd->size);
/*
* This is the RAMdisk root device for RedHat 2.2.x
bp->s.initrd_size = (UINT32)(initrd->size);
/*
* This is the RAMdisk root device for RedHat 2.2.x
@@
-598,7
+602,7
@@
sysdeps_create_boot_params(
/*
* Kernel entry point.
*/
/*
* Kernel entry point.
*/
- bp->s.kernel_start = (UINT32)kernel_start;
+ bp->s.kernel_start = (UINT32)
(UINT64)
kernel_start;
/*
* When changing stuff in the parameter structure compare
/*
* When changing stuff in the parameter structure compare