From 6e48605b8feba5cb78f73437a2f34ac4c675b5da Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Sat, 8 Dec 2018 12:44:18 -0600 Subject: [PATCH] kernel: Add riscv config_manager and kernel lib arch sources Change-Id: Idb40e98f4f664e6bfe0af6bc098bae5c871fb4e5 --- .../jam/repositories/HaikuPortsCross/riscv64 | 71 +++++++++++++++++++ .../config_manager/arch/riscv32/Jamfile | 10 +++ .../arch/riscv32/config_manager_arch.c | 18 +++++ .../config_manager/arch/riscv64/Jamfile | 10 +++ .../arch/riscv64/config_manager_arch.c | 18 +++++ src/system/kernel/lib/arch/riscv32/Jamfile | 34 +++++++++ src/system/kernel/lib/arch/riscv64/Jamfile | 34 +++++++++ 7 files changed, 195 insertions(+) create mode 100644 build/jam/repositories/HaikuPortsCross/riscv64 create mode 100644 src/add-ons/kernel/bus_managers/config_manager/arch/riscv32/Jamfile create mode 100644 src/add-ons/kernel/bus_managers/config_manager/arch/riscv32/config_manager_arch.c create mode 100644 src/add-ons/kernel/bus_managers/config_manager/arch/riscv64/Jamfile create mode 100644 src/add-ons/kernel/bus_managers/config_manager/arch/riscv64/config_manager_arch.c create mode 100644 src/system/kernel/lib/arch/riscv32/Jamfile create mode 100644 src/system/kernel/lib/arch/riscv64/Jamfile diff --git a/build/jam/repositories/HaikuPortsCross/riscv64 b/build/jam/repositories/HaikuPortsCross/riscv64 new file mode 100644 index 0000000000..0e4c38d83e --- /dev/null +++ b/build/jam/repositories/HaikuPortsCross/riscv64 @@ -0,0 +1,71 @@ +BootstrapPackageRepository HaikuPortsCross + : riscv64 + : + # architecture "any" packages + haikuporter-0-1 + noto-20170202-7 + : + # repository architecture packages (stage 0) + llvm_bootstrap-7.0.0_2018_12_05-1 + #gcc_bootstrap-5.4.0_2016_06_04-1 + #gcc_bootstrap_syslibs-5.4.0_2016_06_04-1 + #gcc_bootstrap_syslibs_devel-5.4.0_2016_06_04-1 + : + # repository architecture packages (stage 1) + bash_bootstrap-4.4.012-1 + binutils_bootstrap-2.26.1_2016_02_29-1 + bison_bootstrap-2.4.3-1 + coreutils_bootstrap-8.22-1 + curl_bootstrap-7.40.0-1 + curl_bootstrap_devel-7.40.0-1 + expat_bootstrap-2.1.0-1 + expat_bootstrap_devel-2.1.0-1 + findutils_bootstrap-4.6.0-1 + flex_bootstrap-2.5.35-1 + freetype_bootstrap-2.6.3-1 + freetype_bootstrap_devel-2.6.3-1 + gawk_bootstrap-3.1.8-2 + grep_bootstrap-2.14-1 + icu_bootstrap-57.1-2 + icu_bootstrap_devel-57.1-2 + less_bootstrap-451-1 + m4_bootstrap-1.4.16-1 + make_bootstrap-4.1-2 + ncurses6_bootstrap-6.0-1 + ncurses6_bootstrap_devel-6.0-1 + python_bootstrap-2.7.6-1 + sed_bootstrap-4.2.1-1 + texinfo_bootstrap-4.13a-1 + zlib_bootstrap-1.2.11-1 + zlib_bootstrap_devel-1.2.11-1 + : + # repository architecture packages (stage 2) + libsolv_bootstrap-0.3.0_haiku_2014_12_22-1 + libsolv_bootstrap_devel-0.3.0_haiku_2014_12_22-1 + : + # source packages + bash_bootstrap + binutils_bootstrap + bison_bootstrap + coreutils_bootstrap + curl_bootstrap + expat_bootstrap + findutils_bootstrap + flex_bootstrap + freetype_bootstrap + gawk_bootstrap + #gcc_bootstrap + grep_bootstrap + less_bootstrap + libsolv_bootstrap + llvm_bootstrap + m4_bootstrap + make_bootstrap + ncurses6_bootstrap + python_bootstrap + sed_bootstrap + texinfo_bootstrap + zlib_bootstrap + : + # debuginfo packages + ; diff --git a/src/add-ons/kernel/bus_managers/config_manager/arch/riscv32/Jamfile b/src/add-ons/kernel/bus_managers/config_manager/arch/riscv32/Jamfile new file mode 100644 index 0000000000..909a67c5ee --- /dev/null +++ b/src/add-ons/kernel/bus_managers/config_manager/arch/riscv32/Jamfile @@ -0,0 +1,10 @@ +SubDir HAIKU_TOP src add-ons kernel bus_managers config_manager arch $(TARGET_ARCH) ; + +SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ; + +UsePrivateHeaders kernel [ FDirName kernel arch $(TARGET_ARCH) ] ; + +KernelStaticLibrary config_manager_arch : + config_manager_arch.c + ; + diff --git a/src/add-ons/kernel/bus_managers/config_manager/arch/riscv32/config_manager_arch.c b/src/add-ons/kernel/bus_managers/config_manager/arch/riscv32/config_manager_arch.c new file mode 100644 index 0000000000..1996ba4daf --- /dev/null +++ b/src/add-ons/kernel/bus_managers/config_manager/arch/riscv32/config_manager_arch.c @@ -0,0 +1,18 @@ +/* + * Copyright 2009 Haiku, Inc. + * Distributed under the terms of the MIT License. + * + * arch-specific config manager + * + * Authors (in chronological order): + * François Revol (revol@free.fr) + */ + +#include +#include + +int config_manager_scan_hardcoded(struct device_info **info, int32 *count) +{ + return B_OK; +} + diff --git a/src/add-ons/kernel/bus_managers/config_manager/arch/riscv64/Jamfile b/src/add-ons/kernel/bus_managers/config_manager/arch/riscv64/Jamfile new file mode 100644 index 0000000000..909a67c5ee --- /dev/null +++ b/src/add-ons/kernel/bus_managers/config_manager/arch/riscv64/Jamfile @@ -0,0 +1,10 @@ +SubDir HAIKU_TOP src add-ons kernel bus_managers config_manager arch $(TARGET_ARCH) ; + +SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) ] ; + +UsePrivateHeaders kernel [ FDirName kernel arch $(TARGET_ARCH) ] ; + +KernelStaticLibrary config_manager_arch : + config_manager_arch.c + ; + diff --git a/src/add-ons/kernel/bus_managers/config_manager/arch/riscv64/config_manager_arch.c b/src/add-ons/kernel/bus_managers/config_manager/arch/riscv64/config_manager_arch.c new file mode 100644 index 0000000000..1996ba4daf --- /dev/null +++ b/src/add-ons/kernel/bus_managers/config_manager/arch/riscv64/config_manager_arch.c @@ -0,0 +1,18 @@ +/* + * Copyright 2009 Haiku, Inc. + * Distributed under the terms of the MIT License. + * + * arch-specific config manager + * + * Authors (in chronological order): + * François Revol (revol@free.fr) + */ + +#include +#include + +int config_manager_scan_hardcoded(struct device_info **info, int32 *count) +{ + return B_OK; +} + diff --git a/src/system/kernel/lib/arch/riscv32/Jamfile b/src/system/kernel/lib/arch/riscv32/Jamfile new file mode 100644 index 0000000000..f061d894ec --- /dev/null +++ b/src/system/kernel/lib/arch/riscv32/Jamfile @@ -0,0 +1,34 @@ +SubDir HAIKU_TOP src system kernel lib arch riscv32 ; + +SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + +local librootSources = [ FDirName $(HAIKU_TOP) src system libroot ] ; +local posixSources = [ FDirName $(librootSources) posix ] ; + +SEARCH_SOURCE += [ FDirName $(librootSources) os arch $(TARGET_ARCH) ] ; +SEARCH_SOURCE += [ FDirName $(librootSources) os arch generic ] ; + +KernelMergeObject kernel_os_arch_$(TARGET_ARCH).o : + byteorder.S + + generic_atomic.cpp + generic_system_time_nsecs.cpp + + : $(TARGET_KERNEL_PIC_CCFLAGS) +; + +SEARCH_SOURCE += [ FDirName $(posixSources) arch $(TARGET_ARCH) ] ; +SEARCH_SOURCE += [ FDirName $(posixSources) string arch generic ] ; +SEARCH_SOURCE += [ FDirName $(posixSources) string arch $(TARGET_ARCH) ] ; + +KernelMergeObject kernel_lib_posix_arch_$(TARGET_ARCH).o : + siglongjmp.S + sigsetjmp.S + kernel_longjmp_return.c + kernel_setjmp_save_sigs.c + + arch_string.S + memset.c + + : $(TARGET_KERNEL_PIC_CCFLAGS) +; diff --git a/src/system/kernel/lib/arch/riscv64/Jamfile b/src/system/kernel/lib/arch/riscv64/Jamfile new file mode 100644 index 0000000000..1fe370fc36 --- /dev/null +++ b/src/system/kernel/lib/arch/riscv64/Jamfile @@ -0,0 +1,34 @@ +SubDir HAIKU_TOP src system kernel lib arch riscv64 ; + +SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; + +local librootSources = [ FDirName $(HAIKU_TOP) src system libroot ] ; +local posixSources = [ FDirName $(librootSources) posix ] ; + +SEARCH_SOURCE += [ FDirName $(librootSources) os arch $(TARGET_ARCH) ] ; +SEARCH_SOURCE += [ FDirName $(librootSources) os arch generic ] ; + +KernelMergeObject kernel_os_arch_$(TARGET_ARCH).o : + byteorder.S + + generic_atomic.cpp + generic_system_time_nsecs.cpp + + : $(TARGET_KERNEL_PIC_CCFLAGS) +; + +SEARCH_SOURCE += [ FDirName $(posixSources) arch $(TARGET_ARCH) ] ; +SEARCH_SOURCE += [ FDirName $(posixSources) string arch generic ] ; +SEARCH_SOURCE += [ FDirName $(posixSources) string arch $(TARGET_ARCH) ] ; + +KernelMergeObject kernel_lib_posix_arch_$(TARGET_ARCH).o : + siglongjmp.S + sigsetjmp.S + kernel_longjmp_return.c + kernel_setjmp_save_sigs.c + + arch_string.S + memset.c + + : $(TARGET_KERNEL_PIC_CCFLAGS) +;