From 790ef9888a23fc257a66e742baf3b162b8c1f7c5 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Thu, 10 Sep 2020 00:18:12 +0200 Subject: hurd: Add missing round up size in map_dev_mem Signed-off-by: Samuel Thibault --- src/x86_pci.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/x86_pci.c b/src/x86_pci.c index 1e70f35..2fba1e5 100644 --- a/src/x86_pci.c +++ b/src/x86_pci.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2018 Damien Zammit * Copyright (c) 2017 Joan Lledó - * Copyright (c) 2009, 2012 Samuel Thibault + * Copyright (c) 2009, 2012, 2020 Samuel Thibault * Heavily inspired from the freebsd, netbsd, and openbsd backends * (C) Copyright Eric Anholt 2006 * (C) Copyright IBM Corporation 2006 @@ -228,6 +228,7 @@ map_dev_mem(void **dest, size_t mem_offset, size_t mem_size, int write) mach_port_t pager; dev_mode_t mode = D_READ; vm_prot_t prot = VM_PROT_READ; + int pagesize; if (get_privileged_ports (NULL, &master_device)) { *dest = 0; @@ -243,6 +244,10 @@ map_dev_mem(void **dest, size_t mem_offset, size_t mem_size, int write) if (err) return err; + pagesize = getpagesize(); + if (mem_size % pagesize) + mem_size += pagesize - (mem_size % pagesize); + err = device_map (devmem, prot, 0x0, mem_size, &pager, 0); if (err) return err; -- cgit v1.2.3