Re: [updated patch] for efi support in ia32 kernels

From: Andrew Morton
Date: Sat Oct 04 2003 - 01:00:11 EST


"Tolentino, Matthew E" <matthew.e.tolentino@xxxxxxxxx> wrote:
>
> Attached is another patch that enables EFI boot-up support in ia32 kernels.

I've added the below patch to fix a few warnings:

arch/i386/kernel/efi.c:446: warning: cast from pointer to integer of different size
arch/i386/kernel/efi.c:455: warning: cast from pointer to integer of different size
arch/i386/kernel/efi.c:455: warning: cast to pointer from integer of different size


Please review, and test 2.6.0-test6-mm3 or later to make sure that things
are all OK.

Also, we really should make the EFI code CONFIGurable - it's another seven
kilobytes which a lot of people won't be needing. A patch against -mm
which implements that would be appreciated.


arch/i386/kernel/efi.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)

diff -puN arch/i386/kernel/efi.c~ia32-efi-support-warning-fixes arch/i386/kernel/efi.c
--- 25/arch/i386/kernel/efi.c~ia32-efi-support-warning-fixes 2003-10-03 22:43:42.000000000 -0700
+++ 25-akpm/arch/i386/kernel/efi.c 2003-10-03 22:51:03.000000000 -0700
@@ -441,18 +441,19 @@ void __init efi_enter_virtual_mode(void)

if (md->attribute & EFI_MEMORY_RUNTIME) {
md->virt_addr =
- (u64) ioremap((unsigned long) md->phys_addr,
- (unsigned long) (md->num_pages
- << EFI_PAGE_SHIFT));
+ (unsigned long)ioremap(md->phys_addr,
+ md->num_pages << EFI_PAGE_SHIFT);
if (!(unsigned long) md->virt_addr) {
printk(KERN_ERR PFX "ioremap of md: 0x%lX failed \n",
(unsigned long) md->phys_addr);
}

if (((unsigned long)md->phys_addr <= (unsigned long)efi_phys.systab) && ((unsigned long)efi_phys.systab < md->phys_addr + ((unsigned long) md->num_pages << EFI_PAGE_SHIFT))) {
- efi.systab = (efi_system_table_t *)
- ((md->virt_addr - md->phys_addr) +
- (u64)efi_phys.systab);
+ unsigned long addr;
+
+ addr = md->virt_addr - md->phys_addr +
+ (unsigned long)efi_phys.systab;
+ efi.systab = (efi_system_table_t *)addr;
}
}
}

_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/