aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2011-08-18 20:15:37 +0100
committerMatt Fleming <matt.fleming@intel.com>2011-08-18 20:55:56 +0100
commitace0e7400fdf63d543155fca6391f9e8008cd050 (patch)
tree5b1e98ede2513bd96be5ebf4e46b0a5f5c9fb52f
parentadd4b59291be01a06bf7635217d648d3d98b2de8 (diff)
downloadefilinux-ace0e7400fdf63d543155fca6391f9e8008cd050.tar.gz
bzimage: Use UINTN to cast from pointer to integer
The following warnings appear when compiling for i386, cc1: warnings being treated as errors loaders/bzimage/bzimage.c: In function ‘load_kernel’: loaders/bzimage/bzimage.c:165:16: error: cast from pointer to integer of different size loaders/bzimage/bzimage.c:167:11: error: cast from pointer to integer of different size loaders/bzimage/bzimage.c:178:37: error: cast from pointer to integer of different size loaders/bzimage/bzimage.c:186:34: error: cast from pointer to integer of different size loaders/bzimage/bzimage.c:275:21: error: cast from pointer to integer of different size loaders/bzimage/bzimage.c:276:21: error: cast from pointer to integer of different size loaders/bzimage/bzimage.c:277:21: error: cast from pointer to integer of different size loaders/bzimage/bzimage.c:283:31: error: cast to pointer from integer of different size loaders/bzimage/bzimage.c:307:10: error: cast from pointer to integer of different size loaders/bzimage/bzimage.c:319:28: error: cast from pointer to integer of different size loaders/bzimage/bzimage.c:322:28: error: cast from pointer to integer of different size Use UINTN which maps to unsigned long and works for i386 and x86-64. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
-rw-r--r--loaders/bzimage/bzimage.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/loaders/bzimage/bzimage.c b/loaders/bzimage/bzimage.c
index 335fc9e..14324b0 100644
--- a/loaders/bzimage/bzimage.c
+++ b/loaders/bzimage/bzimage.c
@@ -162,9 +162,9 @@ load_kernel(EFI_HANDLE image, CHAR16 *name, char *cmdline)
}
rd = (void *)(UINTN)addr;
- if ((UINT32)(UINT64)rd > buf->hdr.ramdisk_max) {
+ if ((UINTN)rd > buf->hdr.ramdisk_max) {
Print(L"ramdisk address is too high!\n");
- efree((EFI_PHYSICAL_ADDRESS)rd, size);
+ efree((UINTN)rd, size);
file_close(rdfile);
goto out;
}
@@ -175,7 +175,7 @@ load_kernel(EFI_HANDLE image, CHAR16 *name, char *cmdline)
if (err != EFI_SUCCESS)
goto out;
- buf->hdr.ramdisk_start = (UINT32)(UINT64)rd;
+ buf->hdr.ramdisk_start = (UINT32)(UINTN)rd;
buf->hdr.ramdisk_len = size;
}
} else {
@@ -183,7 +183,7 @@ load_kernel(EFI_HANDLE image, CHAR16 *name, char *cmdline)
buf->hdr.ramdisk_len = 0;
}
- buf->hdr.cmd_line_ptr = (UINT32)(UINT64)cmdline;
+ buf->hdr.cmd_line_ptr = (UINT32)(UINTN)cmdline;
buf->hdr.cmdline_size = strlen(cmdline);
memset((char *)&buf->screen_info, 0x0, sizeof(buf->screen_info));
@@ -272,15 +272,15 @@ again:
*
* Print a warning and hope for the best.
*/
- if (kernel_start < (EFI_PHYSICAL_ADDRESS)boot_params ||
- kernel_start < (EFI_PHYSICAL_ADDRESS)map_buf ||
- kernel_start < (EFI_PHYSICAL_ADDRESS)gdt.base)
+ if (kernel_start < (UINTN)boot_params ||
+ kernel_start < (UINTN)map_buf ||
+ kernel_start < (UINTN)gdt.base)
Print(L"Warning: kernel_start is too low.\n");
/*
* Read the rest of the kernel image.
*/
- err = file_read(file, &size, (void *)kernel_start);
+ err = file_read(file, &size, (void *)(UINTN)kernel_start);
if (err != EFI_SUCCESS)
goto out;
@@ -304,7 +304,7 @@ again:
* call to memory_map().
*/
efree(kernel_start, 0x800000);
- efree((EFI_PHYSICAL_ADDRESS)map_buf, _map_size);
+ efree((UINTN)map_buf, _map_size);
file_set_position(file, (UINT64)nr_setup_secs * 512);
goto again;
}
@@ -316,10 +316,10 @@ again:
goto out;
efi = &boot_params->efi_info;
- efi->efi_systab = (UINT32)(UINT64)sys_table;
+ efi->efi_systab = (UINT32)(UINTN)sys_table;
efi->efi_memdesc_size = desc_size;
efi->efi_memdesc_version = desc_version;
- efi->efi_memmap = (UINT32)(UINT64)map_buf;
+ efi->efi_memmap = (UINT32)(UINTN)map_buf;
efi->efi_memmap_size = map_size;
efi->efi_systab_hi = (unsigned long)sys_table >> 32;
efi->efi_memmap_hi = (unsigned long)map_buf >> 32;