diff --git a/arch/x86/archtables.c b/arch/x86/archtables.c index 6313bf6533..e41c4196a0 100644 --- a/arch/x86/archtables.c +++ b/arch/x86/archtables.c @@ -145,7 +145,7 @@ void *arch_write_tables(void) #endif /* The Multiboot information structure */ - mbi = rom_table_end; + mbi = (void*)rom_table_end; rom_table_end = write_multiboot_info( low_table_start, low_table_end, rom_table_start, rom_table_end); diff --git a/arch/x86/multiboot.c b/arch/x86/multiboot.c index c3db74010a..b2002b2152 100644 --- a/arch/x86/multiboot.c +++ b/arch/x86/multiboot.c @@ -78,12 +78,12 @@ unsigned long write_multiboot_info( struct multiboot_info *mbi; int i; - mbi = rom_table_end; + mbi = (void*)rom_table_end; memset(mbi, 0, sizeof(*mbi)); rom_table_end += sizeof(*mbi); mbi->mmap_addr = (u32) rom_table_end; - mb_mem = rom_table_end; + mb_mem = (struct multiboot_mmap_entry*)rom_table_end; /* reserved regions */ reserved_mem[0].addr = low_table_start; @@ -107,5 +107,5 @@ unsigned long write_multiboot_info( printk(BIOS_INFO, "Multiboot Information structure has been written.\n"); - return mb_mem; + return (unsigned long)mb_mem; }