summaryrefslogtreecommitdiff
path: root/util/flashrom/physmap.c
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2009-01-26 01:23:31 +0000
committerPeter Stuge <peter@stuge.se>2009-01-26 01:23:31 +0000
commit713ee92c96c0c92cdd1fe64a58cc1f9abd94d11c (patch)
treeba465bab12911ecb94ab3ea56b466273081543f8 /util/flashrom/physmap.c
parentd48091a35c18745527d1e164f82bc774e4bd6b58 (diff)
flashrom: Darwin / Mac OS X
Through DirectIO from coresystems GmbH we now support Darwin/Mac OS X. DirectIO is available at http://www.coresystems.de/en/directio Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3905 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/flashrom/physmap.c')
-rw-r--r--util/flashrom/physmap.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/util/flashrom/physmap.c b/util/flashrom/physmap.c
index 65d25698c8..92e4dccd75 100644
--- a/util/flashrom/physmap.c
+++ b/util/flashrom/physmap.c
@@ -1,4 +1,3 @@
-#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -6,6 +5,24 @@
#include <errno.h>
#include "flash.h"
+#ifdef __DARWIN__
+#include <DirectIO/darwinio.h>
+
+#define MEM_DEV "DirectIO"
+
+void *sys_physmap(unsigned long phys_addr, size_t len)
+{
+ return map_physical(phys_addr, len);
+}
+
+void physunmap(void *virt_addr, size_t len)
+{
+ unmap_physical(virt_addr, len);
+}
+
+#else
+#include <sys/mman.h>
+
#if defined (__sun) && (defined(__i386) || defined(__amd64))
# define MEM_DEV "/dev/xsvc"
#else
@@ -34,6 +51,7 @@ void physunmap(void *virt_addr, size_t len)
{
munmap(virt_addr, len);
}
+#endif
void *physmap(const char *descr, unsigned long phys_addr, size_t len)
{