root/arch/um/include/asm/fixmap.h

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

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef __UM_FIXMAP_H
   3 #define __UM_FIXMAP_H
   4 
   5 #include <asm/processor.h>
   6 #include <asm/kmap_types.h>
   7 #include <asm/archparam.h>
   8 #include <asm/page.h>
   9 #include <linux/threads.h>
  10 
  11 /*
  12  * Here we define all the compile-time 'special' virtual
  13  * addresses. The point is to have a constant address at
  14  * compile time, but to set the physical address only
  15  * in the boot process. We allocate these special  addresses
  16  * from the end of virtual memory (0xfffff000) backwards.
  17  * Also this lets us do fail-safe vmalloc(), we
  18  * can guarantee that these special addresses and
  19  * vmalloc()-ed addresses never overlap.
  20  *
  21  * these 'compile-time allocated' memory buffers are
  22  * fixed-size 4k pages. (or larger if used with an increment
  23  * highger than 1) use fixmap_set(idx,phys) to associate
  24  * physical memory with fixmap indices.
  25  *
  26  * TLB entries of such buffers will not be flushed across
  27  * task switches.
  28  */
  29 
  30 /*
  31  * on UP currently we will have no trace of the fixmap mechanizm,
  32  * no page table allocations, etc. This might change in the
  33  * future, say framebuffers for the console driver(s) could be
  34  * fix-mapped?
  35  */
  36 enum fixed_addresses {
  37         __end_of_fixed_addresses
  38 };
  39 
  40 extern void __set_fixmap (enum fixed_addresses idx,
  41                           unsigned long phys, pgprot_t flags);
  42 
  43 /*
  44  * used by vmalloc.c.
  45  *
  46  * Leave one empty page between vmalloc'ed areas and
  47  * the start of the fixmap, and leave one page empty
  48  * at the top of mem..
  49  */
  50 
  51 #define FIXADDR_TOP     (TASK_SIZE - 2 * PAGE_SIZE)
  52 #define FIXADDR_SIZE    (__end_of_fixed_addresses << PAGE_SHIFT)
  53 #define FIXADDR_START   (FIXADDR_TOP - FIXADDR_SIZE)
  54 
  55 #include <asm-generic/fixmap.h>
  56 
  57 #endif

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