#ifdefCONFIG_UNMAP_KERNEL_AT_EL0 tramp_pg_dir = .;'熔断(安全漏洞引入)' . += PAGE_SIZE; #endif reserved_pg_dir = .; . += PAGE_SIZE; swapper_pg_dir = .; . += PAGE_SIZE; . = ALIGN(SEGMENT_ALIGN); __init_begin = .;'init段起始' __inittext_begin = .; ... . = ALIGN(...
一个patch是 “arm64: Kconfig: Add CONFIG_UNMAP_KERNEL_AT_EL0”,此patch前后2次修正,地址如下: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=084eb77cd3a81134d02500977dc0ecc9277dc97d https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
一个patch是 "arm64: Kconfig: Add CONFIG_UNMAP_KERNEL_AT_EL0",此patch前后2次修正,地址如下: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=084eb77cd3a81134d02500977dc0ecc9277dc97d https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/...
arch/arm64/kernel/head.S __primary_switched: adrp x4, init_thread_union add sp, x4, #THREAD_SIZE //SP在内核态就是SP_EL1 adr_l x5, init_task msr sp_el0, x5 // Save thread_info adr_l x8, vectors // load VBAR_EL1 with virtual msr vbar_el1, x8 // vector table address isb...
CONFIG_UNMAP_KERNEL_AT_EL0=y CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_PSCI_BP_HARDENING=y CONFIG_ARM64_SSBD=y CONFIG_ARMV8_DEPRECATED=y CONFIG_SWP_EMULATION=y CONFIG_CP15_BARRIER_EMULATION=y CONFIG_SETEND_EMULATION=y # CONFIG_ARM64_SW_TTBR0_PAN is not set # # ARMv8.1 architectural fea...
"ARM: UNMAP_KERNEL_AT_EL0"; "X86_64: MICROCODE"; "X86_64: SCHED_CORE"; "X86_64: SLS"; "ARM64: MITIGATE_SPECTRE_BRANCH_HISTORY"[fontsize=11]; "X86_64: RETPOLINE"; "ARM64: HARDEN_BRANCH_PREDICTOR"; "ARM64: UNMAP_KERNEL_AT_EL0"; ...
在EL0运行application时,application speculatively访问kernel address时, MMU可以做这个地址转换,MMU hardware并不检查访问权限,只做VA到PA的地址转换. 得到PA后可以做memory access到cache中。 有人会问,为什么MMU不做访问权限检查,地址转换同时做访问权限检查不是随便可以做的事情吗?对software ...
#ifdef CONFIG_UNMAP_KERNEL_AT_EL0 /* * Exception vectors trampoline. * The order must match __bp_harden_el1_vectors and the * arm64_bp_harden_el1_vectors enum. */ .pushsection ".entry.tramp.text", "ax" .align 11 ENTRY(tramp_vectors) generate_tramp_vector kpti=1 #ifdef CONFIG_MITI...
0. 说明 1. 简介 1.1. 中断向量基地址寄存器配置 2. 中断向量表 3. Linux内核的中断入口 3.1. 硬件的工作 4. 中断入口定义:kernel_ventry 4.1. entry_handler 4.2. 调用C函数前的准备kernel_entry 4.2.1. 寄存器压栈 4.2.2. el0和el1的处理 4.2.2.1. EL0 4.2.2.2. EL1 4.2.3. 寄存和栈配置 5....
El atributo de memoria direccionamiento indirecto registra 0. Mair1 El atributo de memoria direccionamiento indirecto registra 1. InputSize0 Ancho de dirección de entrada deseado para TTBR0. InputSize1 Ancho de dirección de entrada deseado para TTBR1. CoherentTableWalks Habilita o deshabilita ...