summaryrefslogtreecommitdiffstats
path: root/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
commit3451aa55079c126cf5ab6753f8c238bc85c3f0b6 (patch)
tree8c343406448761849134777cf4a7c81b089a7d58 /physmap.c
parent9fd389ecf29ca24e65f0ac5175518ead0ac241f0 (diff)
downloadflashrom-3451aa55079c126cf5ab6753f8c238bc85c3f0b6.zip
flashrom-3451aa55079c126cf5ab6753f8c238bc85c3f0b6.tar.gz
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 Corresponding to flashrom svn r399 and coreboot v2 svn r3905. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Peter Stuge <peter@stuge.se>
Diffstat (limited to 'physmap.c')
-rw-r--r--physmap.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/physmap.c b/physmap.c
index 65d2569..92e4dcc 100644
--- a/physmap.c
+++ b/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)
{
OpenPOWER on IntegriCloud