summaryrefslogtreecommitdiff
path: root/arch/x86/lib/sfi.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2017-01-16 14:03:35 (GMT)
committerBin Meng <bmeng.cn@gmail.com>2017-02-06 03:38:46 (GMT)
commit42fd8c19b58fe8f8fe7559ea53b1cef12fc06240 (patch)
treeb06a899ecdd9ec87f8415518e98ed14e08832431 /arch/x86/lib/sfi.c
parent0ec28e026606fa579e9c8639f82843fb6a60337a (diff)
downloadu-boot-42fd8c19b58fe8f8fe7559ea53b1cef12fc06240.tar.xz
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/sfi.c')
-rw-r--r--arch/x86/lib/sfi.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86/lib/sfi.c b/arch/x86/lib/sfi.c
index 3d36580..507e037 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;