在 2023/12/21 14:55, Thomas Bogendoerfer 写道:
On Thu, Dec 21, 2023 at 08:57:55AM +0100, Gregory CLEMENT wrote:
I do not oppose the addition of a new platform, even though, like
Jiaxun, I would prefer to avoid duplicating code. The only thing
preventing the use of the same kernel for EyeQ5 and other platforms is
the starting address.
there shouldn't be code duplication.
My rough idea would be something like
diff --git a/arch/mips/Kbuild b/arch/mips/Kbuild
index af2967bffb73..d683993ed331 100644
--- a/arch/mips/Kbuild
+++ b/arch/mips/Kbuild
@@ -17,6 +17,7 @@ obj- := $(platform-y)
# mips object files
# The object files are linked as core-y files would be linked
+obj-y += generic/
obj-y += kernel/
obj-y += mm/
obj-y += net/
diff --git a/arch/mips/generic/Makefile b/arch/mips/generic/Makefile
index e37a59bae0a6..56011d738441 100644
--- a/arch/mips/generic/Makefile
+++ b/arch/mips/generic/Makefile
@@ -4,9 +4,9 @@
# Author: Paul Burton <paul.burton@xxxxxxxx>
#
-obj-y += init.o
-obj-y += irq.o
-obj-y += proc.o
+obj-$(CONFIG_MACH_GENERIC_CORE) += init.o
+obj-$(CONFIG_MACH_GENERIC_CORE) += irq.o
+obj-$(CONFIG_MACH_GENERIC_CORE) += proc.o
obj-$(CONFIG_YAMON_DT_SHIM) += yamon-dt.o
obj-$(CONFIG_LEGACY_BOARD_SEAD3) += board-sead3.o
so everyboady needing these parts of a generic kernel is able
to take it.
Therefore, if it were possible to have a relocatable kernel, this
issue would disappear.
yes. There is support for relocatable kernel, so what are we missing
there ?
It does not handle 64 bit relocations currently.
I tried to look into it and it's not a easy fix.
Thanks
- Jiaxun
Thomas.