Explorar o código

mips: cleanup and fix mips{32,64}r6 support

uClibc-ng shared library support will be fixed in next
release of uClibc-ng. Preparation fixes for this.
Waldemar Brodkorb %!s(int64=7) %!d(string=hai) anos
pai
achega
6e6f397916

+ 3 - 0
target/config/Config.in.cpu

@@ -858,6 +858,7 @@ config ADK_TARGET_CPU_MIPS64_MIPS64
 	select ADK_TARGET_SUPPORTS_NPTL
 	select ADK_TARGET_WITH_MMU
 	select ADK_TARGET_ARCH_MIPS_WITH_NAN_LEGACY
+	select ADK_KERNEL_CPU_MIPS64_R1
 	depends on ADK_TARGET_ARCH_MIPS64
 
 config ADK_TARGET_CPU_MIPS64_MIPS64R2
@@ -868,6 +869,7 @@ config ADK_TARGET_CPU_MIPS64_MIPS64R2
 	select ADK_TARGET_SUPPORTS_NPTL
 	select ADK_TARGET_WITH_MMU
 	select ADK_TARGET_ARCH_MIPS_WITH_NAN_LEGACY
+	select ADK_KERNEL_CPU_MIPS64_R2
 	depends on ADK_TARGET_ARCH_MIPS64
 
 config ADK_TARGET_CPU_MIPS64_MIPS64R6
@@ -878,6 +880,7 @@ config ADK_TARGET_CPU_MIPS64_MIPS64R6
 	select ADK_TARGET_SUPPORTS_NPTL
 	select ADK_TARGET_WITH_MMU
 	select ADK_TARGET_ARCH_MIPS_WITH_NAN_2008
+	select ADK_KERNEL_CPU_MIPS64_R6
 	depends on ADK_TARGET_ARCH_MIPS64
 
 config ADK_TARGET_CPU_MIPS64_LOONGSON2F

+ 9 - 0
target/linux/config/Config.in.mips

@@ -10,6 +10,15 @@ config ADK_KERNEL_CPU_MIPS32_R2
 config ADK_KERNEL_CPU_MIPS32_R6
 	bool
 
+config ADK_KERNEL_CPU_MIPS64_R1
+	bool
+
+config ADK_KERNEL_CPU_MIPS64_R2
+	bool
+
+config ADK_KERNEL_CPU_MIPS64_R6
+	bool
+
 menu "MIPS devices support"
 depends on ADK_TARGET_SYSTEM_LEMOTE_YEELONG
 

+ 2 - 0
target/linux/config/Config.in.serial

@@ -95,6 +95,7 @@ config ADK_KERNEL_SERIAL_8250
 		|| ADK_TARGET_SYSTEM_PCENGINES_ALIX \
 		|| ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605 \
 		|| ADK_TARGET_SYSTEM_QEMU_MIPS \
+		|| ADK_TARGET_SYSTEM_QEMU_MIPS64 \
 		|| ADK_TARGET_SYSTEM_SGI_O2 \
 		|| ADK_TARGET_SYSTEM_QEMU_NIOS2 \
 		|| ADK_TARGET_SYSTEM_QEMU_OR1K \
@@ -118,6 +119,7 @@ config ADK_KERNEL_SERIAL_8250
 	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX
 	default y if ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605
 	default y if ADK_TARGET_SYSTEM_QEMU_MIPS
+	default y if ADK_TARGET_SYSTEM_QEMU_MIPS64
 	default y if ADK_TARGET_SYSTEM_SGI_O2
 	default y if ADK_TARGET_SYSTEM_QEMU_NIOS2
 	default y if ADK_TARGET_SYSTEM_QEMU_OR1K

+ 1 - 1
target/mips/Makefile

@@ -17,7 +17,7 @@ QEMU_ARGS+=${ADK_QEMU_ARGS}
 QEMU_ARGS+=-device e1000,netdev=adk0 -netdev user,id=adk0
 
 ifeq ($(ADK_TARGET_CPU_MIPS_MIPS32R6),y)
-QEMU_ARGS+=-cpu mips32r6-generic
+QEMU_ARGS+=-cpu P5600
 endif
 
 # target helper text

+ 4 - 0
target/mips64/Makefile

@@ -12,6 +12,10 @@ QEMU_ARGS:=-M malta
 QEMU_ARGS+=${ADK_QEMU_ARGS}
 QEMU_ARGS+=-device e1000,netdev=adk0 -netdev user,id=adk0
 
+ifeq ($(ADK_TARGET_CPU_MIPS64_MIPS64R6),y)
+QEMU_ARGS+=-cpu I6400
+endif
+
 # target helper text
 ifeq ($(ADK_TARGET_FS),nfsroot)
 targethelp:

+ 0 - 3
target/mips64/kernel/qemu-mips64

@@ -1,9 +1,6 @@
 CONFIG_MIPS=y
 CONFIG_MIPS_MALTA=y
-CONFIG_CPU_MIPS64_R1=y
 CONFIG_MIPS32_COMPAT=y
 CONFIG_MIPS32_O32=y
 CONFIG_MIPS32_N32=y
 CONFIG_BINFMT_ELF32=y
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y