git: a2c48b865e97 - main - stand: move 'staging' to loader_efi.h
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 05 Dec 2024 00:18:53 UTC
The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a2c48b865e979a393fce88341ecc153ec286c8de commit a2c48b865e979a393fce88341ecc153ec286c8de Author: Ahmad Khalifa <ahmadkhalifa570@gmail.com> AuthorDate: 2024-09-27 15:44:14 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2024-12-05 00:19:17 +0000 stand: move 'staging' to loader_efi.h On amd64, we need this to setup the page tables. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1446 --- stand/efi/loader/arch/amd64/elf64_freebsd.c | 2 -- stand/efi/loader/arch/i386/elf64_freebsd.c | 2 -- stand/efi/loader/loader_efi.h | 5 +++++ stand/kboot/kboot/arch/amd64/elf64_freebsd.c | 2 -- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 7413d18aab2a..3883c309e724 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -71,8 +71,6 @@ static pdp_entry_t *PT3_l, *PT3_u; static pd_entry_t *PT2; static pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; -extern EFI_PHYSICAL_ADDRESS staging; - static void (*trampoline)(uint64_t stack, void *copy_finish, uint64_t kernend, uint64_t modulep, pml4_entry_t *pagetable, uint64_t entry); diff --git a/stand/efi/loader/arch/i386/elf64_freebsd.c b/stand/efi/loader/arch/i386/elf64_freebsd.c index b8bc925576e7..2c6be607dc4d 100644 --- a/stand/efi/loader/arch/i386/elf64_freebsd.c +++ b/stand/efi/loader/arch/i386/elf64_freebsd.c @@ -86,8 +86,6 @@ static p2_entry_t *PT2; static p2_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; static gdt_t *GDT; -extern EFI_PHYSICAL_ADDRESS staging; - static void (*trampoline)(uint32_t stack, void *copy_finish, uint32_t kernend, uint32_t modulep, uint64_t *pagetable, struct gdtr *gdtr, uint64_t entry); diff --git a/stand/efi/loader/loader_efi.h b/stand/efi/loader/loader_efi.h index 8d4e352eec79..b2d7817b87dd 100644 --- a/stand/efi/loader/loader_efi.h +++ b/stand/efi/loader/loader_efi.h @@ -55,6 +55,11 @@ void * efi_translate(vm_offset_t ptr); void efi_copy_finish(void); void efi_copy_finish_nop(void); +#if defined(__amd64__) || defined(__i386__) +/* Need this to setup page tables */ +extern EFI_PHYSICAL_ADDRESS staging; +#endif + int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs); diff --git a/stand/kboot/kboot/arch/amd64/elf64_freebsd.c b/stand/kboot/kboot/arch/amd64/elf64_freebsd.c index 8618f132126b..b0efbfe09629 100644 --- a/stand/kboot/kboot/arch/amd64/elf64_freebsd.c +++ b/stand/kboot/kboot/arch/amd64/elf64_freebsd.c @@ -122,8 +122,6 @@ static pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; static pdp_entry_t *PT3; static pd_entry_t *PT2; -extern EFI_PHYSICAL_ADDRESS staging; - static void (*trampoline)(uint64_t stack, void *copy_finish, uint64_t kernend, uint64_t modulep, pml4_entry_t *pagetable, uint64_t entry); #endif