root/arch/m68k/include/asm/virtconvert.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. virt_to_phys
  2. phys_to_virt

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef __VIRT_CONVERT__
   3 #define __VIRT_CONVERT__
   4 
   5 /*
   6  * Macros used for converting between virtual and physical mappings.
   7  */
   8 
   9 #ifdef __KERNEL__
  10 
  11 #include <linux/compiler.h>
  12 #include <linux/mmzone.h>
  13 #include <asm/setup.h>
  14 #include <asm/page.h>
  15 
  16 /*
  17  * Change virtual addresses to physical addresses and vv.
  18  */
  19 #define virt_to_phys virt_to_phys
  20 static inline unsigned long virt_to_phys(void *address)
  21 {
  22         return __pa(address);
  23 }
  24 
  25 #define phys_to_virt phys_to_virt
  26 static inline void *phys_to_virt(unsigned long address)
  27 {
  28         return __va(address);
  29 }
  30 
  31 /* Permanent address of a page. */
  32 #if defined(CONFIG_MMU) && defined(CONFIG_SINGLE_MEMORY_CHUNK)
  33 #define page_to_phys(page) \
  34         __pa(PAGE_OFFSET + (((page) - pg_data_map[0].node_mem_map) << PAGE_SHIFT))
  35 #else
  36 #define page_to_phys(page)      (page_to_pfn(page) << PAGE_SHIFT)
  37 #endif
  38 
  39 /*
  40  * IO bus memory addresses are 1:1 with the physical address,
  41  */
  42 #define virt_to_bus virt_to_phys
  43 #define bus_to_virt phys_to_virt
  44 
  45 #endif
  46 #endif

/* [<][>][^][v][top][bottom][index][help] */