diff options
author | Simon Glass <sjg@chromium.org> | 2017-01-16 07:03:35 -0700 |
---|---|---|
committer | Bin Meng <bmeng.cn@gmail.com> | 2017-02-06 11:38:46 +0800 |
commit | 42fd8c19b58fe8f8fe7559ea53b1cef12fc06240 (patch) | |
tree | b06a899ecdd9ec87f8415518e98ed14e08832431 /arch/x86/lib | |
parent | 0ec28e026606fa579e9c8639f82843fb6a60337a (diff) |
x86: Use unsigned long for address in table generation
We should use unsigned long rather than u32 for addresses. Update this so
that the table-generation code builds correctly on 64-bit machines.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch/x86/lib')
-rw-r--r-- | arch/x86/lib/acpi_table.c | 4 | ||||
-rw-r--r-- | arch/x86/lib/mpspec.c | 2 | ||||
-rw-r--r-- | arch/x86/lib/sfi.c | 6 | ||||
-rw-r--r-- | arch/x86/lib/tables.c | 11 | ||||
-rw-r--r-- | arch/x86/lib/zimage.c | 2 |
5 files changed, 9 insertions, 16 deletions
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c index 7001e8ba34..355456dc19 100644 --- a/arch/x86/lib/acpi_table.c +++ b/arch/x86/lib/acpi_table.c @@ -327,7 +327,7 @@ static void enter_acpi_mode(int pm1_cnt) * QEMU's version of write_acpi_tables is defined in * arch/x86/cpu/qemu/acpi_table.c */ -u32 write_acpi_tables(u32 start) +ulong write_acpi_tables(ulong start) { u32 current; struct acpi_rsdp *rsdp; @@ -345,7 +345,7 @@ u32 write_acpi_tables(u32 start) /* Align ACPI tables to 16 byte */ current = ALIGN(current, 16); - debug("ACPI: Writing ACPI tables at %x\n", start); + debug("ACPI: Writing ACPI tables at %lx\n", start); /* We need at least an RSDP and an RSDT Table */ rsdp = (struct acpi_rsdp *)current; diff --git a/arch/x86/lib/mpspec.c b/arch/x86/lib/mpspec.c index 6ab43f1055..516d7b3452 100644 --- a/arch/x86/lib/mpspec.c +++ b/arch/x86/lib/mpspec.c @@ -365,7 +365,7 @@ static void mptable_add_lintsrc(struct mp_config_table *mc, int bus_isa) bus_isa, 0, MP_APIC_ALL, 1); } -u32 write_mp_table(u32 addr) +ulong write_mp_table(ulong addr) { struct mp_config_table *mc; int ioapic_id, ioapic_ver; diff --git a/arch/x86/lib/sfi.c b/arch/x86/lib/sfi.c index 3d3658088a..507e037b99 100644 --- a/arch/x86/lib/sfi.c +++ b/arch/x86/lib/sfi.c @@ -38,14 +38,14 @@ static void *get_entry_start(struct table_info *tab) tab->table[tab->count] = tab->entry_start; tab->entry_start += sizeof(struct sfi_table_header); - return (void *)tab->entry_start; + return (void *)(uintptr_t)tab->entry_start; } static void finish_table(struct table_info *tab, const char *sig, void *entry) { struct sfi_table_header *hdr; - hdr = (struct sfi_table_header *)(tab->base + tab->ptr); + hdr = (struct sfi_table_header *)(uintptr_t)(tab->base + tab->ptr); strcpy(hdr->sig, sig); hdr->len = sizeof(*hdr) + ((ulong)entry - tab->entry_start); hdr->rev = 1; @@ -131,7 +131,7 @@ static int sfi_write_xsdt(struct table_info *tab) return 0; } -u32 write_sfi_table(u32 base) +ulong write_sfi_table(ulong base) { struct table_info table; diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c index 5966e5862a..4f5fe74288 100644 --- a/arch/x86/lib/tables.c +++ b/arch/x86/lib/tables.c @@ -12,20 +12,13 @@ #include <asm/acpi_table.h> #include <asm/coreboot_tables.h> -#ifdef CONFIG_GENERATE_SMBIOS_TABLE -static u32 write_smbios_table_wrapper(u32 addr) -{ - return write_smbios_table(addr); -} -#endif - /** * Function prototype to write a specific configuration table * * @addr: start address to write the table * @return: end address of the table */ -typedef u32 (*table_write)(u32 addr); +typedef ulong (*table_write)(ulong addr); static table_write table_write_funcs[] = { #ifdef CONFIG_GENERATE_PIRQ_TABLE @@ -41,7 +34,7 @@ static table_write table_write_funcs[] = { write_acpi_tables, #endif #ifdef CONFIG_GENERATE_SMBIOS_TABLE - write_smbios_table_wrapper, + write_smbios_table, #endif }; diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c index 1b33c77139..b6b0f2beb3 100644 --- a/arch/x86/lib/zimage.c +++ b/arch/x86/lib/zimage.c @@ -165,7 +165,7 @@ struct boot_params *load_zimage(char *image, unsigned long kernel_size, * A very old kernel MUST have its real-mode code * loaded at 0x90000 */ - if ((u32)setup_base != 0x90000) { + if ((ulong)setup_base != 0x90000) { /* Copy the real-mode kernel */ memmove((void *)0x90000, setup_base, setup_size); |