mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.6 KiB
49 lines
1.6 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
#ifndef _ASM_FIXMAP_H |
|
#define _ASM_FIXMAP_H |
|
|
|
/* |
|
* This file defines the locations of the fixed mappings on parisc. |
|
* |
|
* All of the values in this file are machine virtual addresses. |
|
* |
|
* All of the values in this file must be <4GB (because of assembly |
|
* loading restrictions). If you place this region anywhere above |
|
* __PAGE_OFFSET, you must adjust the memory map accordingly */ |
|
|
|
/* The alias region is used in kernel space to do copy/clear to or |
|
* 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 (FIXMAP_START) |
|
|
|
#ifndef __ASSEMBLY__ |
|
|
|
|
|
enum fixed_addresses { |
|
/* Support writing RO kernel text via kprobes, jump labels, etc. */ |
|
FIX_TEXT_POKE0, |
|
FIX_TEXT_KEXEC, |
|
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*/
|
|
|