You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ac...@apache.org on 2020/07/19 18:49:25 UTC

[incubator-nuttx] branch master updated (f66ead9 -> f27fbe8)

This is an automated email from the ASF dual-hosted git repository.

acassis pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git.


    from f66ead9  Update the boards matrix to add AVR builds.
     new 470624f  Use AVR Linux toolchain instead of buildroot
     new 871613f  libc: Typecast to avoid overflow in inet_addr for AVR
     new ff6e2e7  AVR: Fix warnings from pointer casts and prototype
     new 3a58926  Cast pointer to uintptr prior to ulong for ioctl
     new fe0b5df  boardctl: Remove warning pragma on BOARDIOC_USBDEV_CONNECT
     new 8319078  AVR: Remove warning pragma from SPI freq function
     new f27fbe8  REMOVE ME: Force build of AVR in test

The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/build.yml                        |  2 ++
 arch/avr/src/avr/up_initialstate.c                 | 10 ++++----
 arch/avr/src/avr/up_schedulesigaction.c            | 28 ++++++++++++----------
 arch/avr/src/avr/up_spi.c                          |  8 ++++---
 arch/avr/src/common/up_internal.h                  | 17 ++++++-------
 .../at90usb/micropendous3/configs/hello/defconfig  |  3 +--
 .../avr/at90usb/teensy-2.0/configs/hello/defconfig |  3 +--
 .../avr/at90usb/teensy-2.0/configs/nsh/defconfig   |  3 +--
 .../at90usb/teensy-2.0/configs/usbmsc/defconfig    |  5 ++--
 boards/avr/atmega/amber/configs/hello/defconfig    |  3 +--
 .../arduino-mega2560/configs/hello/defconfig       |  2 +-
 .../atmega/arduino-mega2560/configs/nsh/defconfig  |  4 +---
 .../atmega/moteino-mega/configs/hello/defconfig    |  2 +-
 .../avr/atmega/moteino-mega/configs/nsh/defconfig  |  2 +-
 boards/boardctl.c                                  |  1 -
 fs/driver/fs_blockpartition.c                      |  8 ++++---
 fs/partition/fs_partition.c                        |  5 ++--
 libs/libc/net/lib_inetaddr.c                       |  7 +++---
 18 files changed, 56 insertions(+), 57 deletions(-)


[incubator-nuttx] 02/07: libc: Typecast to avoid overflow in inet_addr for AVR

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 871613f271f028affbb2c71b307bd88daa9cf472
Author: Alan C. Assis <ac...@gmail.com>
AuthorDate: Sun Jul 19 15:25:47 2020 +0000

    libc: Typecast to avoid overflow in inet_addr for AVR
    
    Signed-off-by: Brennan Ashton <ba...@brennanashton.com>
---
 libs/libc/net/lib_inetaddr.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/libs/libc/net/lib_inetaddr.c b/libs/libc/net/lib_inetaddr.c
index e71ee8e..1b6db62 100644
--- a/libs/libc/net/lib_inetaddr.c
+++ b/libs/libc/net/lib_inetaddr.c
@@ -102,7 +102,7 @@ in_addr_t inet_addr(FAR const char *cp)
         {
           if ((a < 0x100) && (b < 0x1000000))
             {
-              result = (a << 24) | b;
+              result = (((uint32_t) a) << 24) | b;
             }
           break;
         }
@@ -111,7 +111,7 @@ in_addr_t inet_addr(FAR const char *cp)
         {
           if ((a < 0x100) && (b < 0x100) && (c < 0x10000))
             {
-              result = (a << 24) | (b << 16) | c;
+              result = (((uint32_t) a) << 24) | (((uint32_t) b) << 16) | c;
             }
           break;
         }
@@ -120,7 +120,8 @@ in_addr_t inet_addr(FAR const char *cp)
         {
           if ((a < 0x100) && (b < 0x100) && (c < 0x100) && (d < 0x100))
             {
-              result = (a << 24) | (b << 16) | (c << 8) | d;
+              result = (((uint32_t) a) << 24) | (((uint32_t) b) << 16) |
+                       (((uint32_t) c) << 8) | d;
             }
           break;
         }


