diff options
author | Paul Menzel <paulepanter@users.sourceforge.net> | 2016-12-27 15:24:02 +0100 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-12-28 17:25:56 +0100 |
commit | 1e7911e8aa830fcdf86cbb72671d79ea4c2c0e2a (patch) | |
tree | b4f8e5fece79282226eaf3bfec0c8929c7bc7809 | |
parent | 010ecf800956f389bc34e09b968fe8934d4aa2ae (diff) |
util/intelmetool: Fix warning building with 32-bit
On a 32-bit system, pointers are 32-bit wide, and not 64-bit, resulting
in the warning below.
```
mmap.c: In function ‘map_physical_exact’:
mmap.c:26:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
virt_addr = mmap((void*)mapto, len, PROT_WRITE | PROT_READ,
^
```
Fix this by using compatible types.
Change-Id: I4ede26127efcbd5668b978e6880a0535607e373d
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: https://review.coreboot.org/17970
Tested-by: build bot (Jenkins)
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Martin Roth <martinroth@google.com>
-rw-r--r-- | util/intelmetool/intelmetool.c | 4 | ||||
-rw-r--r-- | util/intelmetool/mmap.c | 18 | ||||
-rw-r--r-- | util/intelmetool/mmap.h | 4 |
3 files changed, 13 insertions, 13 deletions
diff --git a/util/intelmetool/intelmetool.c b/util/intelmetool/intelmetool.c index aec0715212..7ffd5359b3 100644 --- a/util/intelmetool/intelmetool.c +++ b/util/intelmetool/intelmetool.c @@ -82,7 +82,7 @@ static void dump_me_memory() { uint32_t me_clone = 0x60000000; uint8_t *dump; - dump = map_physical_exact(me_clone, me_clone, 0x2000000); + dump = map_physical_exact((off_t)me_clone, (void *)me_clone, 0x2000000); zeroit(dump, 0x2000000); printf("Send magic command for memory clone\n"); @@ -206,7 +206,7 @@ static int activate_me() { pci_fill_info(sb, PCI_FILL_IDENT | PCI_FILL_BASES | PCI_FILL_SIZES | PCI_FILL_CLASS); rcba_phys = pci_read_long(sb, 0xf0) & 0xfffffffe; - rcba = map_physical(rcba_phys, size); + rcba = map_physical((off_t)rcba_phys, size); //printf("RCBA at 0x%08" PRIx32 "\n", (uint32_t)rcba_phys); fd2 = *(uint32_t *)(rcba + FD2); diff --git a/util/intelmetool/mmap.c b/util/intelmetool/mmap.c index da36eaac08..041aac9c81 100644 --- a/util/intelmetool/mmap.c +++ b/util/intelmetool/mmap.c @@ -19,33 +19,33 @@ #ifndef __DARWIN__ int fd_mem; -void *map_physical_exact(uint64_t phys_addr, uint64_t mapto, size_t len) { +void *map_physical_exact(off_t phys_addr, void *mapto, size_t len) { void *virt_addr; int err; - virt_addr = mmap((void*)mapto, len, PROT_WRITE | PROT_READ, - MAP_SHARED | MAP_FIXED, fd_mem, (off_t) phys_addr); + virt_addr = mmap(mapto, len, PROT_WRITE | PROT_READ, + MAP_SHARED | MAP_FIXED, fd_mem, phys_addr); if (virt_addr == MAP_FAILED) { err = errno; - printf("Error mapping physical memory 0x%016" PRIx64 "[0x%zx] ERRNO=%d\n", - phys_addr, len, err); + printf("Error mapping physical memory 0x%016jd [0x%zx] ERRNO=%d\n", + (intmax_t)phys_addr, len, err); return NULL; } return virt_addr; } -void *map_physical(uint64_t phys_addr, size_t len) { +void *map_physical(off_t phys_addr, size_t len) { void *virt_addr; int err; - virt_addr = mmap(NULL, len, PROT_WRITE | PROT_READ, MAP_SHARED, fd_mem, (off_t) phys_addr); + virt_addr = mmap(NULL, len, PROT_WRITE | PROT_READ, MAP_SHARED, fd_mem, phys_addr); if (virt_addr == MAP_FAILED) { err = errno; - printf("Error mapping physical memory 0x%016" PRIx64 "[0x%zx] ERRNO=%d\n", - phys_addr, len, err); + printf("Error mapping physical memory 0x%016jd [0x%zx] ERRNO=%d\n", + (intmax_t)phys_addr, len, err); return NULL; } diff --git a/util/intelmetool/mmap.h b/util/intelmetool/mmap.h index 109ceff498..2a7fa05308 100644 --- a/util/intelmetool/mmap.h +++ b/util/intelmetool/mmap.h @@ -21,7 +21,7 @@ #ifndef __DARWIN__ extern int fd_mem; -extern void *map_physical(uint64_t phys_addr, size_t len); +extern void *map_physical(off_t phys_addr, size_t len); extern void unmap_physical(void *virt_addr, size_t len); -extern void *map_physical_exact(uint64_t phys_addr, uint64_t mapto, size_t len); +extern void *map_physical_exact(off_t phys_addr, void *mapto, size_t len); #endif |