EFI: Break smp into arch subpath
Change-Id: Ia9438777f1da8ca32f93e0d85229230c809e6711 Reviewed-on: https://review.haiku-os.org/c/haiku/+/1918 Reviewed-by: Alex von Gluck IV <[email protected]> Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
committed by
Alex von Gluck IV
parent
e3c74f400e
commit
761ddb2c4f
@@ -37,14 +37,7 @@ local platform_src =
|
||||
support.S
|
||||
;
|
||||
|
||||
local arch_src =
|
||||
arch_mmu.cpp
|
||||
arch_smp.cpp
|
||||
relocation_func.cpp
|
||||
entry.S
|
||||
;
|
||||
|
||||
Includes [ FGristFiles $(efi_glue_src) $(platform_src) $(arch_src) ]
|
||||
Includes [ FGristFiles $(efi_glue_src) $(platform_src) ]
|
||||
:
|
||||
[ BuildFeatureAttribute gnuefi : headers ]
|
||||
[ BuildFeatureAttribute gnuefi : headersProtocol ]
|
||||
@@ -55,21 +48,26 @@ local platform ;
|
||||
for platform in [ MultiBootSubDirSetup efi ] {
|
||||
on $(platform) {
|
||||
|
||||
BootMergeObject boot_platform_efi.o :
|
||||
BootMergeObject boot_platform_efi_common.o :
|
||||
$(efi_glue_src)
|
||||
$(platform_src)
|
||||
$(arch_src)
|
||||
:
|
||||
: boot_platform_generic_efi.a
|
||||
;
|
||||
|
||||
SEARCH on [ FGristFiles $(arch_src) ]
|
||||
= [ FDirName $(SUBDIR) arch $(TARGET_ARCH) ] ;
|
||||
BootMergeObject boot_platform_efi.o :
|
||||
: :
|
||||
boot_platform_efi_$(TARGET_ARCH).o
|
||||
boot_platform_efi_common.o
|
||||
;
|
||||
|
||||
LOCATE on [ FGristFiles $(efi_glue_src) ]
|
||||
= [ BuildFeatureAttribute gnuefi : libdir : path ] ;
|
||||
Depends [ FGristFiles $(efi_glue_src) ]
|
||||
: [ BuildFeatureAttribute gnuefi : libdir ] ;
|
||||
Depends [ FGristFiles $(platform_src) $(arch_src) ]
|
||||
Depends [ FGristFiles $(platform_src) ]
|
||||
: [ BuildFeatureAttribute gnuefi : headers ] ;
|
||||
}
|
||||
}
|
||||
|
||||
SubInclude HAIKU_TOP src system boot platform efi arch $(TARGET_ARCH) ;
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
SubDir HAIKU_TOP src system boot platform efi arch x86_64 ;
|
||||
|
||||
SubDirHdrs $(HAIKU_TOP) src system boot platform efi ;
|
||||
|
||||
UsePrivateHeaders [ FDirName kernel boot platform efi ] ;
|
||||
UseBuildFeatureHeaders gnuefi ;
|
||||
UseBuildFeatureHeaders gnuefi : headersProtocol ;
|
||||
UseBuildFeatureHeaders gnuefi : headersArch ;
|
||||
|
||||
local arch_src =
|
||||
entry.S
|
||||
relocation_func.cpp
|
||||
arch_smp.cpp
|
||||
arch_mmu.cpp
|
||||
;
|
||||
|
||||
BootMergeObject boot_platform_efi_x86_64.o :
|
||||
$(arch_src)
|
||||
;
|
||||
|
||||
Includes [ FGristFiles $(arch_src) ]
|
||||
:
|
||||
[ BuildFeatureAttribute gnuefi : headers ]
|
||||
[ BuildFeatureAttribute gnuefi : headersProtocol ]
|
||||
[ BuildFeatureAttribute gnuefi : headersArch ]
|
||||
;
|
||||
|
||||
Depends [ FGristFiles $(arch_src) ]
|
||||
: [ BuildFeatureAttribute gnuefi : libdir ] ;
|
||||
@@ -72,14 +72,14 @@ struct trampoline_args {
|
||||
};
|
||||
|
||||
|
||||
static uint32
|
||||
uint32
|
||||
apic_read(uint32 offset)
|
||||
{
|
||||
return *(volatile uint32 *)((addr_t)gKernelArgs.arch_args.apic_phys + offset);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
void
|
||||
apic_write(uint32 offset, uint32 data)
|
||||
{
|
||||
*(volatile uint32 *)((addr_t)gKernelArgs.arch_args.apic_phys + offset) = data;
|
||||
|
||||
@@ -9,8 +9,6 @@
|
||||
|
||||
#include <arch/x86/descriptors.h>
|
||||
|
||||
#include "mmu.h"
|
||||
|
||||
|
||||
#define GDT_LIMIT 0x800
|
||||
|
||||
|
||||
Reference in New Issue
Block a user