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:
Alexander von Gluck IV
2019-10-16 21:21:15 +00:00
committed by Alex von Gluck IV
parent e3c74f400e
commit 761ddb2c4f
4 changed files with 42 additions and 17 deletions
+11 -13
View File
@@ -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