[incubator-nuttx] 03/07: AVR: Fix warnings from pointer casts and prototype

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit ff6e2e7b7ddbabacb11ff11024b178eae08950e8
Author: Brennan Ashton <ba...@brennanashton.com>
AuthorDate: Sun Jul 19 16:06:19 2020 +0000

    AVR: Fix warnings from pointer casts and prototype
    
    There was broken logic around serial initialization function
    prototype.  Pointers were also being cast directly to uint32
    without first being cast to uintptr.
    
    Signed-off-by: Brennan Ashton <ba...@brennanashton.com>
---
 arch/avr/src/avr/up_initialstate.c      | 10 +++++-----
 arch/avr/src/avr/up_schedulesigaction.c | 28 +++++++++++++++-------------
 arch/avr/src/common/up_internal.h       | 17 +++++++----------
 3 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/arch/avr/src/avr/up_initialstate.c b/arch/avr/src/avr/up_initialstate.c
index 6780866..5c63f23 100644
--- a/arch/avr/src/avr/up_initialstate.c
+++ b/arch/avr/src/avr/up_initialstate.c
@@ -85,12 +85,12 @@ void up_initial_state(struct tcb_s *tcb)
   /* Save the task entry point */
 
 #if !defined(REG_PC2)
-  xcp->regs[REG_PC0]   = (uint8_t)((uint16_t)tcb->start >> 8);
-  xcp->regs[REG_PC1]   = (uint8_t)((uint16_t)tcb->start & 0xff);
+  xcp->regs[REG_PC0]   = (uint8_t)((uintptr_t)tcb->start >> 8);
+  xcp->regs[REG_PC1]   = (uint8_t)((uintptr_t)tcb->start & 0xff);
 #else
-  xcp->regs[REG_PC0]   = (uint8_t)((uint32_t)tcb->start >> 16);
-  xcp->regs[REG_PC1]   = (uint8_t)((uint32_t)tcb->start >> 8);
-  xcp->regs[REG_PC2]   = (uint8_t)((uint32_t)tcb->start & 0xff);
+  xcp->regs[REG_PC0]   = (uint8_t)((uint32_t)(uintptr_t)tcb->start >> 16);
+  xcp->regs[REG_PC1]   = (uint8_t)((uintptr_t)tcb->start >> 8);
+  xcp->regs[REG_PC2]   = (uint8_t)((uintptr_t)tcb->start & 0xff);
 #endif
 
   /* Enable or disable interrupts, based on user configuration */
