summaryrefslogtreecommitdiffstats
path: root/arch/parisc/include/asm/fixmap.h
diff options
context:
space:
mode:
authorYoshinori Sato <ysato@users.sourceforge.jp>2019-06-02 08:46:11 +0200
committerYoshinori Sato <ysato@users.sourceforge.jp>2019-06-02 08:46:11 +0200
commit860dbce3d8dd90cb9e909c58fa79808766243651 (patch)
treef68920c82fa779ae37bbce08a58259e5c3934ab3 /arch/parisc/include/asm/fixmap.h
parentFix allyesconfig output. (diff)
parentMerge tag 'nfsd-5.2-1' of git://linux-nfs.org/~bfields/linux (diff)
downloadlinux-860dbce3d8dd90cb9e909c58fa79808766243651.tar.xz
linux-860dbce3d8dd90cb9e909c58fa79808766243651.zip
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
Diffstat (limited to 'arch/parisc/include/asm/fixmap.h')
-rw-r--r--arch/parisc/include/asm/fixmap.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/arch/parisc/include/asm/fixmap.h b/arch/parisc/include/asm/fixmap.h
index f7c3a0905de4..288da73d4cc0 100644
--- a/arch/parisc/include/asm/fixmap.h
+++ b/arch/parisc/include/asm/fixmap.h
@@ -15,17 +15,34 @@
* from areas congruently mapped with user space. It is 8MB large
* and must be 16MB aligned */
#define TMPALIAS_MAP_START ((__PAGE_OFFSET) - 16*1024*1024)
+
+#define FIXMAP_SIZE (FIX_BITMAP_COUNT << PAGE_SHIFT)
+#define FIXMAP_START (TMPALIAS_MAP_START - FIXMAP_SIZE)
/* This is the kernel area for all maps (vmalloc, dma etc.) most
* usually, it extends up to TMPALIAS_MAP_START. Virtual addresses
* 0..GATEWAY_PAGE_SIZE are reserved for the gateway page */
#define KERNEL_MAP_START (GATEWAY_PAGE_SIZE)
-#define KERNEL_MAP_END (TMPALIAS_MAP_START)
+#define KERNEL_MAP_END (FIXMAP_START)
#ifndef __ASSEMBLY__
+
+
+enum fixed_addresses {
+ /* Support writing RO kernel text via kprobes, jump labels, etc. */
+ FIX_TEXT_POKE0,
+ FIX_BITMAP_COUNT
+};
+
extern void *parisc_vmalloc_start;
#define PCXL_DMA_MAP_SIZE (8*1024*1024)
#define VMALLOC_START ((unsigned long)parisc_vmalloc_start)
#define VMALLOC_END (KERNEL_MAP_END)
+
+#define __fix_to_virt(_x) (FIXMAP_START + ((_x) << PAGE_SHIFT))
+
+void set_fixmap(enum fixed_addresses idx, phys_addr_t phys);
+void clear_fixmap(enum fixed_addresses idx);
+
#endif /*__ASSEMBLY__*/
#endif /*_ASM_FIXMAP_H*/