hrev52176 adds 1 changeset to branch 'master'
old head: c3f96107481cd4f912bc354ae74358699c6bf6c2
new head: 5d0fd0e4220b461e2021d5768ebaa936c13417f8
overview:
https://git.haiku-os.org/haiku/log/?qt=range&q=5d0fd0e4220b+%5Ec3f96107481c
----------------------------------------------------------------------------
5d0fd0e4220b: fdt: Major over-haul of fdt
* Consolidate all fdt code into fdt bus_manager
* Build boot and kernel static libraries
Change-Id: I2a69cd7e1f1276999a80734ff12918fd49b599e5
Reviewed-on: https://review.haiku-os.org/440
Reviewed-by: Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
[ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev52176
Commit: 5d0fd0e4220b461e2021d5768ebaa936c13417f8
URL: https://git.haiku-os.org/haiku/commit/?id=5d0fd0e4220b
Author: Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date: Sun Aug 5 23:20:58 2018 UTC
----------------------------------------------------------------------------
13 files changed, 35 insertions(+), 56 deletions(-)
src/add-ons/kernel/bus_managers/fdt/Jamfile | 16 +++++++++++
.../kernel/bus_managers/fdt}/fdt_serial.cpp | 0
.../kernel/bus_managers/fdt}/fdt_serial.h | 0
.../kernel/bus_managers/fdt}/fdt_support.cpp | 8 ------
.../kernel/bus_managers/fdt}/fdt_support.h | 0
src/system/boot/arch/arm/Jamfile | 5 ++--
src/system/boot/platform/u-boot/Jamfile | 28 +++++---------------
src/system/boot/platform/u-boot/arch/arm/Jamfile | 1 +
src/system/kernel/arch/arm/Jamfile | 2 +-
src/system/kernel/arch/arm/arch_platform.cpp | 2 +-
src/system/kernel/arch/ppc/Jamfile | 4 +++
src/system/kernel/arch/ppc/arch_platform.cpp | 6 ++---
src/system/kernel/platform/u-boot/Jamfile | 19 +------------
----------------------------------------------------------------------------
diff --git a/src/add-ons/kernel/bus_managers/fdt/Jamfile
b/src/add-ons/kernel/bus_managers/fdt/Jamfile
index 6c18bddb73..92d5f99634 100644
--- a/src/add-ons/kernel/bus_managers/fdt/Jamfile
+++ b/src/add-ons/kernel/bus_managers/fdt/Jamfile
@@ -12,11 +12,27 @@ local libFDTSources =
fdt_wip.c
;
+# Do we want / need these in the bus as well?
+local earlyFDTHelpers =
+ fdt_serial.cpp
+ fdt_support.cpp
+;
+
KernelAddon fdt :
fdt.cpp
# $(libFDTSources)
;
+BootStaticLibrary boot_fdt :
+ $(earlyFDTHelpers)
+ $(libFDTSources)
+ ;
+
+KernelStaticLibrary kernel_fdt :
+ $(earlyFDTHelpers)
+ $(libFDTSources)
+ ;
+
SEARCH on [ FGristFiles $(libFDTSources) ]
= [ FDirName $(HAIKU_TOP) src libs libfdt ] ;
diff --git a/src/system/kernel/platform/u-boot/fdt_serial.cpp
b/src/add-ons/kernel/bus_managers/fdt/fdt_serial.cpp
similarity index 100%
rename from src/system/kernel/platform/u-boot/fdt_serial.cpp
rename to src/add-ons/kernel/bus_managers/fdt/fdt_serial.cpp
diff --git a/headers/private/kernel/platform/u-boot/fdt_serial.h
b/src/add-ons/kernel/bus_managers/fdt/fdt_serial.h
similarity index 100%
rename from headers/private/kernel/platform/u-boot/fdt_serial.h
rename to src/add-ons/kernel/bus_managers/fdt/fdt_serial.h
diff --git a/src/system/kernel/platform/u-boot/fdt_support.cpp
b/src/add-ons/kernel/bus_managers/fdt/fdt_support.cpp
similarity index 98%
rename from src/system/kernel/platform/u-boot/fdt_support.cpp
rename to src/add-ons/kernel/bus_managers/fdt/fdt_support.cpp
index 2fc7653ef7..22ec0735b3 100644
--- a/src/system/kernel/platform/u-boot/fdt_support.cpp
+++ b/src/add-ons/kernel/bus_managers/fdt/fdt_support.cpp
@@ -41,14 +41,6 @@ static const char *sTabTab =
"\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
#endif
-#ifndef _BOOT_MODE
-/* the bootloader has it in asm code to avoid it ending up in .bss */
-void *gFDT;
-#else
-extern void *gFDT;
-#endif
-
-
#ifdef FDT_DUMP_PROP_VALUES
static void dump_hex(const char *data, int32 len, int depth)
{
diff --git a/headers/private/kernel/platform/u-boot/fdt_support.h
b/src/add-ons/kernel/bus_managers/fdt/fdt_support.h
similarity index 100%
rename from headers/private/kernel/platform/u-boot/fdt_support.h
rename to src/add-ons/kernel/bus_managers/fdt/fdt_support.h
diff --git a/src/system/boot/arch/arm/Jamfile b/src/system/boot/arch/arm/Jamfile
index 537d13b8a2..371e92eafa 100644
--- a/src/system/boot/arch/arm/Jamfile
+++ b/src/system/boot/arch/arm/Jamfile
@@ -1,9 +1,8 @@
SubDir HAIKU_TOP src system boot arch arm ;
-UsePrivateHeaders [ FDirName kernel platform $(TARGET_BOOT_PLATFORM) ] ;
-
-#XXX: should not be needed here
UseLibraryHeaders [ FDirName libfdt ] ;
+UsePrivateHeaders [ FDirName kernel platform $(TARGET_BOOT_PLATFORM) ] ;
+SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers fdt ;
{
local defines = _BOOT_MODE ;
diff --git a/src/system/boot/platform/u-boot/Jamfile
b/src/system/boot/platform/u-boot/Jamfile
index 3e79a73d75..9916d5d7c5 100644
--- a/src/system/boot/platform/u-boot/Jamfile
+++ b/src/system/boot/platform/u-boot/Jamfile
@@ -2,9 +2,12 @@ SubDir HAIKU_TOP src system boot platform u-boot ;
SubDirHdrs $(HAIKU_TOP) headers private kernel boot platform
$(TARGET_BOOT_PLATFORM) ;
SubDirHdrs $(HAIKU_TOP) headers private kernel platform
$(TARGET_BOOT_PLATFORM) ;
+SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers fdt ;
SubDirHdrs $(HAIKU_TOP) src system boot arch $(TARGET_KERNEL_ARCH) ;
+UseLibraryHeaders [ FDirName libfdt ] ;
+
UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
UsePrivateHeaders [ FDirName graphics common ] ;
UsePrivateHeaders [ FDirName graphics vesa ] ;
@@ -19,17 +22,6 @@ UsePrivateHeaders [ FDirName kernel arch generic ] ;
SubDirC++Flags $(defines) -fno-rtti -g3 -O0 ;
}
-UseLibraryHeaders [ FDirName libfdt ] ;
-
-local libFDTSources =
- fdt.c
- fdt_ro.c
- fdt_rw.c
- fdt_strerror.c
- fdt_sw.c
- fdt_wip.c
-;
-
# we fake NetBSD since we don't have an OS ID yet for uimage,
# and we also fake a netbsd loader anyway.
local uImageFakeOS = "netbsd" ;
@@ -58,15 +50,12 @@ BootMergeObject boot_platform_u-boot_common.o :
cpu.cpp
uimage.cpp
video.cpp
- fdt_serial.cpp
- fdt_support.cpp
openfirmware.cpp
$(genericPlatformSources)
- $(libFDTSources)
-
-
:
- : boot_platform_generic.a
+ :
+ boot_platform_generic.a
+ boot_fdt.a
;
BootMergeObject boot_platform_u-boot.o :
@@ -281,12 +270,9 @@ Depends haiku-mmc-image : haiku-$(TARGET_KERNEL_ARCH).mmc ;
SEARCH on [ FGristFiles $(genericPlatformSources) ]
= [ FDirName $(HAIKU_TOP) src system boot platform generic ] ;
-SEARCH on [ FGristFiles openfirmware.cpp fdt_serial.cpp fdt_support.cpp ]
+SEARCH on [ FGristFiles openfirmware.cpp ]
= [ FDirName $(HAIKU_TOP) src system kernel platform u-boot ] ;
-SEARCH on [ FGristFiles $(libFDTSources) ]
- = [ FDirName $(HAIKU_TOP) src libs libfdt ] ;
-
# Tell the build system to where stage1.bin can be found, so it can be used
# elsewhere.
SEARCH on stage1.bin = $(SUBDIR) ;
diff --git a/src/system/boot/platform/u-boot/arch/arm/Jamfile
b/src/system/boot/platform/u-boot/arch/arm/Jamfile
index 8765581c31..f07d3b936b 100644
--- a/src/system/boot/platform/u-boot/arch/arm/Jamfile
+++ b/src/system/boot/platform/u-boot/arch/arm/Jamfile
@@ -2,6 +2,7 @@ SubDir HAIKU_TOP src system boot platform u-boot arch arm ;
SubDirHdrs $(HAIKU_TOP) src system boot platform $(TARGET_BOOT_PLATFORM) ;
SubDirHdrs $(HAIKU_TOP) src system boot arch $(TARGET_KERNEL_ARCH) ;
+SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers fdt ;
UsePrivateSystemHeaders ;
UsePrivateHeaders kernel [ FDirName kernel platform u-boot ] ;
diff --git a/src/system/kernel/arch/arm/Jamfile
b/src/system/kernel/arch/arm/Jamfile
index 6e9163580e..e7eca39cee 100644
--- a/src/system/kernel/arch/arm/Jamfile
+++ b/src/system/kernel/arch/arm/Jamfile
@@ -55,7 +55,7 @@ KernelMergeObject kernel_arch_arm.o :
:
$(TARGET_KERNEL_PIC_CCFLAGS) -Wno-unused
:
-
+ kernel_fdt.a
;
CreateAsmStructOffsetsHeader asm_offsets.h : asm_offsets.cpp ;
diff --git a/src/system/kernel/arch/arm/arch_platform.cpp
b/src/system/kernel/arch/arm/arch_platform.cpp
index 4cb1d1c649..3083a09483 100644
--- a/src/system/kernel/arch/arm/arch_platform.cpp
+++ b/src/system/kernel/arch/arm/arch_platform.cpp
@@ -12,7 +12,7 @@
#include <drivers/bus/FDT.h>
-extern char *gFDT;
+char *gFDT;
status_t
arch_platform_init(struct kernel_args *kernelArgs)
diff --git a/src/system/kernel/arch/ppc/Jamfile
b/src/system/kernel/arch/ppc/Jamfile
index 28f0e71202..d09771b9a0 100644
--- a/src/system/kernel/arch/ppc/Jamfile
+++ b/src/system/kernel/arch/ppc/Jamfile
@@ -53,6 +53,9 @@ KernelMergeObject kernel_arch_ppc.o :
arch_vm.cpp
arch_vm_translation_map.cpp
arch_asm.S
+
+ # serial uart
+ fdt_serial.cpp
debug_uart_8250.cpp
arch_uart_8250.cpp
@@ -70,6 +73,7 @@ KernelMergeObject kernel_arch_ppc.o :
:
arch_ppc_classic.o
arch_ppc_460.o
+ kernel_fdt.a
;
CreateAsmStructOffsetsHeader asm_offsets.h : asm_offsets.cpp ;
diff --git a/src/system/kernel/arch/ppc/arch_platform.cpp
b/src/system/kernel/arch/ppc/arch_platform.cpp
index c74a5e7adf..1abf7b4fb1 100644
--- a/src/system/kernel/arch/ppc/arch_platform.cpp
+++ b/src/system/kernel/arch/ppc/arch_platform.cpp
@@ -15,11 +15,9 @@
#include <real_time_clock.h>
#include <util/kernel_cpp.h>
+#include "fdt_serial.h"
-// TODO: declare this in some header
-extern void *gFDT;
-extern DebugUART *debug_uart_from_fdt(const void *fdt);
-
+void *gFDT;
static PPCPlatform *sPPCPlatform;
diff --git a/src/system/kernel/platform/u-boot/Jamfile
b/src/system/kernel/platform/u-boot/Jamfile
index a46b7b9726..e66f4f10ba 100644
--- a/src/system/kernel/platform/u-boot/Jamfile
+++ b/src/system/kernel/platform/u-boot/Jamfile
@@ -1,29 +1,12 @@
SubDir HAIKU_TOP src system kernel platform u-boot ;
SubDirHdrs $(HAIKU_TOP) headers private kernel platform
$(TARGET_BOOT_PLATFORM) ;
+UseLibraryHeaders [ FDirName libfdt ] ;
SubDirCcFlags $(TARGET_KERNEL_PIC_CCFLAGS) ;
SubDirC++Flags $(TARGET_KERNEL_PIC_CCFLAGS) ;
-UseLibraryHeaders [ FDirName libfdt ] ;
-
-local libFDTSources =
- fdt.c
- fdt_ro.c
- fdt_rw.c
- fdt_strerror.c
- fdt_sw.c
- fdt_wip.c
-;
-
KernelMergeObject kernel_platform_u-boot.o :
platform.cpp
- fdt_serial.cpp
- fdt_support.cpp
openfirmware.cpp
- $(libFDTSources)
;
-
-SEARCH on [ FGristFiles $(libFDTSources) ]
- = [ FDirName $(HAIKU_TOP) src libs libfdt ] ;
-