diff --git a/arch/avr/src/avr/up_schedulesigaction.c b/arch/avr/src/avr/up_schedulesigaction.c
index 955606d..f0d4f45 100644
--- a/arch/avr/src/avr/up_schedulesigaction.c
+++ b/arch/avr/src/avr/up_schedulesigaction.c
@@ -91,6 +91,7 @@
 void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
 {
   irqstate_t flags;
+  uintptr_t reg_ptr = (uintptr_t)up_sigdeliver;
 
   sinfo("tcb=0x%p sigdeliver=0x%p\n", tcb, sigdeliver);
 
@@ -136,9 +137,9 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
 
           else
             {
-              /* Save registers that must be protected while the signal handler
-               * runs. These will be restored by the signal trampoline after
-               * the signal(s) have been delivered.
+              /* Save registers that must be protected while the signal
+               * handler runs. These will be restored by the signal
+               * trampoline after the signal(s) have been delivered.
                */
 
               tcb->xcp.sigdeliver   = sigdeliver;
@@ -152,13 +153,14 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
               /* Then set up to vector to the trampoline with interrupts
                * disabled
                */
+
 #if !defined(REG_PC2)
-              g_current_regs[REG_PC0]   = (uint16_t)up_sigdeliver >> 8;
-              g_current_regs[REG_PC1]   = (uint16_t)up_sigdeliver & 0xff;
+              g_current_regs[REG_PC0] = (uint16_t)reg_ptr >> 8;
+              g_current_regs[REG_PC1] = (uint16_t)reg_ptr & 0xff;
 #else
-              g_current_regs[REG_PC0]   = (uint32_t)up_sigdeliver >> 16;
-              g_current_regs[REG_PC1]   = (uint32_t)up_sigdeliver >> 8;
-              g_current_regs[REG_PC2]   = (uint32_t)up_sigdeliver & 0xff;
+              g_current_regs[REG_PC0] = (uint32_t)reg_ptr >> 16;
+              g_current_regs[REG_PC1] = (uint32_t)reg_ptr >> 8;
+              g_current_regs[REG_PC2] = (uint32_t)reg_ptr & 0xff;
 #endif
               g_current_regs[REG_SREG] &= ~(1 << SREG_I);
 
@@ -196,12 +198,12 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
            */
 
 #if !defined(REG_PC2)
-          tcb->xcp.regs[REG_PC0]    = (uint16_t)up_sigdeliver >> 8;
-          tcb->xcp.regs[REG_PC1]    = (uint16_t)up_sigdeliver & 0xff;
+          tcb->xcp.regs[REG_PC0]    = (uint16_t)reg_ptr >> 8;
+          tcb->xcp.regs[REG_PC1]    = (uint16_t)reg_ptr & 0xff;
 #else
-          tcb->xcp.regs[REG_PC0]    = (uint32_t)up_sigdeliver >> 16;
-          tcb->xcp.regs[REG_PC1]    = (uint32_t)up_sigdeliver >> 8;
-          tcb->xcp.regs[REG_PC2]    = (uint32_t)up_sigdeliver & 0xff;
+          tcb->xcp.regs[REG_PC0]    = (uint32_t)reg_ptr >> 16;
+          tcb->xcp.regs[REG_PC1]    = (uint32_t)reg_ptr >> 8;
+          tcb->xcp.regs[REG_PC2]    = (uint32_t)reg_ptr & 0xff;
 
 #endif
           tcb->xcp.regs[REG_SREG]  &= ~(1 << SREG_I);
diff --git a/arch/avr/src/common/up_internal.h b/arch/avr/src/common/up_internal.h
index ae89d54..c853815 100644
--- a/arch/avr/src/common/up_internal.h
+++ b/arch/avr/src/common/up_internal.h
@@ -89,14 +89,14 @@ typedef void (*up_vector_t)(void);
 extern void g_intstackbase;
 #endif
 
-/* These 'addresses' of these values are setup by the linker script.  They are
- * not actual uint32_t storage locations! They are only used meaningfully in the
- * following way:
+/* These 'addresses' of these values are setup by the linker script.  They
+ * are not actual uint32_t storage locations! They are only used meaningfully
+ * in the following way:
  *
  *  - The linker script defines, for example, the symbol_sdata.
  *  - The declareion extern uint32_t _sdata; makes C happy.  C will believe
- *    that the value _sdata is the address of a uint32_t variable _data (it is
- *    not!).
+ *    that the value _sdata is the address of a uint32_t variable _data
+ *    (it is not!).
  *  - We can recoved the linker value then by simply taking the address of
  *    of _data.  like:  uint32_t *pdata = &_sdata;
  */
@@ -116,7 +116,7 @@ extern uint32_t _ebss;            /* End+1 of .bss */
  ****************************************************************************/
 
 /****************************************************************************
- * Public Functions
+ * Public Function Prototypes
  ****************************************************************************/
 
 #ifndef __ASSEMBLY__
@@ -150,11 +150,8 @@ void up_lowinit(void);
 
 /* Defined in chip/xxx_serial.c */
 
-#ifdef USE_EARLYSERIALINIT
+#ifdef CONFIG_DEV_CONSOLE
 void up_earlyserialinit(void);
-#endif
-
-#ifdef USE_SERIALDRIVER
 void up_serialinit(void);
 #endif
 


[incubator-nuttx] 06/07: AVR: Remove warning pragma from SPI freq function

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 8319078887beb749ab24f283e50c3f004c1d449b
Author: Brennan Ashton <ba...@brennanashton.com>
AuthorDate: Sun Jul 19 17:21:36 2020 +0000

    AVR: Remove warning pragma from SPI freq function
    
    The function for updating the spi frequency included a #warning
    pragma because the divider registers are computed but not used
    it is not clear what needs to be done here to implement this
    but the warning has been removed and replaced with a comment
    in the function.
    
    Signed-off-by: Brennan Ashton <ba...@brennanashton.com>
---
 arch/avr/src/avr/up_spi.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/avr/src/avr/up_spi.c b/arch/avr/src/avr/up_spi.c
index dd58ed6..09334ad 100644
--- a/arch/avr/src/avr/up_spi.c
+++ b/arch/avr/src/avr/up_spi.c
@@ -188,11 +188,15 @@ static uint32_t spi_setfrequency(FAR struct spi_dev_s *dev,
   FAR struct avr_spidev_s *priv = (FAR struct avr_spidev_s *)dev;
   uint32_t actual;
 
+  /* TODO: This is missing the actual logic to update the frequency.
+   * The divider bits are computed but not actually used.
+   */
+
   /* Has the request frequency changed? */
 
   if (frequency != priv->frequency)
     {
-      /* Read the SPI status and control registers, clearing all divider bits */
+      /* Read the SPI status and control registers, clearing all div bits */
 
       uint8_t spcr = SPCR & ~((1 << SPR0) | (1 << SPR1));
       uint8_t spsr = SPSR & ~(1 << SPI2X);
@@ -236,8 +240,6 @@ static uint32_t spi_setfrequency(FAR struct spi_dev_s *dev,
           actual = BOARD_CPU_CLOCK / 128;
         }
 
-#warning REVISIT: spcr/spsr are never used
-
       /* Save the frequency setting */
 
       priv->frequency = frequency;


[incubator-nuttx] 07/07: REMOVE ME: Force build of AVR in test

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit f27fbe856df0b020185f3371de0cbfe3cf9c3a25
Author: Brennan Ashton <ba...@brennanashton.com>
AuthorDate: Sun Jul 19 10:37:04 2020 -0700

    REMOVE ME: Force build of AVR in test
---
 .github/workflows/build.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a20e7db..773a9cf 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -181,6 +181,7 @@ jobs:
           run: |
             echo "::add-matcher::sources/nuttx/.github/gcc.json"
             cd sources/testing
+            echo -e "/avr\n-avr32dev1:nsh\n-avr32dev1:ostest" >> testlist/avr-mips-riscv-x86-xtensa.dat
             ./cibuild.sh -x testlist/${{matrix.boards}}.dat
 
   macOS:
@@ -233,4 +234,5 @@ jobs:
         run: |
           echo "::add-matcher::sources/nuttx/.github/gcc.json"
           cd sources/testing
+          echo -e "/avr\n-avr32dev1:nsh\n-avr32dev1:ostest" >> testlist/avr-mips-riscv-x86-xtensa.dat
           ./cibuild.sh -i -x testlist/${{matrix.boards}}.dat


[incubator-nuttx] 05/07: boardctl: Remove warning pragma on BOARDIOC_USBDEV_CONNECT

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit fe0b5df223983d0ab319b4cfc714cd75b408e55f
Author: Brennan Ashton <ba...@brennanashton.com>
AuthorDate: Sun Jul 19 10:15:50 2020 -0700

    boardctl: Remove warning pragma on BOARDIOC_USBDEV_CONNECT
    
    We already have a debug assert and a return error this warning
    will fail builds that are not even using this ioctl.
    
    Signed-off-by: Brennan Ashton <ba...@brennanashton.com>
---
 boards/boardctl.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/boards/boardctl.c b/boards/boardctl.c
index f573665..6b949d7 100644
--- a/boards/boardctl.c
+++ b/boards/boardctl.c
@@ -152,7 +152,6 @@ static inline int
             case BOARDIOC_USBDEV_CONNECT:    /* Connect the USB MSC device */
               {
                 DEBUGASSERT(ctrl->handle != NULL);
-#warning Missing logic
                 ret = -ENOSYS;
               }
               break;


[incubator-nuttx] 04/07: Cast pointer to uintptr prior to ulong for ioctl

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 3a58926d01cf52cc743a938f7e227d09bbe7ab66
Author: Brennan Ashton <ba...@brennanashton.com>
AuthorDate: Sun Jul 19 16:53:22 2020 +0000

    Cast pointer to uintptr prior to ulong for ioctl
    
    Signed-off-by: Brennan Ashton <ba...@brennanashton.com>
---
 fs/driver/fs_blockpartition.c | 8 +++++---
 fs/partition/fs_partition.c   | 5 +++--
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/fs/driver/fs_blockpartition.c b/fs/driver/fs_blockpartition.c
index f42d7fc..1dda522 100644
--- a/fs/driver/fs_blockpartition.c
+++ b/fs/driver/fs_blockpartition.c
@@ -224,6 +224,7 @@ static int part_geometry(FAR struct inode *inode, struct geometry *geometry)
 
 static int part_ioctl(FAR struct inode *inode, int cmd, unsigned long arg)
 {
+  FAR uintptr_t ptr_arg = (uintptr_t)arg;
   FAR struct part_struct_s *dev = inode->i_private;
   FAR struct inode *parent = dev->parent;
   int ret = -ENOTTY;
@@ -232,7 +233,8 @@ static int part_ioctl(FAR struct inode *inode, int cmd, unsigned long arg)
     {
       if (cmd == MTDIOC_PROTECT || cmd == MTDIOC_UNPROTECT)
         {
-          FAR struct mtd_protect_s *prot = (FAR struct mtd_protect_s *)arg;
+          FAR struct mtd_protect_s *prot =
+            (FAR struct mtd_protect_s *)ptr_arg;
 
           prot->startblock += dev->firstsector;
         }
@@ -242,7 +244,7 @@ static int part_ioctl(FAR struct inode *inode, int cmd, unsigned long arg)
         {
           if (cmd == BIOC_XIPBASE || cmd == MTDIOC_XIPBASE)
             {
-              FAR void **base = (FAR void **)arg;
+              FAR void **base = (FAR void **)ptr_arg;
               struct geometry geo;
 
               ret = parent->u.i_bops->geometry(parent, &geo);
@@ -255,7 +257,7 @@ static int part_ioctl(FAR struct inode *inode, int cmd, unsigned long arg)
           else if (cmd == MTDIOC_GEOMETRY)
             {
               FAR struct mtd_geometry_s *mgeo =
-                (FAR struct mtd_geometry_s *)arg;
+                (FAR struct mtd_geometry_s *)ptr_arg;
               uint32_t blkper = mgeo->erasesize / mgeo->blocksize;
 
               mgeo->neraseblocks = dev->nsectors / blkper;
diff --git a/fs/partition/fs_partition.c b/fs/partition/fs_partition.c
index 4e065e6..f9d3fc9 100644
--- a/fs/partition/fs_partition.c
+++ b/fs/partition/fs_partition.c
@@ -156,7 +156,8 @@ int parse_block_partition(FAR const char *path,
 
   state.mtd = NULL;
 
-  ret = state.blk->u.i_bops->ioctl(state.blk, MTDIOC_GEOMETRY, (unsigned long)&mgeo);
+  ret = state.blk->u.i_bops->ioctl(
+    state.blk, MTDIOC_GEOMETRY, (unsigned long)(uintptr_t)&mgeo);
   if (ret >= 0)
     {
       state.blocksize = mgeo.blocksize;
@@ -207,7 +208,7 @@ int parse_mtd_partition(FAR struct mtd_dev_s *mtd,
   struct mtd_geometry_s mgeo;
   int ret;
 
-  ret = mtd->ioctl(mtd, MTDIOC_GEOMETRY, (unsigned long)&mgeo);
+  ret = mtd->ioctl(mtd, MTDIOC_GEOMETRY, (unsigned long)(uintptr_t)&mgeo);
   if (ret < 0)
     {
       return ret;


[incubator-nuttx] 01/07: Use AVR Linux toolchain instead of buildroot

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 470624fa7829e323f00172dbda4c241bd234e5d0
Author: Brennan Ashton <ba...@brennanashton.com>
AuthorDate: Sun Jul 19 06:14:45 2020 +0000

    Use AVR Linux toolchain instead of buildroot
    
    Signed-off-by: Brennan Ashton <ba...@brennanashton.com>
---
 boards/avr/at90usb/micropendous3/configs/hello/defconfig   | 3 +--
 boards/avr/at90usb/teensy-2.0/configs/hello/defconfig      | 3 +--
 boards/avr/at90usb/teensy-2.0/configs/nsh/defconfig        | 3 +--
 boards/avr/at90usb/teensy-2.0/configs/usbmsc/defconfig     | 5 ++---
 boards/avr/atmega/amber/configs/hello/defconfig            | 3 +--
 boards/avr/atmega/arduino-mega2560/configs/hello/defconfig | 2 +-
 boards/avr/atmega/arduino-mega2560/configs/nsh/defconfig   | 4 +---
 boards/avr/atmega/moteino-mega/configs/hello/defconfig     | 2 +-
 boards/avr/atmega/moteino-mega/configs/nsh/defconfig       | 2 +-
 9 files changed, 10 insertions(+), 17 deletions(-)

diff --git a/boards/avr/at90usb/micropendous3/configs/hello/defconfig b/boards/avr/at90usb/micropendous3/configs/hello/defconfig
index bb1a8a7..8cb9ea4 100644
--- a/boards/avr/at90usb/micropendous3/configs/hello/defconfig
+++ b/boards/avr/at90usb/micropendous3/configs/hello/defconfig
@@ -13,7 +13,7 @@ CONFIG_ARCH_CHIP="at90usb"
 CONFIG_ARCH_CHIP_AT90USB647=y
 CONFIG_ARCH_CHIP_AT90USB=y
 CONFIG_ARCH_STACKDUMP=y
-CONFIG_AVR_BUILDROOT_TOOLCHAIN=y
+CONFIG_AVR_LINUXGCC_TOOLCHAIN=y
 CONFIG_AVR_USART1=y
 CONFIG_BOARD_LOOPSPERMSEC=864
 CONFIG_CONSOLE_SYSLOG=y
@@ -22,7 +22,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
 CONFIG_DISABLE_MQUEUE=y
 CONFIG_DISABLE_PTHREAD=y
 CONFIG_EXAMPLES_HELLO=y
-CONFIG_HOST_WINDOWS=y
 CONFIG_IDLETHREAD_STACKSIZE=512
 CONFIG_INTELHEX_BINARY=y
 CONFIG_MAX_TASKS=4
diff --git a/boards/avr/at90usb/teensy-2.0/configs/hello/defconfig b/boards/avr/at90usb/teensy-2.0/configs/hello/defconfig
index d1ad26c..56dedb7 100644
--- a/boards/avr/at90usb/teensy-2.0/configs/hello/defconfig
+++ b/boards/avr/at90usb/teensy-2.0/configs/hello/defconfig
@@ -13,7 +13,7 @@ CONFIG_ARCH_CHIP="at90usb"
 CONFIG_ARCH_CHIP_AT90USB1286=y
 CONFIG_ARCH_CHIP_AT90USB=y
 CONFIG_ARCH_STACKDUMP=y
-CONFIG_AVR_BUILDROOT_TOOLCHAIN=y
+CONFIG_AVR_LINUXGCC_TOOLCHAIN=y
 CONFIG_AVR_USART1=y
 CONFIG_BOARD_LOOPSPERMSEC=864
 CONFIG_CONSOLE_SYSLOG=y
@@ -22,7 +22,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
 CONFIG_DISABLE_MQUEUE=y
 CONFIG_DISABLE_PTHREAD=y
 CONFIG_EXAMPLES_HELLO=y
-CONFIG_HOST_WINDOWS=y
 CONFIG_IDLETHREAD_STACKSIZE=512
 CONFIG_INTELHEX_BINARY=y
 CONFIG_MAX_TASKS=4
diff --git a/boards/avr/at90usb/teensy-2.0/configs/nsh/defconfig b/boards/avr/at90usb/teensy-2.0/configs/nsh/defconfig
index b4d07de..77af417 100644
--- a/boards/avr/at90usb/teensy-2.0/configs/nsh/defconfig
+++ b/boards/avr/at90usb/teensy-2.0/configs/nsh/defconfig
@@ -17,14 +17,13 @@ CONFIG_ARCH_CHIP="at90usb"
 CONFIG_ARCH_CHIP_AT90USB1286=y
 CONFIG_ARCH_CHIP_AT90USB=y
 CONFIG_ARCH_STACKDUMP=y
-CONFIG_AVR_BUILDROOT_TOOLCHAIN=y
+CONFIG_AVR_LINUXGCC_TOOLCHAIN=y
 CONFIG_AVR_USART1=y
 CONFIG_BOARD_LOOPSPERMSEC=864
 CONFIG_DEFAULT_SMALL=y
 CONFIG_DISABLE_MOUNTPOINT=y
 CONFIG_DISABLE_MQUEUE=y
 CONFIG_DISABLE_PTHREAD=y
-CONFIG_HOST_WINDOWS=y
 CONFIG_IDLETHREAD_STACKSIZE=512
 CONFIG_INTELHEX_BINARY=y
 CONFIG_MAX_TASKS=8
diff --git a/boards/avr/at90usb/teensy-2.0/configs/usbmsc/defconfig b/boards/avr/at90usb/teensy-2.0/configs/usbmsc/defconfig
index 02fb337..dead46c 100644
--- a/boards/avr/at90usb/teensy-2.0/configs/usbmsc/defconfig
+++ b/boards/avr/at90usb/teensy-2.0/configs/usbmsc/defconfig
@@ -14,7 +14,7 @@ CONFIG_ARCH_CHIP="at90usb"
 CONFIG_ARCH_CHIP_AT90USB1286=y
 CONFIG_ARCH_CHIP_AT90USB=y
 CONFIG_ARCH_STACKDUMP=y
-CONFIG_AVR_BUILDROOT_TOOLCHAIN=y
+CONFIG_AVR_LINUXGCC_TOOLCHAIN=y
 CONFIG_AVR_SPI=y
 CONFIG_AVR_USART1=y
 CONFIG_AVR_USBDEV=y
@@ -22,7 +22,6 @@ CONFIG_BOARD_LOOPSPERMSEC=864
 CONFIG_CONSOLE_SYSLOG=y
 CONFIG_DEFAULT_SMALL=y
 CONFIG_DISABLE_MQUEUE=y
-CONFIG_HOST_WINDOWS=y
 CONFIG_IDLETHREAD_STACKSIZE=512
 CONFIG_INTELHEX_BINARY=y
 CONFIG_LIB_BOARDCTL=y
@@ -32,7 +31,6 @@ CONFIG_MMCSD=y
 CONFIG_MMCSD_SPICLOCK=12500000
 CONFIG_NFILE_DESCRIPTORS=6
 CONFIG_NFILE_STREAMS=6
-CONFIG_TLS_NELEM=0
 CONFIG_NUNGET_CHARS=0
 CONFIG_PREALLOC_TIMERS=0
 CONFIG_PREALLOC_WDOGS=6
@@ -48,6 +46,7 @@ CONFIG_START_YEAR=2011
 CONFIG_STDIO_DISABLE_BUFFERING=y
 CONFIG_SYSTEM_USBMSC=y
 CONFIG_TASK_NAME_SIZE=0
+CONFIG_TLS_NELEM=0
 CONFIG_USART1_BAUD=38400
 CONFIG_USART1_SERIAL_CONSOLE=y
 CONFIG_USBDEV=y
diff --git a/boards/avr/atmega/amber/configs/hello/defconfig b/boards/avr/atmega/amber/configs/hello/defconfig
index 28d95e0..aed003f 100644
--- a/boards/avr/atmega/amber/configs/hello/defconfig
+++ b/boards/avr/atmega/amber/configs/hello/defconfig
@@ -13,7 +13,7 @@ CONFIG_ARCH_CHIP="atmega"
 CONFIG_ARCH_CHIP_ATMEGA128=y
 CONFIG_ARCH_CHIP_ATMEGA=y
 CONFIG_ARCH_STACKDUMP=y
-CONFIG_AVR_BUILDROOT_TOOLCHAIN=y
+CONFIG_AVR_LINUXGCC_TOOLCHAIN=y
 CONFIG_AVR_USART0=y
 CONFIG_BOARD_LOOPSPERMSEC=800
 CONFIG_CONSOLE_SYSLOG=y
@@ -22,7 +22,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
 CONFIG_DISABLE_MQUEUE=y
 CONFIG_DISABLE_PTHREAD=y
 CONFIG_EXAMPLES_HELLO=y
-CONFIG_HOST_WINDOWS=y
 CONFIG_IDLETHREAD_STACKSIZE=512
 CONFIG_INTELHEX_BINARY=y
 CONFIG_MAX_TASKS=4
diff --git a/boards/avr/atmega/arduino-mega2560/configs/hello/defconfig b/boards/avr/atmega/arduino-mega2560/configs/hello/defconfig
index d8cea7e..299fe12 100644
--- a/boards/avr/atmega/arduino-mega2560/configs/hello/defconfig
+++ b/boards/avr/atmega/arduino-mega2560/configs/hello/defconfig
@@ -13,6 +13,7 @@ CONFIG_ARCH_CHIP="atmega"
 CONFIG_ARCH_CHIP_ATMEGA2560=y
 CONFIG_ARCH_CHIP_ATMEGA=y
 CONFIG_ARCH_STACKDUMP=y
+CONFIG_AVR_LINUXGCC_TOOLCHAIN=y
 CONFIG_AVR_USART0=y
 CONFIG_BOARD_LOOPSPERMSEC=800
 CONFIG_CONSOLE_SYSLOG=y
@@ -23,7 +24,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
 CONFIG_DISABLE_MQUEUE=y
 CONFIG_DISABLE_PTHREAD=y
 CONFIG_EXAMPLES_HELLO=y
-CONFIG_HOST_WINDOWS=y
 CONFIG_IDLETHREAD_STACKSIZE=128
 CONFIG_INTELHEX_BINARY=y
 CONFIG_MAX_TASKS=4
diff --git a/boards/avr/atmega/arduino-mega2560/configs/nsh/defconfig b/boards/avr/atmega/arduino-mega2560/configs/nsh/defconfig
index 12f1021..9d74378 100644
--- a/boards/avr/atmega/arduino-mega2560/configs/nsh/defconfig
+++ b/boards/avr/atmega/arduino-mega2560/configs/nsh/defconfig
@@ -5,7 +5,6 @@
 # You can then do "make savedefconfig" to generate a new defconfig file that includes your
 # modifications.
 #
-# CONFIG_AVR_HAS_MEMX_PTR is not set
 CONFIG_ARCH="avr"
 CONFIG_ARCH_AVR=y
 CONFIG_ARCH_BOARD="arduino-mega2560"
@@ -14,7 +13,7 @@ CONFIG_ARCH_CHIP="atmega"
 CONFIG_ARCH_CHIP_ATMEGA2560=y
 CONFIG_ARCH_CHIP_ATMEGA=y
 CONFIG_ARCH_STACKDUMP=y
-CONFIG_AVR_ATMEL_AVR_TOOLCHAIN=y
+CONFIG_AVR_LINUXGCC_TOOLCHAIN=y
 CONFIG_AVR_USART0=y
 CONFIG_BOARD_LOOPSPERMSEC=800
 CONFIG_DEBUG_FULLOPT=y
@@ -23,7 +22,6 @@ CONFIG_DEFAULT_SMALL=y
 CONFIG_DISABLE_MOUNTPOINT=y
 CONFIG_DISABLE_MQUEUE=y
 CONFIG_DISABLE_PTHREAD=y
-CONFIG_HOST_WINDOWS=y
 CONFIG_IDLETHREAD_STACKSIZE=128
 CONFIG_INTELHEX_BINARY=y
 CONFIG_MAX_TASKS=4
diff --git a/boards/avr/atmega/moteino-mega/configs/hello/defconfig b/boards/avr/atmega/moteino-mega/configs/hello/defconfig
index edf0120..c02de80 100644
--- a/boards/avr/atmega/moteino-mega/configs/hello/defconfig
+++ b/boards/avr/atmega/moteino-mega/configs/hello/defconfig
@@ -13,6 +13,7 @@ CONFIG_ARCH_CHIP="atmega"
 CONFIG_ARCH_CHIP_ATMEGA1284P=y
 CONFIG_ARCH_CHIP_ATMEGA=y
 CONFIG_ARCH_STACKDUMP=y
+CONFIG_AVR_LINUXGCC_TOOLCHAIN=y
 CONFIG_AVR_USART0=y
 CONFIG_BOARD_LOOPSPERMSEC=888
 CONFIG_CONSOLE_SYSLOG=y
@@ -21,7 +22,6 @@ CONFIG_DISABLE_MOUNTPOINT=y
 CONFIG_DISABLE_MQUEUE=y
 CONFIG_DISABLE_PTHREAD=y
 CONFIG_EXAMPLES_HELLO=y
-CONFIG_HOST_MACOS=y
 CONFIG_IDLETHREAD_STACKSIZE=512
 CONFIG_INTELHEX_BINARY=y
 CONFIG_MAX_TASKS=4
diff --git a/boards/avr/atmega/moteino-mega/configs/nsh/defconfig b/boards/avr/atmega/moteino-mega/configs/nsh/defconfig
index a367f85..9b7e6f1 100644
--- a/boards/avr/atmega/moteino-mega/configs/nsh/defconfig
+++ b/boards/avr/atmega/moteino-mega/configs/nsh/defconfig
@@ -17,13 +17,13 @@ CONFIG_ARCH_CHIP="atmega"
 CONFIG_ARCH_CHIP_ATMEGA1284P=y
 CONFIG_ARCH_CHIP_ATMEGA=y
 CONFIG_ARCH_STACKDUMP=y
+CONFIG_AVR_LINUXGCC_TOOLCHAIN=y
 CONFIG_AVR_USART0=y
 CONFIG_BOARD_LOOPSPERMSEC=888
 CONFIG_DEFAULT_SMALL=y
 CONFIG_DISABLE_MOUNTPOINT=y
 CONFIG_DISABLE_MQUEUE=y
 CONFIG_DISABLE_PTHREAD=y
-CONFIG_HOST_MACOS=y
 CONFIG_IDLETHREAD_STACKSIZE=512
 CONFIG_INTELHEX_BINARY=y
 CONFIG_MAX_TASKS=8