]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - arch/x86/include/asm/page_32_types.h
x86/bugs, KVM: Support the combination of guest and host IBRS
[mirror_ubuntu-artful-kernel.git] / arch / x86 / include / asm / page_32_types.h
CommitLineData
51c78eb3
JF
1#ifndef _ASM_X86_PAGE_32_DEFS_H
2#define _ASM_X86_PAGE_32_DEFS_H
3
4#include <linux/const.h>
5
6/*
7 * This handles the memory map.
8 *
9 * A __PAGE_OFFSET of 0xC0000000 means that the kernel has
10 * a virtual address space of one gigabyte, which limits the
11 * amount of physical memory you can use to about 950MB.
12 *
13 * If you want more physical memory than this then see the CONFIG_HIGHMEM4G
14 * and CONFIG_HIGHMEM64G options in the kernel configuration.
15 */
4a1a8e1b
BP
16#define __PAGE_OFFSET_BASE _AC(CONFIG_PAGE_OFFSET, UL)
17#define __PAGE_OFFSET __PAGE_OFFSET_BASE
51c78eb3 18
a0215061
KC
19#define __START_KERNEL_map __PAGE_OFFSET
20
38e7c572
TG
21#define THREAD_SIZE_ORDER 1
22#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
51c78eb3 23
51c78eb3
JF
24#define DOUBLEFAULT_STACK 1
25#define NMI_STACK 0
26#define DEBUG_STACK 0
27#define MCE_STACK 0
28#define N_EXCEPTION_STACKS 1
29
30#ifdef CONFIG_X86_PAE
31/* 44=32+12, the limit we can fit into an unsigned long pfn */
32#define __PHYSICAL_MASK_SHIFT 44
33#define __VIRTUAL_MASK_SHIFT 32
51c78eb3
JF
34
35#else /* !CONFIG_X86_PAE */
36#define __PHYSICAL_MASK_SHIFT 32
37#define __VIRTUAL_MASK_SHIFT 32
51c78eb3
JF
38#endif /* CONFIG_X86_PAE */
39
7543c1de
YL
40/*
41 * Kernel image size is limited to 512 MB (see in arch/x86/kernel/head_32.S)
42 */
43#define KERNEL_IMAGE_SIZE (512 * 1024 * 1024)
44
51c78eb3
JF
45#ifndef __ASSEMBLY__
46
51c78eb3
JF
47/*
48 * This much address space is reserved for vmalloc() and iomap()
49 * as well as fixmap mappings.
50 */
51extern unsigned int __VMALLOC_RESERVE;
52extern int sysctl_legacy_va_layout;
53
54extern void find_low_pfn_range(void);
51c78eb3
JF
55extern void setup_bootmem_allocator(void);
56
57#endif /* !__ASSEMBLY__ */
58
59#endif /* _ASM_X86_PAGE_32_DEFS_H */