#define DISABLE_BRANCH_PROFILING
#define USE_EARLY_PGTABLE_L5
#include <linux/init.h>
#include <linux/linkage.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/percpu.h>
#include <linux/start_kernel.h>
#include <linux/io.h>
#include <linux/memblock.h>
#include <linux/cc_platform.h>
#include <linux/pgtable.h>
#include <asm/asm.h>
#include <asm/page_64.h>
#include <asm/processor.h>
#include <asm/proto.h>
#include <asm/smp.h>
#include <asm/setup.h>
#include <asm/desc.h>
#include <asm/tlbflush.h>
#include <asm/sections.h>
#include <asm/kdebug.h>
#include <asm/e820/api.h>
#include <asm/bios_ebda.h>
#include <asm/bootparam_utils.h>
#include <asm/microcode.h>
#include <asm/kasan.h>
#include <asm/fixmap.h>
#include <asm/realmode.h>
#include <asm/extable.h>
#include <asm/trapnr.h>
#include <asm/sev.h>
#include <asm/tdx.h>
#include <asm/init.h>
extern pmd_t early_dynamic_pgts[EARLY_DYNAMIC_PAGE_TABLES][PTRS_PER_PMD];
static unsigned int __initdata next_early_pgt;
pmdval_t early_pmd_flags = …;
#ifdef CONFIG_X86_5LEVEL
unsigned int __pgtable_l5_enabled __ro_after_init;
unsigned int pgdir_shift __ro_after_init = …;
EXPORT_SYMBOL(…);
unsigned int ptrs_per_p4d __ro_after_init = …;
EXPORT_SYMBOL(…);
#endif
#ifdef CONFIG_DYNAMIC_MEMORY_LAYOUT
unsigned long page_offset_base __ro_after_init = …;
EXPORT_SYMBOL(…);
unsigned long vmalloc_base __ro_after_init = …;
EXPORT_SYMBOL(…);
unsigned long vmemmap_base __ro_after_init = …;
EXPORT_SYMBOL(…);
#endif
static inline bool check_la57_support(void)
{ … }
static unsigned long __head sme_postprocess_startup(struct boot_params *bp, pmdval_t *pmd)
{ … }
unsigned long __head __startup_64(unsigned long physaddr,
struct boot_params *bp)
{ … }
static void __init reset_early_page_tables(void)
{ … }
bool __init __early_make_pgtable(unsigned long address, pmdval_t pmd)
{ … }
static bool __init early_make_pgtable(unsigned long address)
{ … }
void __init do_early_exception(struct pt_regs *regs, int trapnr)
{ … }
void __init clear_bss(void)
{ … }
static unsigned long get_cmd_line_ptr(void)
{ … }
static void __init copy_bootdata(char *real_mode_data)
{ … }
asmlinkage __visible void __init __noreturn x86_64_start_kernel(char * real_mode_data)
{ … }
void __init __noreturn x86_64_start_reservations(char *real_mode_data)
{ … }
static gate_desc bringup_idt_table[NUM_EXCEPTION_VECTORS] __page_aligned_data;
static void __head startup_64_load_idt(void *vc_handler)
{ … }
void early_setup_idt(void)
{ … }
void __head startup_64_setup_gdt_idt(void)
{ … }