x86_64/amd64: ACPI support for the AMD64 BSP

- Implements necessary ACPICA OS Services Layer interfaces;
- Retrieve the RSDP from the FreeBSD Bootloader for amd64 or from multiboot2 for amd64efi;
- Add ACPI initialization routine;
- Use ACPI in bsp_reset.
This commit is contained in:
Matheus Pecoraro
2024-07-16 19:40:13 -03:00
committed by Joel Sherrill
parent bd12e6f0af
commit bb950bd770
17 changed files with 907 additions and 4 deletions

View File

@@ -18,4 +18,5 @@ links:
source:
- bsps/x86_64/amd64/clock/clock.c
- bsps/x86_64/amd64/console/console.c
- bsps/x86_64/amd64/start/freebsd_loader.c
type: build

View File

@@ -24,6 +24,8 @@ links:
uid: ../../objirq
- role: build-dependency
uid: ../../objmem
- role: build-dependency
uid: ../../objacpi
- role: build-dependency
uid: ../../bspopts
type: build

View File

@@ -10,11 +10,17 @@ includes: []
install:
- destination: ${BSP_INCLUDEDIR}
source:
- bsps/x86_64/amd64/include/apic.h
- bsps/x86_64/amd64/include/bsp.h
- bsps/x86_64/amd64/include/clock.h
- bsps/x86_64/amd64/include/freebsd_loader.h
- bsps/x86_64/amd64/include/pic.h
- bsps/x86_64/amd64/include/start.h
- destination: ${BSP_INCLUDEDIR}/acpi
source:
- bsps/x86_64/amd64/include/acpi/acpi.h
- destination: ${BSP_INCLUDEDIR}/acpi/acpica/platform
source:
- bsps/x86_64/amd64/include/acpi/acpica/platform/acrtems.h
- destination: ${BSP_LIBDIR}
source:
- bsps/x86_64/amd64/start/linkcmds
@@ -29,6 +35,12 @@ source:
- bsps/shared/start/bspfatal-default.c
- bsps/shared/start/gettargethash-default.c
- bsps/shared/start/sbrk.c
- bsps/x86_64/amd64/acpi/acpi.c
- bsps/x86_64/amd64/acpi/osl/osl_environment.c
- bsps/x86_64/amd64/acpi/osl/osl_hardware.c
- bsps/x86_64/amd64/acpi/osl/osl_interrupts.c
- bsps/x86_64/amd64/acpi/osl/osl_memory.c
- bsps/x86_64/amd64/acpi/osl/osl_tables.c
- bsps/x86_64/amd64/interrupts/idt.c
- bsps/x86_64/amd64/interrupts/isr_handler.S
- bsps/x86_64/amd64/interrupts/pic.c