Skip to content
Navigation Menu
Toggle navigation
Sign in
In this repository
All GitHub Enterprise
↵
Jump to
↵
No suggested jump to results
In this repository
All GitHub Enterprise
↵
Jump to
↵
In this organization
All GitHub Enterprise
↵
Jump to
↵
In this repository
All GitHub Enterprise
↵
Jump to
↵
Sign in
Reseting focus
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
mariux64
/
linux
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Issues
2
Pull requests
0
Actions
Projects
0
Wiki
Security
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security
Insights
Files
600715d
Documentation
arch
block
crypto
drivers
firmware
fs
include
acpi
asm-arm
asm-cris
asm-frv
asm-generic
asm-m32r
asm-m68k
asm-mips
asm-mn10300
asm-parisc
asm-um
asm-x86
mach-bigsmp
mach-default
mach-es7000
mach-generic
mach-numaq
mach-rdc321x
mach-summit
mach-voyager
uv
visws
xen
Kbuild
a.out-core.h
a.out.h
acpi.h
agp.h
alternative-asm.h
alternative.h
amd_iommu.h
amd_iommu_types.h
apic.h
apicdef.h
arch_hooks.h
asm.h
atomic.h
atomic_32.h
atomic_64.h
auxvec.h
bios_ebda.h
bitops.h
boot.h
bootparam.h
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h
calgary.h
calling.h
checksum.h
checksum_32.h
checksum_64.h
cmpxchg.h
cmpxchg_32.h
cmpxchg_64.h
compat.h
cpu.h
cpufeature.h
cputime.h
current.h
debugreg.h
delay.h
desc.h
desc_defs.h
device.h
div64.h
dma-mapping.h
dma.h
dmi.h
ds.h
dwarf2.h
e820.h
edac.h
efi.h
elf.h
emergency-restart.h
errno.h
fb.h
fcntl.h
fixmap.h
fixmap_32.h
fixmap_64.h
floppy.h
frame.h
ftrace.h
futex.h
gart.h
genapic.h
genapic_32.h
genapic_64.h
geode.h
gpio.h
hardirq.h
hardirq_32.h
hardirq_64.h
highmem.h
hpet.h
hugetlb.h
hw_irq.h
hypertransport.h
i387.h
i8253.h
i8259.h
ia32.h
ia32_unistd.h
idle.h
intel_arch_perfmon.h
io.h
io_32.h
io_64.h
io_apic.h
ioctl.h
ioctls.h
iommu.h
ipcbuf.h
ipi.h
irq.h
irq_regs.h
irq_regs_32.h
irq_regs_64.h
irq_vectors.h
irqflags.h
ist.h
k8.h
kdebug.h
kexec.h
kgdb.h
kmap_types.h
kprobes.h
kvm.h
kvm_host.h
kvm_para.h
kvm_x86_emulate.h
ldt.h
lguest.h
lguest_hcall.h
linkage.h
local.h
math_emu.h
mc146818rtc.h
mca.h
mca_dma.h
mce.h
mman.h
mmconfig.h
mmu.h
mmu_context.h
mmu_context_32.h
mmu_context_64.h
mmx.h
mmzone.h
mmzone_32.h
mmzone_64.h
module.h
mpspec.h
mpspec_def.h
msgbuf.h
msidef.h
msr-index.h
msr.h
mtrr.h
mutex.h
mutex_32.h
mutex_64.h
nmi.h
nops.h
numa.h
numa_32.h
numa_64.h
numaq.h
olpc.h
page.h
page_32.h
page_64.h
param.h
paravirt.h
parport.h
pat.h
pci-direct.h
pci.h
pci_32.h
pci_64.h
pda.h
percpu.h
pgalloc.h
pgtable-2level-defs.h
pgtable-2level.h
pgtable-3level-defs.h
pgtable-3level.h
pgtable.h
pgtable_32.h
pgtable_64.h
poll.h
posix_types.h
posix_types_32.h
posix_types_64.h
prctl.h
processor-cyrix.h
processor-flags.h
processor.h
proto.h
ptrace-abi.h
ptrace.h
pvclock-abi.h
pvclock.h
reboot.h
reboot_fixups.h
required-features.h
resource.h
resume-trace.h
rio.h
rtc.h
rwlock.h
rwsem.h
scatterlist.h
seccomp.h
seccomp_32.h
seccomp_64.h
sections.h
segment.h
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext.h
sigcontext32.h
siginfo.h
signal.h
smp.h
socket.h
sockios.h
sparsemem.h
spinlock.h
spinlock_types.h
srat.h
stacktrace.h
stat.h
statfs.h
string.h
string_32.h
string_64.h
suspend.h
suspend_32.h
suspend_64.h
swiotlb.h
sync_bitops.h
system.h
system_64.h
tce.h
termbits.h
termios.h
therm_throt.h
thread_info.h
time.h
timer.h
timex.h
tlb.h
tlbflush.h
topology.h
trampoline.h
traps.h
tsc.h
types.h
uaccess.h
uaccess_32.h
uaccess_64.h
ucontext.h
unaligned.h
unistd.h
unistd_32.h
unistd_64.h
unwind.h
user.h
user32.h
user_32.h
user_64.h
vdso.h
vga.h
vgtod.h
vic.h
vm86.h
vmi.h
vmi_time.h
voyager.h
vsyscall.h
xor.h
xor_32.h
xor_64.h
asm-xtensa
crypto
drm
keys
linux
math-emu
media
mtd
net
pcmcia
rdma
rxrpc
scsi
sound
video
xen
Kbuild
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
usr
virt
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
MAINTAINERS
Makefile
README
REPORTING-BUGS
Breadcrumbs
linux
/
include
/
asm-x86
/
page_64.h
Copy path
Blame
Blame
Latest commit
History
History
104 lines (77 loc) · 2.9 KB
Breadcrumbs
linux
/
include
/
asm-x86
/
page_64.h
Top
File metadata and controls
Code
Blame
104 lines (77 loc) · 2.9 KB
Raw
#ifndef _X86_64_PAGE_H #define _X86_64_PAGE_H #define PAGETABLE_LEVELS 4 #define THREAD_ORDER 1 #define THREAD_SIZE (PAGE_SIZE << THREAD_ORDER) #define CURRENT_MASK (~(THREAD_SIZE - 1)) #define EXCEPTION_STACK_ORDER 0 #define EXCEPTION_STKSZ (PAGE_SIZE << EXCEPTION_STACK_ORDER) #define DEBUG_STACK_ORDER (EXCEPTION_STACK_ORDER + 1) #define DEBUG_STKSZ (PAGE_SIZE << DEBUG_STACK_ORDER) #define IRQSTACK_ORDER 2 #define IRQSTACKSIZE (PAGE_SIZE << IRQSTACK_ORDER) #define STACKFAULT_STACK 1 #define DOUBLEFAULT_STACK 2 #define NMI_STACK 3 #define DEBUG_STACK 4 #define MCE_STACK 5 #define N_EXCEPTION_STACKS 5 /* hw limit: 7 */ #define PUD_PAGE_SIZE (_AC(1, UL) << PUD_SHIFT) #define PUD_PAGE_MASK (~(PUD_PAGE_SIZE-1)) /* * Set __PAGE_OFFSET to the most negative possible address + * PGDIR_SIZE*16 (pgd slot 272). The gap is to allow a space for a * hypervisor to fit. Choosing 16 slots here is arbitrary, but it's * what Xen requires. */ #define __PAGE_OFFSET _AC(0xffff880000000000, UL) #define __PHYSICAL_START CONFIG_PHYSICAL_START #define __KERNEL_ALIGN 0x200000 /* * Make sure kernel is aligned to 2MB address. Catching it at compile * time is better. Change your config file and compile the kernel * for a 2MB aligned address (CONFIG_PHYSICAL_START) */ #if (CONFIG_PHYSICAL_START % __KERNEL_ALIGN) != 0 #error "CONFIG_PHYSICAL_START must be a multiple of 2MB" #endif #define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START) #define __START_KERNEL_map _AC(0xffffffff80000000, UL) /* See Documentation/x86_64/mm.txt for a description of the memory map. */ #define __PHYSICAL_MASK_SHIFT 46 #define __VIRTUAL_MASK_SHIFT 48 /* * Kernel image size is limited to 512 MB (see level2_kernel_pgt in * arch/x86/kernel/head_64.S), and it is mapped here: */ #define KERNEL_IMAGE_SIZE (512 * 1024 * 1024) #define KERNEL_IMAGE_START _AC(0xffffffff80000000, UL) #ifndef __ASSEMBLY__ void clear_page(void *page); void copy_page(void *to, void *from); /* duplicated to the one in bootmem.h */ extern unsigned long max_pfn; extern unsigned long phys_base; extern unsigned long __phys_addr(unsigned long); #define __phys_reloc_hide(x) (x) /* * These are used to make use of C type-checking.. */ typedef unsigned long pteval_t; typedef unsigned long pmdval_t; typedef unsigned long pudval_t; typedef unsigned long pgdval_t; typedef unsigned long pgprotval_t; typedef struct page *pgtable_t; typedef struct { pteval_t pte; } pte_t; #define vmemmap ((struct page *)VMEMMAP_START) extern unsigned long init_memory_mapping(unsigned long start, unsigned long end); extern void initmem_init(unsigned long start_pfn, unsigned long end_pfn); extern void init_extra_mapping_uc(unsigned long phys, unsigned long size); extern void init_extra_mapping_wb(unsigned long phys, unsigned long size); #endif /* !__ASSEMBLY__ */ #ifdef CONFIG_FLATMEM #define pfn_valid(pfn) ((pfn) < max_pfn) #endif #endif /* _X86_64_PAGE_H */
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
You can’t perform that action at this time.