summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2015-02-23 12:09:34 -0600
committerGregory Nutt <gnutt@nuttx.org>2015-02-23 12:09:34 -0600
commit36f3e47e3d43463678cae6e7a0c3c7624176967e (patch)
treeb85cab72e42f401dbb0be0ba0fc318de85371b0f
parent39c38f83821fafa8edd52474d9c0dd8a3624d743 (diff)
downloadnuttx-36f3e47e3d43463678cae6e7a0c3c7624176967e.tar.gz
nuttx-36f3e47e3d43463678cae6e7a0c3c7624176967e.tar.bz2
nuttx-36f3e47e3d43463678cae6e7a0c3c7624176967e.zip
PIC32MZ: Make sure that the microMIPS ISA is selected on all common MIPS32 assembly files when the PIC21MZ is selected
-rw-r--r--nuttx/arch/mips/Kconfig5
-rw-r--r--nuttx/arch/mips/src/mips32/up_syscall0.S7
-rw-r--r--nuttx/arch/mips/src/mips32/vfork.S5
-rw-r--r--nuttx/configs/pic32mz-starterkit/nsh/defconfig3
4 files changed, 18 insertions, 2 deletions
diff --git a/nuttx/arch/mips/Kconfig b/nuttx/arch/mips/Kconfig
index 69bfc2f40..33fdd2a61 100644
--- a/nuttx/arch/mips/Kconfig
+++ b/nuttx/arch/mips/Kconfig
@@ -42,6 +42,11 @@ config ARCH_MIPS_24KC
config ARCH_MIPS_M14K
bool
default n
+ select ARCH_MIPS_MICROMIPS
+
+config ARCH_MIPS_MICROMIPS
+ bool
+ default n
config ARCH_FAMILY
string
diff --git a/nuttx/arch/mips/src/mips32/up_syscall0.S b/nuttx/arch/mips/src/mips32/up_syscall0.S
index 0a82cd346..f9cf4762b 100644
--- a/nuttx/arch/mips/src/mips32/up_syscall0.S
+++ b/nuttx/arch/mips/src/mips32/up_syscall0.S
@@ -1,7 +1,7 @@
/****************************************************************************
* arch/mips/src/mips32/up_syscall0.S
*
- * Copyright (C) 2011 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2011, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -80,7 +80,12 @@
.text
.set noreorder
+ .set nomips16
+#ifdef CONFIG_ARCH_MIPS_MICROMIPS
+ .set micromips
+#endif
.ent sys_call0
+
sys_call0: /* r4 holds the syscall number */
sys_call1: /* r4 holds the syscall number, argument in r5 */
sys_call2: /* r4 holds the syscall number, arguments in r5 and r6 */
diff --git a/nuttx/arch/mips/src/mips32/vfork.S b/nuttx/arch/mips/src/mips32/vfork.S
index 8aba77326..1e000b78d 100644
--- a/nuttx/arch/mips/src/mips32/vfork.S
+++ b/nuttx/arch/mips/src/mips32/vfork.S
@@ -1,7 +1,7 @@
/************************************************************************************
* arch/mips/src/mips32/vfork.S
*
- * Copyright (C) 2013 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2013, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -102,6 +102,9 @@
.globl vfork
.type vfork, function
.set nomips16
+#ifdef CONFIG_ARCH_MIPS_MICROMIPS
+ .set micromips
+#endif
.ent vfork
vfork:
diff --git a/nuttx/configs/pic32mz-starterkit/nsh/defconfig b/nuttx/configs/pic32mz-starterkit/nsh/defconfig
index 0ea714f2c..73d288a58 100644
--- a/nuttx/configs/pic32mz-starterkit/nsh/defconfig
+++ b/nuttx/configs/pic32mz-starterkit/nsh/defconfig
@@ -73,6 +73,9 @@ CONFIG_ARCH_CHIP="pic32mz"
# CONFIG_ARCH_CHIP_PIC32MX is not set
CONFIG_ARCH_CHIP_PIC32MZ=y
CONFIG_ARCH_MIPS32=y
+# CONFIG_ARCH_MIPS_24KC is not set
+CONFIG_ARCH_MIPS_M14K=y
+CONFIG_ARCH_MIPS_MICROMIPS=y
#
# MIPS32 Configuration Options