[haiku-commits] haiku: hrev52176 - src/add-ons/kernel/bus_managers/fdt src/system/kernel/platform/u-boot headers/private/kernel/platform/u-boot src/system

  • From: Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 6 Aug 2018 11:46:53 -0400 (EDT)

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 ] ;
-


Other related posts:

  • » [haiku-commits] haiku: hrev52176 - src/add-ons/kernel/bus_managers/fdt src/system/kernel/platform/u-boot headers/private/kernel/platform/u-boot src/system - Alexander von Gluck IV