[PATCH] devmem: support more than 4GB of physical memory on 32 bit systems

Robert Schiele rschiele at gmail.com
Thu Jun 30 11:24:52 UTC 2016


Signed-off-by: Robert Schiele <rschiele at gmail.com>
---
 miscutils/devmem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/miscutils/devmem.c b/miscutils/devmem.c
index 786a21b..5515da5 100644
--- a/miscutils/devmem.c
+++ b/miscutils/devmem.c
@@ -20,7 +20,7 @@ int devmem_main(int argc UNUSED_PARAM, char **argv)
 	void *map_base, *virt_addr;
 	uint64_t read_result;
 	uint64_t writeval = writeval; /* for compiler */
-	off_t target;
+	off64_t target;
 	unsigned page_size, mapped_size, offset_in_page;
 	int fd;
 	unsigned width = 8 * sizeof(int);
@@ -72,12 +72,12 @@ int devmem_main(int argc UNUSED_PARAM, char **argv)
 		 * Must map two pages to make it possible: */
 		mapped_size *= 2;
 	}
-	map_base = mmap(NULL,
+	map_base = mmap64(NULL,
 			mapped_size,
 			argv[3] ? (PROT_READ | PROT_WRITE) : PROT_READ,
 			MAP_SHARED,
 			fd,
-			target & ~(off_t)(page_size - 1));
+			target & ~(off64_t)(page_size - 1));
 	if (map_base == MAP_FAILED)
 		bb_perror_msg_and_die("mmap");
 
-- 
2.8.4


More information about the busybox mailing list