beb2800074
Currently kernel entry in head.S is in DMW address range, firmware is instructed to jump to this address after loading the kernel image. However kernel should not make any assumption on firmware's DMW setting, thus the entry point should be a physical address falls into direct translation region. Fix by converting entry address to physical and amend entry calculation logic in libstub accordingly. BTW, use ABSOLUTE() to calculate variables to make Clang/LLVM happy. Cc: stable@vger.kernel.org Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn> |
||
---|---|---|
.. | ||
.gitignore | ||
Makefile | ||
access-helper.h | ||
acpi.c | ||
alternative.c | ||
asm-offsets.c | ||
cacheinfo.c | ||
cpu-probe.c | ||
crash_dump.c | ||
dma.c | ||
efi-header.S | ||
efi.c | ||
elf.c | ||
entry.S | ||
env.c | ||
fpu.S | ||
ftrace.c | ||
ftrace_dyn.c | ||
genex.S | ||
head.S | ||
hw_breakpoint.c | ||
idle.c | ||
image-vars.h | ||
inst.c | ||
io.c | ||
irq.c | ||
jump_label.c | ||
kfpu.c | ||
kgdb.c | ||
kprobes.c | ||
lbt.S | ||
machine_kexec.c | ||
mcount.S | ||
mcount_dyn.S | ||
mem.c | ||
module-sections.c | ||
module.c | ||
numa.c | ||
paravirt.c | ||
perf_event.c | ||
perf_regs.c | ||
proc.c | ||
process.c | ||
ptrace.c | ||
relocate.c | ||
relocate_kernel.S | ||
reset.c | ||
rethook.c | ||
rethook.h | ||
rethook_trampoline.S | ||
setup.c | ||
signal.c | ||
smp.c | ||
stacktrace.c | ||
switch.S | ||
syscall.c | ||
sysrq.c | ||
time.c | ||
topology.c | ||
traps.c | ||
unaligned.c | ||
unwind.c | ||
unwind_guess.c | ||
unwind_orc.c | ||
unwind_prologue.c | ||
uprobes.c | ||
vdso.c | ||
vmlinux.lds.S |