ARM64 Jamfiles, missed in previous commit

* Use generic c versions of memset and memcpy
   Wwrite fast asm for that later, therefore no need for arch_string.S
 * Disable FDT and DTB until ARM64 is ready
   (WIP: do it later)
 * use ELF64
This commit is contained in:
Fredrik Holmqvist 2021-08-21 14:32:32 +02:00
parent 763968b1a3
commit 5e567c1091
3 changed files with 41 additions and 35 deletions

View File

@ -1,41 +1,43 @@
SubDir HAIKU_TOP src system boot arch arm64 ;
UseLibraryHeaders [ FDirName libfdt ] ;
UsePrivateHeaders [ FDirName kernel platform $(TARGET_BOOT_PLATFORM) ] ;
SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers fdt ;
# TODO: Is there any reason to recompile arch_string.S here?
local librootArchObjects =
# <src!system!libroot!posix!string!arch!$(TARGET_ARCH)>arch_string.o
arch_string.S
;
local kernelLibArchObjects =
<src!system!kernel!lib!arch!$(TARGET_ARCH)>byteorder.o
<src!system!kernel!lib!arch!$(TARGET_ARCH)>memset.o
;
local platform ;
for platform in [ MultiBootSubDirSetup u-boot efi ] {
on $(platform) {
local kernelArchSources =
arch_elf.cpp
;
kernelLibGenericSources =
memcpy.c
memset.c
;
local kernelLibArchSources = ;
local librootOsArchSources =
byteorder.S
;
for platform in [ MultiBootSubDirSetup efi ] {
on $(platform) {
DEFINES += _BOOT_MODE ;
BootMergeObject [ FGristFiles boot_arch_$(TARGET_KERNEL_ARCH).o ] :
# Reuse a subset of kernel debugging.
$(librootArchObjects)
:
:
$(kernelLibArchObjects)
$(kernelArchSources)
$(kernelLibArchSources)
$(kernelLibGenericSources)
$(librootOsArchSources)
arch_cpu.cpp
: # additional flags
;
SEARCH on [ FGristFiles arch_elf.cpp $(kernelArchDriverSources) ]
= [ FDirName $(HAIKU_TOP) src system kernel arch $(TARGET_KERNEL_ARCH) ] ;
SEARCH on [ FGristFiles $(kernelGenericDriverSources) ]
= [ FDirName $(HAIKU_TOP) src system kernel arch generic ] ;
SEARCH on [ FGristFiles $(librootArchObjects) ]
= [ FDirName $(HAIKU_TOP) src system libroot posix string arch $(TARGET_ARCH) ] ;
SEARCH on [ FGristFiles $(kernelDebugSources) ]
= [ FDirName $(HAIKU_TOP) src system kernel debug ] ;
SEARCH on [ FGristFiles $(kernelArchSources) ]
= [ FDirName $(HAIKU_TOP) src system kernel arch arm64 ] ;
SEARCH on [ FGristFiles $(kernelLibGenericSources) ]
= [ FDirName $(HAIKU_TOP) src system libroot posix string arch generic ] ;
SEARCH on [ FGristFiles $(kernelLibArchSources) ]
= [ FDirName $(HAIKU_TOP) src system libroot posix string arch arm64 ] ;
SEARCH on [ FGristFiles $(librootOsArchSources) ]
= [ FDirName $(HAIKU_TOP) src system libroot os arch arm64 ] ;
}
}

View File

@ -83,6 +83,10 @@ for platform in [ MultiBootSubDirSetup ] {
{
DEFINES += BOOT_SUPPORT_ELF32 ;
}
case "arm64" :
{
DEFINES += BOOT_SUPPORT_ELF64 ;
}
}
local kernelC++Header = [ FDirName $(HAIKU_TOP) headers private kernel util

View File

@ -5,7 +5,7 @@ UsePrivateHeaders [ FDirName kernel platform ] ;
UsePrivateHeaders [ FDirName kernel boot platform efi ] ;
UsePrivateHeaders [ FDirName kernel boot arch $(TARGET_KERNEL_ARCH) ] ;
if $(TARGET_ARCH) != x86_64 && $(TARGET_ARCH) != x86 {
if $(TARGET_ARCH) != x86_64 && $(TARGET_ARCH) != x86 && $(TARGET_ARCH) != arm64 {
UseLibraryHeaders [ FDirName libfdt ] ;
}
@ -14,7 +14,7 @@ SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ;
{
local defines = _BOOT_MODE _BOOT_PLATFORM_EFI ;
if $(TARGET_ARCH) != x86_64 && $(TARGET_ARCH) != x86 {
if $(TARGET_ARCH) != x86_64 && $(TARGET_ARCH) != x86 && $(TARGET_ARCH) != arm64 {
defines += _BOOT_FDT_SUPPORT ;
}
@ -42,7 +42,7 @@ local platform_src =
local support_libs ;
if $(TARGET_ARCH) != x86_64 && $(TARGET_ARCH) != x86 {
if $(TARGET_ARCH) != x86_64 && $(TARGET_ARCH) != x86 && $(TARGET_ARCH) != arm64 {
support_libs += boot_fdt.a ;
platform_src += dtb.cpp ;
}