Skip to content
ChangeLog 774 KiB
Newer Older
Gregory Nutt's avatar
Gregory Nutt committed
	  are currently missing in ARMv7-R. This commit adds those missing
	  Kconfig entries. Actual implmenetation for those functions will be
	  added in the subsequent patches.  From Heesub Shin (2016-11-06).
	* arch/arm/src/armv7-r: add cache handling functions.  This commit
	  adds functions for enabling and disabling d/i-caches which were
	  missing for ARMv7-R.  From Heesub Shin (2016-11-06).
	* arch/arm/src/armv7-r: fix typo in mpu support.  s/ARMV7M/ARMV7R/g.
	  From Heesub Shin (2016-11-06).
	* arch/arm/src/armv7-r: fix CPSR corruption after exception handling.
	  A sporadic hang with consequent crash was observed when booting. It
	  seemed to be caused by the corrupted or wrong CPSR restored on return
	  from exception. NuttX restores the context using code like this:

	      msr spsr, r1

	  GCC translates this to:

	      msr spsr_fc, r1

	  As a result, not all SPSR fields are updated on exception return.
	  This should be:

	      msr spsr_fsxc, r1

	  On some evaluation boards, spsr_svc may have totally invalid value at
	  power-on-reset. As it is not initialized at boot, the code above may
	  result in the corruption of cpsr and thus unexpected behavior.

	  From Heesub Shin (2016-11-06).
	* arch/arm/src/armv7-r: fix to restore the Thumb flag in CPSR.  Thumb
	  flag in CPSR is not restored back when the context switch occurs while
	  executing thumb instruction.  From Heesub Shin (2016-11-06).
	* sched/wqueue:  When queuing new LP work, don't signal any threads
	  if they are all busy.  From Heesub Shin (2016-11-06).
	* sched/wqueue: Signal sent from work_signal() may interrupt the low
	  priority worker thread that is already running. For example, the worker
	  thread that is waiting for a semaphore could be woken up by the signal
	  and break any synchronization assumption as a result. It also does not
	  make any sense to send signal if it is already running and busy. This
	  commit fixes it.  From Heesub Shin (2016-11-06).
	* arch/arm/src/stm32f7: STM32F7 SD/MMC driver depends on
	  CONFIG_SDIO_DMA which is only defined in stm32/Kconfig.  Changed to
	  CONFIG_STM32F7_SDMMC_DMA and defined in stm32f7/Kconfig (2016-11-07).
	* arch/arm/src/stm32: Add PWM driver support for STMF37xx.  The
	  changes have been tested successfuly for TIM4 and TIM17 (different
	  IPs).  From  Marc Rechté (2016-11-07).
	* sched/semaphore:  sem_trywait() no longer modifies the errno value
	  UNLESS an error occurs.  This allows these functions to be used
	  internally without clobbering the errno value.  From Freddie Chopin
	  (2016-11-09).
	* arch/arm/src/stm32l4: Change the way to configure quadrature encoder
	  prescalers.  From Sebastien Lorquet (2016-11-09).
	* libc/unisted: Patch brings strtol() and related functions more
	  conformant with POSIX.  Corner cases like strtol(-2147483648, NULL, 10)
	  now pass clang -fsanitize=integer without warnings.  From Juha Niskanen
	  (2016-11-10).
	* drivers/sensors and configs/stm32f103-minimum: Add Vishay VEML6070
	  driver and support for STM32F103-Minimum board.  From   From Alan
	  Carvalho de Assis(2016-11-13).
	* Misoc LM32: Corrects a bug that never occured in qemu on simulation or
	  real fpga. The error was that the r1 register was being modified out of
	  context switching and not restoring it.  From Ramtin Amin (2016-11-14)
	* arch/arm/src/samv71: A problem occurred with the SAMV7 USBDEVHS driver
	  if the USB cable is unplugged while a large amount of data is send over
	  an IN endpoint using DMA. If the USB cable is plugged in again after a
	  few seconds it is not possible to send data over this IN endpoint again,
	  all other endpoints work as expected.

	  The problem occurs because if the USB cable is unplugged while an DMA
	  transfer is in flight the transfer is canceled but the register
	  SAM_USBHS_DEVDMACTRL is left in an undefined state.  The problem was
	  fixed the problem by resetting the register SAM_USBHS_DEVDMACTRL to a
	  known state. Additionally all pending interrupts are cleared.

	  From Stefan Kolb (2016-11-14).
	* configs/esp32-core: ESP32 Core v2: Add configuration to supporting
	  linking NuttX for execution out of IRAM (2016-11-14).
	* libc/unistd: sleep() was returning remaining nanoseconds (kind of),
	  instead the remaining seconds.  From Eunbong Song (2016-11-15).
	* sched/irq:  Fixes for the SMP case: (1) Change order for SMP case in
	  enter_critical_section:  (1) Disable local interrupts BEFORE taking
	  spinlock and (2) If SMP is enabled, if any interrupt handler calls
	  enter_critical_section(), it should take the spinlock. (2016-11-15).
	* arch/xtensa: Add EXPERIMENTAL hooks to support lazy Xtensa co-
	  processor state restore in the future (2016-11-16).
	* Add some experimental changes to enter/leave_critical_section to
	  deal with the case where interrupts are disabled only on the local
	  CPU (2016-11-16).
	* sched/irq:  Add logic to handled nested calls to
	  enter_critical_section() from interrupts handlers (with SMP)
	  (2016-11-16).
	* drivers/timer:  Remove the timer driver TIOC_SETHANDLER IOCTL call.
	  This calls directly from the timer driver into application code.  That
	  is non-standard, non-portable, and cannot be supported (2016-11-17).
	*drivers/timer:  Add timer driver hooks to support signal notification
	  of timer expiration.  Commented out because invasive interface changes
	  would also be required to complete the implementation (2016-11-17).
	* arch/arm/src/armv7-m: Fix double allocation of MPU region in mmu.h
	  (2016-11-17).
	* timer driver: Use signal to notify of timer expiration. Add generic
	  argument so that there can be additional usage.  From Sebastien Lorquet
	  (2016-11-17).
	* All timer lower half drivers.  Port Sebastien's changes to all all
	  other implementations of the timer lower half.  Very many just and
	  untested.  Expect some problems. (2016-11-17).
	* sched/irq: irq_csection() has a bad assumption in the SMP case.  It
	  assumed that the state of certain variables.  That was true on entry
	  into the interrupt handler, but might change to the execution of logic
	  within the interrupt handler (2016-11-18).
	* config/ nucleo-l476rg: Add support for timers to nucleo l476.  From
	  Sebastien Lorquet (2016-11-18).
	* drivers/net:  Add option to use low-priority work queue to all drivers
	  in drivers/net.  Not yet added to all architecture-specific network
	  drivers (2016-11-18).
	* sched/wdog: Most interrupt handling logic interacts with tasks via
	  standard mechanism such as sem_post, sigqueue, mq_send, etc.  These all
	  call enter_critical_section and are assumed to be safe in the SMP case.

	  But certain logic interacts with tasks in different ways.  The only one
	  that comes to mind are wdogs.  There is a tasking interface that to
	  manipulate wdogs, and a different interface in the timer interrupt
	  handling logic to manage wdog expirations.

	  In the normal case, this is fine.  Since the tasking level code calls
	  enter_critical_section, interrupts are disabled an no conflicts can
	  occur.  But that may not be the case in the SMP case.  Most
	  architectures do not permit disabling interrupts on other CPUs so
	  enter_critical_section must work differently:  Locks are required to
	  protect code.

	  So this change adds locking (via enter_critical section) to wdog
	  expiration logic for the the case if the SMP configuration
	  (2016-11-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* SAM3/4: Add delay between setting and clearing the endpoint RESET bit
	  in sam_ep_resume().  We need to add a delay between setting and
	  clearing the endpoint reset bit in SAM_UDP_RSTEP. Without the delay the
	  USB controller will (may?) not reset the endpoint.  If the endpoint is
	  not being reset, the Data Toggle (DTGLE) bit will not to be cleared
	  which will cause the next transaction to fail if DTGLE is 1. If that
	  happens the host will time-out and reset the bus.  Adding this delay
	  may also fix the USBMSC_STALL_RACEWAR in usbmsc_scsi.c, however this
	  has not been verified yet.  From Wolfgang Reißnegger (2016-11-18).
	* SAM3/4: Remove unused 'halted' flag in UDP driver.  From Wolfgang
	  Reißnegger (2016-11-18).
	* SAM3/4: Remove 'stalled' flag in UDP driver.  The flag is not necessary.
	  The state of the endpoint can be determined using 'epstate' instead.
	  From Wolfgang Reißnegger (2016-11-18).
	* USBMSC: Fix length of mode6 sense reply packet.  From Wolfgang
	  Reißnegger (2016-11-18).
	* configs/dk-tm4c129x: Typo fix.  From Wolfgang Reißnegger (2016-11-18).
	* Typo fix in sam_udp.c.  From Wolfgang Reißnegger (2016-11-18).
	* STM32: STM32F303xB and STM32F303xC chips have 4 ADCs.  From Paul A.
	  Patience (2016-11-19).
	* vfork(): Fix a race condition in the SMP case.  Existing logic
	  depended on the fact that the child would not run until waitpid was
	  called because the child had the same priority as the parent.  BUT
	  in the SMP case that is not true... the child may run immediately on
	  a different CPU (2016-11-19).
	* arch/:  Add option to use low-priority work queue to all Ethernet
	  drivers in arch that support CONFIG_NET_NOINTS (2016-11-19).
	* sched/clock:  Correct calculation for the case of Tickless mode with
	  a 32-bit timer.  In that case, the calculation was returning
	  millisecond accuracy.  That is not good when the timer accuracy is < 1
	  msec.  From Rajan Gill (2016-11-19).
	* sched/task: task_restart() test not supported on SMP systems.  This is
	  not fully implemented (2016-11-19).
	* This commit adds a new internal interfaces and fixes a problem with
	  three APIs in the SMP configuration.  The new internal interface is
	  sched_cpu_pause(tcb).  This function will pause a CPU if the task
	  associated with 'tcb' is running on that CPU.  This allows a different
	  CPU to modify that OS data stuctures associated with the CPU.  When the
	  other CPU is resumed, those modifications can safely take place.  The
	  three fixes are to handle cases in the SMP configuration where one CPU
	  does need to make modifications to TCB and data structures on a task
	  that could be running running on another CPU.  Those three cases are
	  task_delete(), task_restart(), and execution of signal handles.  In
	  all three cases the solutions is basically the same:  (1) Call
	  sched_cpu_pause(tcb) to pause the CPU on which the task is running,
	  (2) perform the necessary operations, then (3) call up_cpu_resume() to
	  restart the paused CPU (2016-11-20).
	* task_restart: Make sure new task starts with pre-emption disabled and
	  not in a critical section (2016-11-21).
	* Fix a typo in a spinlock macro (2016-11-21).
	* Spinlocks:  Added capability to provide architecture-specific memory
	  barriers.  This was for i.MX6 but does not help with the SMP problems.
	  It is still a good feature (2016-11-21).
	* Remove a assertion condition that appears to rarely cause false-alarm
	  assertions.  Teported by Petteri Aimonen (2016-11-21).
	* The examples/qencoder app was trying to init the encoder by a direct
	  call into the board, cheating in a local header to declare the normally
	  unavailable function prototype.  From Sebastien Lorquet (2016-11-22).
	* configs:  All QE encoder files.  Last change made timer hard-coded to 3.
	  Make configurable (2016-11-22).
	* configs: Remove all traces of the no-longer existent ARCHBUTTONS
	  example.  Remove all button configurations that depended on the
	  obsoleted ARCHBUTTON example (2016-11-22).
	* nucleo-l476rg: Add better selection of timer (2016-11-22).
	* implementation of dumpgpio for stm32l4, was required for pwm debug.
	  From Sebastien Lorquet (2016-11-22).
	* SMP: Add logic to avoid a deadlock condition when CPU1 is hung waiting
	  for g_cpu_irqlock and CPU0 is waitin for g_cpu_paused (2016-11-22).
	* Misoc:  Add timer driver.  From Ramtin Amin (2016-11-22).
	* Misoc:  Add commits and warnings about missing caculation of the timer
	  reload value (2016-11-22).
	* SAM3/4: Name of method is now setcallback, not sethandler (2016-11-22).
	* sam4s-xplained-pro/nsh: Configuration uses old, improper timer interface.
	  CONFIG_TIMER disabled in configuration. (2016-11-22).
	* sam4s-xplained-pro:  Remove obsolete timer initialization logic
	  (2016-11-22).
	* Misoc LM32: Make system timer configurable via CONFIG_USEC_PER_TICK.
	  From Ramtin Amin (2016-11-23).
	* LPC43xx: Add timer driver; configs/bambino-200e: Add support for timer
	  driver.  From Alan Carvalho de Assis (2016-11-23).
	* SMP: Fix backward condition in test (2016-11-23).
	* ARMv7-A SMP: Add a little logic to signal handling (2016-11-24).
	* Misoc LM32: Add signal handling logic.  From Ramtin Amin (2016-11-24).
	* SMP: Add spin_trylock().  Use this in conditions where other CPUs need
	  to stopped but we cannot call enter_critical_section (2016-11-24).
	* Fix for F1 RTC Clock, tested on F103.  From Maciej Wójcik (2016-11-25).
	* SMP:  Fix yet another potential deadlock (2016-11-25).
	* Enable CONFIG_RTC in the hymini-stm32v/nsh2 (kitchensink) config.
	  From Maciej Wójcik (2016-11-26).
	* This adds support for keeping i.MX6 inter-processor communication data
	  in a non-cached address region (2016-11-26).
	* i.MX6: Disable non-cached region support.  Add SCU register definitions
	  (2016-11-26).
	* i.MX6: Add some controls to enable SMP cache coherency in SMP mode
	  (2016-11-26).
	* ARMv7-A: Fix some SCU SMP logic (2016-11-26).
	* ARMv7-A/i.MX6:  Modify handling of the SMP cache coherency
	  configuration so that it is identical to the steps from the TRM.
	  Makes no differenct, however (2016-11-27).
	* The Smoothie project needs to compile C++ inside config/boardname/src/
	  to use with High Priority Interruption, then I modified the board
	  configs Makefile to support it.  It works fine for the first time
	  compilation, but if we execute "touch config/boardname/src/Pin.cxx"
	  and execute "make" it will not detect that Pin.cxx was modified. I
	  think there is some other place I should modify, but I didn't find
	  it.  From Alan Carvalho de Assis (2016-11-27).
	* ARMv7-A/i.MX6 SMP: Move SMP coherernt cache setup to earlier in
	  initialization of CPUn, n>0 (2016-11-27).
	* ARMv7 GIC: SGIs are non-maskable but go through the same path as other,
	  maskable interrupts.  Added logic to serialize SGI processing when
	  necessary (2016-11-27).
	* sched_note: Extend OS instrumentation to include some SMP events
	  (2016-11-27).
	* sched_note: Add spinlock instrumentation; In SMP configurations,
	  select to log only notes from certain CPUs (2016-11-28).
	* Misoc LM3: Add Misoc Ethernet driver.  Integrate network support into
	  configs/misoc/hello.  Remove configs/misoc/include/generated directory.
	  I suppose the the intent now is that this is a symbolic link?  DANGER!
	  This means that you cannot compile this code with first generating
	  these files a providing a symbolic link to this location!  From Ramtin
	  Amin (2016-11-28).
	* Add tools/showsize.sh (2016-11-28).
	* configs/misoc:  Add a sample directory containing generated sources.
	  This is really only useful for performing test builds.  You really
	  must generate the Misoc architecture for a real-life build.  From
	  Ramtin Amin (2016-11-28).
	* sched_note: Permit spinlock and critical section notes in in-memory
	  buffer iff sched_not_get() interfaces is disabled (2016-11-28).
	* STM32 DAC:  Fix shift value whenever there are is a DAC2 and, hence,
	  up to three interfaces.  From Marc Rechté (2016-11-29).
	* Back out a debug change that was included in commit (2016-11-29).
	* i.MX6: Don't output the alphabet if CONFIG_DEBUG_FEATURES is not set
	  (2016-11-29).
	* Misoc LM32: Add logic to flush/invalidate caches.  From Ramtin Amin
	  (2016-11-29).
	* drivers/net/: Adapt all Ethernet drivers to work as though
	  CONFIG_NET_MULTIBUFFER were set.  Remove all references to
	  CONFIG_NET_MULTIBUFFER (2016-11-29).
	* stm32_otghshost: if STM32F446 increase number of channels to 16.  From
	  Janne Rosberg (2016-11-30).
	* usbhost_composite: fix end offset in usbhost_copyinterface().  From
	  Janne Rosberg (2016-11-30).
	* usbhost_cdcacm: add CDC_SUBCLASS_ACM and CDC_PROTO_ATM to supported
	  class and proto.  From Janne Rosberg (2016-11-30).
	* LPC43 SD/MMC:  Correct some git definitions on SMMC control register
	  in lpc43_sdmmc.h.  From Alan Carvalho de Assis (2016-11-30).
	* STM32L4: Correct USART1/2 definitions.  Use default mbed UART4
	  settings.  From Sebastien Lorquet (2016-12-01).
	* boardctl:  Add new boardctl() command ,BOARDIOC_NX_START, to start the
	  NX server as a kernel thread (2016-12-01).
	* GPDMA driver for the LPC43xx.  The GPDMA block is basically the same
	  as the LPC17xx.  Only the clock configuration is different and LPC43xx
	  has four different DMA request sources, where LPC17xx has only two.
	  From Alan Carvalho de Assis (2016-12-01).
	* Remove RGMP and RGMP drivers (2016-12-02).
	* i.MX6:  Add an untested SPI driver taken directly from the i.MX1 port
	  (2016-12-02).
	* Eliminate CONFIG_NO_NOINTS.  There is no longer any support for
	  interrupt level processing of the network stack. Lots of files changed
	  -> lots of testing needed (2016-12-03).
	* Fix DEBUGASSERT() in group_signal.c.  From Masayuki Ishikawa
	  (2016-12-04).
	* Add support for the SAM5CMP-DB board.  From Masayuki Ishikawa
	  (2016-12-04).
	* SAM3/4:  Add SMP support for the dual-core SAM4CM.  From Masayuki
	  Ishikawa (2016-12-04).
	* C Library: Allow option to enable IP address conversions even when the
	  IP address family is not supported (2016-12-04).
	* SSD1306: Fix errors in SPI mode configuration.  From Gong Darcy
	  (2016-12-04).
	* SAMA5 does not build when executing from SDRAM before board
	  frequencies are not constant.  Rather, the bootloader configures the
	  clocking and we must derive the clocking from the MCK left by the
	  bootloader.  This means lots more computations.  This is untested on
	  initial commit because I don't have a good PWM test setup right now
	  (2016-12-04).
	* Olimex-LPC1766-STK: Enable procfs in NSH configuration. Automount
	  /proc on startup (2016-12-05).
	* SAM4CMP-DB: Add hooks to auto-mount the procfs file system on startup
	  in board bring-up logic (2016-12-05).
	* Remove all references to BOARDIOC_PWMSETUP and board_pwm_setup()
	  (2016-12-05).
	* Remove all references to BOARDIOC_ADCSETUP and board_adc_setup()
	  (2016-12-05).
	* Added Timers 2-5 and control of SAI and I2S PLLs.  From David Sidrane
	  (2016-12-05).
	* Added support for stmf469 SAI and I2S PLL configuration and STM446
	  fixes.  From David Sidrane (2016-12-05).
	* Expanded otgfs support to stm32F469 and stm32f446.  Added missing bits
	  definitions, Used stm32F469 and stm32f446 bit definitions,  Removed
	  unsed header file.  From David Sidrane (2016-12-05).
	* Remove BOARDIOC_CAN_INITIALIZE.  CAN initialization is now done in the
	  board initialization logic just like every other device driver
	  (2016-12-06).
	* STM32F7: Allow the config to override the clock edge setting.  From
	  David Sidrane (2016-12-06).
	* For Cortex-A9, should also set ACTLR.FW in SMP mode to enble TLB and
	  cache broadcasts.  Does not fix SMP cache problem (2016-12-07).
	* sched notes: Add additional note to see if/when CPU is started in SMP
	  mode (2016-12-07).
	* EFM32: Fix a compilation error.  From Pierre-noel Bouteville
	  (2016-12-07).
	* pthreads:  Add pthread_cleanup_push() and pthread_cleanup_pop()
	  (2016-12-08).
	* BUGFIX:STM32F427 was rebooting. Over reached family.  From David
	  Sidrane (2016-12-08).
	* Add pthread_setcanceltype() and pthread_testcancel() (2016-12-09).
	* Added STM32F469 RAM size and deliberated STM32F446 size.  From David
	  Sidrane (2016-12-09).
	* Typo in stm32f76xx77xx_pinmap.h edited online with Bitbucket.  From
	  David Sidrane (2016-12-09).
	* stm32_allocateheap.c edited online with Bitbucket.  From David Sidrane
	  (2016-12-09).
	* LPC43xx SD card: Correct pin configuration options needed for SD card
	  pins.  From Alan Carvalho de Assis (2016-12-09).
	* pthread_mutex_destroy(): Fix an error in destroying a mutex which can
	  occur after a pthread has been canceled while holding the mutex
	  (2016-12-09).
	* Add support for cancellation points (2016-12-09).
	* Forgot to add some files in the last commit (2016-12-10).
	* Correct some default font IDs.  From Pierre-Noel Bouteville
	  (2016-12-10).
	* task_delete() now obeys all cancellation point semantics (2016-12-10).
	* Add task_setcancelstate(), task_setcanceltype(), and task_testcancel().
	  These are non-standard interfaces analogous to the correponding pthread_
	  interfaces that provide cancellation controls for tasks (2016-12-10).
	* i.MX6 interrupt handling:  Additional logic needed to handle nested
	  interrupts when an interrupt stack is used (2016-12-13).
	* SAMV7 MCAN: Prevent Interrupt-Flooding of ACKE when not connected to
	  CAN-BUS. An Acknowledge-Error will occur every time no other CAN Node
	  acknowledges the message sent. This will also occur if the device is
	  not connected to the can-bus. The CAN-Standard declares, that the Chip
	  has to retry a given message as long as it is not sent successfully (or
	  it is not cancelled by the application). Every time the chip tries to
	  resend the message an Acknowledge-Error-Interrupt is generated. At high
	  baud rates this can lead in extremely high CPU load just for handling
	  the interrupts (and possibly the error handling in the application). To
	  prevent this Interrupt-Flooding we disable the ACKE once it is seen as
	  long we didn't transfer at least one message successfully.  From Frank
	  Benkert (2016-12-13).
	* i.MX6: Remove non-cached, inter-cpu memory region.  Not a useful
	  concept (2016-12-13).
	* minnsh Configurations: Remove minnsh configurations and support logic:
	  up_getc() and lowinstream.  This was an interesting exercise to see
	  just how small you could get NuttX, but otherwise it was not useful:
	  (1) the NSH code violated the OS interface layer by callup up_getc and
	  up_putc directly, and (2) while waiting for character input, NSH would
	  call up_getc() which would hog all of the CPU.  NOt a reasonably
	  solution other than as a proof of concept (2016-12-13).
	* Calypso Boards: Remove all Calypso board configurations (2016-12-13).
	* Calypso: Remove Calypso architecture support and support for Calypso
	  SERCOMM driver (2016-12-13).
	* ESP32 core v2: Two changes (1) flushes the UART TX buffer in the esp32
	  serial shutdown routine. The ROM bootloader does not flush the FIFO
	  before handing over to user code, so some of this output is not
	  currently seen when the UART is reconfigured in early stages of
	  startup.  And changes the openocd config file's default flash voltage
	  from 1.8V to 3.3V. This is not necessary right now, but may save some
	  hard-to-debug moments down the track (3.3V-only flash running at 1.8V
	  often half-works and does weird things...).  From Angus Gratton
	  (2016-12-14).
	* Xtensa ESP32: Add missing ENTRY() and RET() macros in C callable
	  assembly language.  At one time I though the that the ESP32 support the
	  CALL0 ABI.  I was mistaken so there may be a few more like this
	  (2016-12-14).
	* Xtensa ESP32: Fix a couple of bugs associated with handling of CPU
	  interrupts (2016-12-14).
	* Xtensa ESP32: Fix several build-related issues associated with vector
	  section (2016-12-15).
	* Xtensa ESP32: Fix missing CALL0 ABI condition (2016-12-15).
	* Xtensa EPS32: Make sure that all C callable assembly functions includes
	  ENTRY prologue and RET epilogue (2016-12-15).
	* Xtensa ESP32: Fix windowspill register handling + Use r6, not r2 when
	  passing paramters with call4 (2016-12-16).
	* Xtensa ESP32: Use r6, not r2 when passing paramters with call4
	  (2016-12-16).
	* Xtensa ESP32: Correct a logic problem the prevented dumping the IDLE
	  thread's stack on an assertion (2016-12-16).
	* Xtensa ESP32: Fix some missing SMP logic (2016-12-16).
	* Xtensa ESP32: Basically a redesign of the interrupt dispatch logic
	  (2016-12-16).
	* Xtensa ESP32: Level 1 interrupts should return via RFE (2016-12-17).
	* Xtensa ESP32: One register getting clobber on context save (2016-12-17).
	* STM32 F7: Fix some STM32F7 copy paste errors.  From David Sidrane
	  (2016-12-17).
	* CDC/ACM Device Class: uart_ops_s portion of cdcacm will not be
	  initalized with correct functions if CONFIG_SERIAL_DMA is lit
	  (2016-12-17).
	* Xtensa ESP32: Using wrong register to disable interrupts (2016-12-17).
	* Xtensa ESP32: Fix clobbered a9 in co-processor context save/restore
	  (2016-12-17).
	* Xtensa ESP32: Need to clone some logic for synchronous context switch.
	  Window spill logic in the conmon restores logic is inappropriate in
Gregory Nutt's avatar
Gregory Nutt committed
	  this context (2016-12-17).
	* sscanf(): Add scansets to the scanf function. Enabled
	  CONFIG_LIBC_SCANSET option.  From  Aleksandr Vyhovanec (2016-12-17).
	* Xtensa ESP32: Fix context save logic when called in window ABI
	  configuration. Add an IDLE stack.  Don't depend on the mystery stack
	  received from the bootloader (2016-12-18).
	* Xtensa ESP32: Need to spill registers to memory as the last dying
	  action before switching to a new thread (2016-12-18).
	* ESP32 Serial: Add logic to prevent infinite loops in interrupt handler
	  (2016-12-18).
	* Xtensa ESP32: Automatically mount /proc at start-up (2016-12-19).
	* Xtensa ESP32: Corrects timer initialization and timer input frequency
	  (2016-12-19).
	* Tiva PWM: Support PWM_PULSECOUNT feature for TI tiva.  From Young.Mu
	  (2016-12-20).
	* Xtensa ESP32: Missing prologue/epilogue macros on C callable function
	  (2016-12-20).
	* Xtensa ESP32: Update APP CPU startup logic to match current Expressif
	  example code.  Fix errors APP CPU startup (2016-12-20).
	* fs/procfs: Fix procfs status for SMP case (2016-12-20).
	* Xtensa ESP32:  Clock frequency is different if running from IRAM or is
	  booting from FLASH.   This is a booltloader issue (2016-12-20).
	* Xtensa ESP32:  Basic port is function in both single CPU and dual CPU
	  SMP configurations.  There is an NSH configuration for each CPU
	  configuration (2016-12-21).
	* STM32 F4: Merge in support for the Olimex STM32 P407 board (2016-12-21).
	* Xtensa ESP32: Add an OS test to verify the port (2016-12-22).
	* Xtensa ESP32:  Corrects a problem with dispatching to signal handlers:
	  Cannot vector directly to the signal handling function as in other ABIs
	  under the Xtensa Window ABI.  In that case, we need to go through a
	  tiny hook when performs the correct window call (call4) otherwise
	  registers will be scrambled in the signal handler (2016-12-22).
	* SAMV7 CAN: Make delete_filter functions more robust.  From Frank
	  Benkert (2016-12-23).
	* Xtensa ESP32: Add stack checking logic (2016-12-23).
	* sched note: record ID enumeration now results on constant values; ID
	  values do not change with configuration.  This makes writing
	  post-processing software much easier (2016-12-24).
	* STM32 F3: Forgot to update chip.h for STM32F303x[BC]'s 4 ADCs
	  (2016-12-24).
	* STM32 F4: Allow dma in 1 bit mode in STM32F4xxx.  From David Sidrane
	  (2016-12-24).
	* termios.h:  Fix CRTSCTS define to include input and output flow.
	  From  Lorenz Meier (2016-12-26).
	* SMP: Enforce this rule: Tasks which are normally restored when
	  sched_unlock() is called must remain pending (1) if we are in a
	  critical section, i.e., g_cpu_irqlock is locked , or (2) other CPUs
	  still have pre-emption disabled, i.e., g_cpu_schedlock is locked.  In
	  those cases, the release of the pending tasks must be deferred until
	  those conditions are met (2016-12-26).

7.20 2017-xx-xx Gregory Nutt <gnutt@nuttx.org>