head_64.S (a292241cccb7e20e8b997a9a44177e7c98141859) | head_64.S (ef7f0d6a6ca8c9e4b27d78895af86c2fbfaeedb2) |
---|---|
1/* 2 * linux/arch/x86_64/kernel/head.S -- start in 32bit and switch to 64bit 3 * 4 * Copyright (C) 2000 Andrea Arcangeli <andrea@suse.de> SuSE 5 * Copyright (C) 2000 Pavel Machek <pavel@suse.cz> 6 * Copyright (C) 2000 Karsten Keil <kkeil@suse.de> 7 * Copyright (C) 2001,2002 Andi Kleen <ak@suse.de> 8 * Copyright (C) 2005 Eric Biederman <ebiederm@xmission.com> --- 500 unchanged lines hidden (view full) --- 509 .word GDT_ENTRIES*8-1 510early_gdt_descr_base: 511 .quad INIT_PER_CPU_VAR(gdt_page) 512 513ENTRY(phys_base) 514 /* This must match the first entry in level2_kernel_pgt */ 515 .quad 0x0000000000000000 516 | 1/* 2 * linux/arch/x86_64/kernel/head.S -- start in 32bit and switch to 64bit 3 * 4 * Copyright (C) 2000 Andrea Arcangeli <andrea@suse.de> SuSE 5 * Copyright (C) 2000 Pavel Machek <pavel@suse.cz> 6 * Copyright (C) 2000 Karsten Keil <kkeil@suse.de> 7 * Copyright (C) 2001,2002 Andi Kleen <ak@suse.de> 8 * Copyright (C) 2005 Eric Biederman <ebiederm@xmission.com> --- 500 unchanged lines hidden (view full) --- 509 .word GDT_ENTRIES*8-1 510early_gdt_descr_base: 511 .quad INIT_PER_CPU_VAR(gdt_page) 512 513ENTRY(phys_base) 514 /* This must match the first entry in level2_kernel_pgt */ 515 .quad 0x0000000000000000 516 |
517#ifdef CONFIG_KASAN 518#define FILL(VAL, COUNT) \ 519 .rept (COUNT) ; \ 520 .quad (VAL) ; \ 521 .endr 522 523NEXT_PAGE(kasan_zero_pte) 524 FILL(kasan_zero_page - __START_KERNEL_map + _KERNPG_TABLE, 512) 525NEXT_PAGE(kasan_zero_pmd) 526 FILL(kasan_zero_pte - __START_KERNEL_map + _KERNPG_TABLE, 512) 527NEXT_PAGE(kasan_zero_pud) 528 FILL(kasan_zero_pmd - __START_KERNEL_map + _KERNPG_TABLE, 512) 529 530#undef FILL 531#endif 532 533 |
|
517#include "../../x86/xen/xen-head.S" 518 519 __PAGE_ALIGNED_BSS 520NEXT_PAGE(empty_zero_page) 521 .skip PAGE_SIZE | 534#include "../../x86/xen/xen-head.S" 535 536 __PAGE_ALIGNED_BSS 537NEXT_PAGE(empty_zero_page) 538 .skip PAGE_SIZE |
539 540#ifdef CONFIG_KASAN 541/* 542 * This page used as early shadow. We don't use empty_zero_page 543 * at early stages, stack instrumentation could write some garbage 544 * to this page. 545 * Latter we reuse it as zero shadow for large ranges of memory 546 * that allowed to access, but not instrumented by kasan 547 * (vmalloc/vmemmap ...). 548 */ 549NEXT_PAGE(kasan_zero_page) 550 .skip PAGE_SIZE 551#endif |
|