summaryrefslogtreecommitdiffstats
path: root/arch/m68k/include/asm/virtconvert.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k/include/asm/virtconvert.h')
-rw-r--r--arch/m68k/include/asm/virtconvert.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/arch/m68k/include/asm/virtconvert.h b/arch/m68k/include/asm/virtconvert.h
new file mode 100644
index 000000000..0a27905b0
--- /dev/null
+++ b/arch/m68k/include/asm/virtconvert.h
@@ -0,0 +1,43 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __VIRT_CONVERT__
+#define __VIRT_CONVERT__
+
+/*
+ * Macros used for converting between virtual and physical mappings.
+ */
+
+#ifdef __KERNEL__
+
+#include <linux/compiler.h>
+#include <linux/mmzone.h>
+#include <asm/setup.h>
+#include <asm/page.h>
+
+/*
+ * Change virtual addresses to physical addresses and vv.
+ */
+#define virt_to_phys virt_to_phys
+static inline unsigned long virt_to_phys(void *address)
+{
+ return __pa(address);
+}
+
+#define phys_to_virt phys_to_virt
+static inline void *phys_to_virt(unsigned long address)
+{
+ return __va(address);
+}
+
+/* Permanent address of a page. */
+#define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT)
+
+/*
+ * IO bus memory addresses are 1:1 with the physical address,
+ * deprecated globally but still used on two machines.
+ */
+#if defined(CONFIG_AMIGA) || defined(CONFIG_VME)
+#define virt_to_bus virt_to_phys
+#endif
+
+#endif
+#endif