Commit 05a63c8b authored by Youling Tang's avatar Youling Tang Committed by Hongchen Zhang
Browse files

LoongArch: efistub: Modify the address where efistub jumps to the main kernel

LoongArch inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I736HO



--------------------------------

Signed-off-by: default avatarYouling Tang <tangyouling@loongson.cn>
Change-Id: I0c7f5360cea6837017de0bd5e3ec3220dfc68add
parent 418173ee
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ _head:
pe_header:
	__EFI_PE_HEADER

SYM_DATA(kernel_entry_rel, .quad kernel_entry);
SYM_DATA(kernel_asize, .long _end - _text);
SYM_DATA(kernel_fsize, .long _edata - _text);
SYM_DATA(kernel_offset, .long kernel_offset - _text);
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ __efistub_strncat = strncat;
__efistub_strnstr		= strnstr;
__efistub_strnlen		= strnlen;
__efistub_strrchr		= strrchr;
__efistub_kernel_entry		= kernel_entry;
__efistub_kernel_entry		= kernel_entry_rel;
__efistub_kernel_asize		= kernel_asize;
__efistub_kernel_fsize		= kernel_fsize;
__efistub_kernel_offset		= kernel_offset;
+1 −2
Original line number Diff line number Diff line
@@ -49,8 +49,7 @@ void __noreturn efi_enter_kernel(unsigned long entrypoint, unsigned long fdt, un
	csr_write64(CSR_DMW0_INIT, LOONGARCH_CSR_DMWIN0);
	csr_write64(CSR_DMW1_INIT, LOONGARCH_CSR_DMWIN1);

	real_kernel_entry = (kernel_entry_t)
		((unsigned long)&kernel_entry - entrypoint + VMLINUX_LOAD_ADDRESS);
	real_kernel_entry = (kernel_entry_t) kernel_entry;

	real_kernel_entry(true, fdt, 0);
}