Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Jul 2014 14:48:35 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r269333 - projects/arm64/sys/arm64/arm64
Message-ID:  <201407311448.s6VEmZMS027240@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andrew
Date: Thu Jul 31 14:48:35 2014
New Revision: 269333
URL: http://svnweb.freebsd.org/changeset/base/269333

Log:
  Implement the map and unmap functions.

Modified:
  projects/arm64/sys/arm64/arm64/bus_machdep.c

Modified: projects/arm64/sys/arm64/arm64/bus_machdep.c
==============================================================================
--- projects/arm64/sys/arm64/arm64/bus_machdep.c	Thu Jul 31 14:47:26 2014	(r269332)
+++ projects/arm64/sys/arm64/arm64/bus_machdep.c	Thu Jul 31 14:48:35 2014	(r269333)
@@ -28,8 +28,36 @@
 #include <sys/param.h>
 __FBSDID("$FreeBSD$");
 
+#include <vm/vm.h>
+#include <vm/pmap.h>
+
 #include <machine/bus.h>
 
+static int
+generic_bs_map(void *t, bus_addr_t bpa, bus_size_t size, int flags,
+    bus_space_handle_t *bshp)
+{
+	void *va;
+
+	va = pmap_mapdev(bpa, size);
+	if (va == NULL)
+		return (ENOMEM);
+	*bshp = (bus_space_handle_t)va;
+	return (0);
+}
+
+static void
+generic_bs_unmap(void *t, bus_space_handle_t bsh, bus_size_t size)
+{
+
+	pmap_unmapdev(bsh, size);
+}
+
 struct bus_space memmap_bus = {
+	/* cookie */
 	.bs_cookie = NULL,
+
+	/* mapping/unmapping */
+	.bs_map = generic_bs_map,
+	.bs_unmap = generic_bs_unmap,
 };



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407311448.s6VEmZMS027240>