Skip to content
ChangeLog 502 KiB
Newer Older
Gregory Nutt's avatar
Gregory Nutt committed
	  safe since the new features are only enabled by this option (Safer
	  but not 100% safe since it does not protect from typos and other
	  dumb errors) (2014-8-6).
	* arch/sim/src/Makefile, up_idle.c, up_internal.h, and up_tickless.c:
	  Add support for a simulated interval timer support verification of
	  the tickless OS (2014-8-6).
	* include/nuttx/arch.h: Added another tickless OS interface to get
	  the timer remaining on the interval timer (2014-8-6).
	* include/nuttx/clock.h, sched/clock_initialize.c and clock_internal.h:
	  If CONFIG_SCHED_TICKLESS is defined, then the global variable
	  g_system_timer does not exist (2014-8-6).
	* sched/Makefile: Don't build in sched_processtimer.c if
	  CONFIG_SCHED_TICKLESS is selected (2014-8-6).
	* sched/clock_gettime.c and clock_settime.c: Use the clock_systimer()
	  macro, do access the g_system_timer() global directly (2014-8-6).
	* sched/clock_systimer.c: Uses interval timer interfaces to get the
	  time if CONFIG_SCHED_TICKLESS is selected (2014-8-6).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/sched_timerexpiration.c, Makefile, os_internal.h,
	  sched_addreadytorun.c, sched_processtimer.c, sched_unlock.c,
	  wd_cancel.c, wd_internal.h, and wd_start.c: Implements the
	  tickless OS (2014-8-7).
Gregory Nutt's avatar
Gregory Nutt committed
	* Many files: Remove CONFIG_DISABLE_CLOCK.  Why?  This option is not
	  really very useful and was only selected in a few unusable, mostly
	  unusable configurations anyway (m9s12/ostest, kl25z/minnsh,
	  z180/ostest, 8051, sh1, z80, and z8).  The only real loss is probably
	  to the kl25z/minsh configuration .  And with the addition of the
	  tickless OS, I just wanted to make the pain go away (2014-8-7).
Gregory Nutt's avatar
Gregory Nutt committed
	* Many files: Change CONFIG_MSEC_PER_TICK to CONFIG_USEC_PER_TICK.
	  This gives more options for system timers in general, but more
	  importantly, let's us realize higher resolution for the case of
	  CONFIG_SCHED_TICKLESS=y -- of course, at the risk of some new
	  integer overflow problems 2014-8-7).
Gregory Nutt's avatar
Gregory Nutt committed
	* Many files: Change all time conversions.  Yech.  New timer units
	  in microseconds breaks all existing logic that used milliseconds
	  in the conversions.  Something likely got broken doing this,
	  probably because I confused a MSEC2TICK conversion with a TICK2MSEC
	  conversion (2014-8-7).
	* arch/sim/src/up_tickless.c and sched/sched_timerexpiration.c: The
	  tickless OS now appears fully functional and passes the OS test
Gregory Nutt's avatar
Gregory Nutt committed
	  on the simulator with no errors (2014-8-7).
	* sched/mqueue: Move POSIX message queue files from sched/ to
	  sched/mqueue (2014-8-8).
	* sched/signal: Move signal-related files from sched/ to sched/signal
	  (2014-8-8).
	* sched/pthread: Move all pthread files from sched/ to sched/pthread
	  (2014-8-8).
	* sched/semaphore: Move POSIX counting semaphore files from sched/ to
	  sched/semaphore (2014-8-8).
	* sched/environ: Move environment files from sched/ to sched/environ
	  (2014-8-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/group: Move group logic from sched/ to sched/group (2014-8-8).
	* sched/wdog: Move watchdog functions from sched/ to sched/wdog
	  (2014-8-8).
	* sched/irq: Move interrupt dispatch logic from sched/ to sched/irq
	  (2014-8-8).
	* sched/clock: Move clock functions from sched/ to sched/clock
	  (2014-8-8).
	* sched/timer: Move POSIX timer files from sched/ to sched/timer
	  (2014-8-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/paging: Move page fill sources from sched/ to sched/paging
	  (2014-8-8).
	* sched/init: Move initialization functions from sched/ to sched/init
	  (2014-8-8).
	* sched/errno: Move errno related files from sched/ to sched/errno
	  (2014-8-8).
	* sched/task: Move task control files from sched/ to sched/task
	  (2014-8-8).
	* sched/: Move a few files in sched/ that did not seem to have a home to
	  sched/signal and sched/task (2014-8-8).
	* sched/sched: Move scheduler files from sched/ to sched/sched
	  (2014-8-8).
	* (Many files): Replace os_internal.h with sched/sched.h in files that
	  actually reference something in sched.h (2014-8-8).
	* sched/task/exit.c: Move sched/exit.c to sched/task/exit.c (2014-8-8).
	* (Many files): Remove os_internal.h it has been replace by several new
	  header files under sched/.  There have been some sneak inclusion paths
	  via os_internal.h, so expect a few compilation errors for some
	  architectures (2014-8-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* Documentation/NuttxPortingGuide.html, arch/sim/src/up_tickless.c, and
	  include/nuttx/arch.h: Fix errors in documentation and comments related
	  to the Tickless OS.  From Vijay Kumar (2014-9-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sama5/sam_tc.c and .h: Can now handle non-constant
	  BOARD_MCK_FREQUENCY. Also now supports methods to attach user
	  interrupt handlers (2014-8-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/audio/audio_null.c: Fix an error in a variable name
	  (2014-8-9).
	* arch/arm/src/sama5/sam_oneshot.c, .h, Kconfig, Make.defs, sam_tc.c,
	  .h, and sam_adc.c: Add support for a one-shot timer wrapper around
	  the low-level timer/counter logic.  This also involved several changes
	  that rippled into the ADC driver (untested) (2014-8-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sama5/sam_freerun.c, .h, Kconfig, and Make.defs: Add
	  support for a free-running timer wrapper around the low-level
	  timer/counter logic (2014-8-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/Kconfig, src/sama5/sam_tickless.c, Kconfig, Make.defs: Use
	  the one-shot and free-running timers to implement tickless OS support
	  for SAMA5 (2014-8-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sama5/sam_oneshot.c and sam_tc.c: Fix several bugs in
	  timer/counter interrupt logic and one-shot timer logic.  Comments and
	  debug output updated in additional files (2014-8-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/wdog/wd_start.c: Correct a bug in Tickless OS support: logic to
	  detect changes in head of timer list was wrong (2014-5-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/sched/sched_timerexperation.c, sched.h, and wdog/wd_start.c:  In
	  tickless mode, need to stop the interval timer before inserted a new
	  delay into the timer list.  Otherwise, the time is incorrect on the
	  first entry of the list (2014-8-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sama5/sam_freerun.c and sam_oneshot.c:  Correct bad time
	  conversion, 1000000 not 1000 to convert seconds to microseconds
	  (2014-8-11).
	* sched/sched/sched_timerexpiration.c:  Fix inaccurate time conversion.
	  Remove MSEC_PER_TICK from calculation and convert uint32_t to uin64_t
	  (2014-8-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/time/lib_localtime.c, private.h, tzfile.h and several header and
	  make-related files:  Adds support for localtime.  From Max Neklyudov
	  (2014-8-12)
7.5 2014-09-28 Gregory Nutt <gnutt@nuttx.org>
Gregory Nutt's avatar
Gregory Nutt committed

	* clock/clock_systimespec.c and sched/clock/clock_gettime.c:  When
	  reading the system timer, don't read a struct timespec, convert it
	  to a fake tick count, then back to a timespec (2014-8-15).
	* sched/clock/Make.defs, clock_gettime.c, clock_settime.c, include/time.h,
	  nuttx/clock.h, configs/vsn/src/sif.c: Remove CLOCK_ACTIVETIME. It is non-
	  standard, unused, and gets in the way of maintaining clocks (2014-8-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/time/lib_localtime.c:  Modified to that the coding style is much
	  closer to NuttX coding style.  The local header files private.h and
	  tzfile.h were removed and incorporated into lib_localtime.c.  All
	  conditional compilation within lib_localtime.c that unconditionally
	  evaluated to FALSE was removed (2014-8-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/net/Kconfig and include/nuttx/arch.h: Standardize a PHY
	  interrupt attachment interface (2014-8-16).
	* configs/Kconfig, sama5d3-xplained, sama5d3x-ek, and sama5d4-ek:
	  Convert existing board specific PHY interrupt interfaces to use newly
	  defined standard interface (2014-8-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/net/slip.h:  Move SLIP prototypes from net.h to slip.h
	  (2014-8-16).
	* include/net/net.h and net/: Fix some missing function headers
	  (2014-8-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/net/phy_notify.c, include/nuttxarch.h, net/phy.h, and
	  ioctl.h: Add support for an ioctl that can be used to notify an
	  application when there is a change in the network status signalled
	  by a PHY interrupt (2014-8-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/net/phy_notify.c, include/net/if.h, ioctl.h, netdev.h, phy.h,
	  and net/netdev/netdev_ioctl.c: Finishes the ioctl definition to
	  subscribe to PHY events. Revamp network ioctl signature to support
	  arguments other than struct mii_ioctl_data (2014-8-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_eth.c: Modified to support the change to the
	  network ioctl signature changes.  Also add support for new ioctl to
	  setup PHY event notifications (2014-8-16).
	* arch/arm/src/sama5/sam_emaca.c, sam_emacb.c, and sam_gmac.c: Implement
	  all network ioctls, including the new ioctl to setup PHY event
	  notifications (2014-8-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/net/if.h:  Add some helper macros to make the code that uses
	  the ioctls a little more compact (2014-8-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/stdio/lib_sscanf.c: NuttX libc tried to guess how many characters
	  to parse, extracted them into a buffer, then ran strtol() on that
	  buffer. That guess is often wrong. A better approach would be to
	  call strtol() directly on the input data, using the endptr return
	  value to determine how many characters to skip after parsing.  From
	  Kosma Moczek (2014-8-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/arp/arp_dump.c:  Add missing configuration option to select
	  dumping of ARP packet headers.  Move ARP dumping logic from
	  arp_inout.c to its own file (2014-8-18).
	* net/arp/arp_out.c: Move arp_out() from arp_inout.c to its own file
	  (2014-8-18).
	* net/arp/arp_arpin.c: Move arp_arpin() from arp_inout.c to its own file
	  (2014-8-18).
	* net/arp/arp_ipin.c: Rename arp_inout.c to arpipin.c because that is
	  all that is left in the file (2014-8-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/arp/arp_format.c: Move the logic that formats an ARP packet into a
	  separate file where it can be re-used.  (2014-8-18).
	* net/arp/arp_out.c and net/pkt/pkt_send.c:  Change how the IFF_NOARP
	  flag is handled.  This should be set only when data is moved into the
	  buffer and cleared after tested by the ARP logic.  Setting it globally
	  can cause packets to be sent with no valid MAC addresses (2014-8-18).
	* net/arp/arp_send.c: Partial implementation of logic to send ARP
	  requests to assure that an IP address mapping is present in the ARP
	  table (2014-8-18).
	* net/arp/arp_poll.c: Finished the implementation of logic to send ARP
	  requests.  Complete, fully hooked into the networking logic, and ready
	  for test (but still untested) (2014-8-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/icmp/icmp_ping.c, net/socket/net_sendfile.c, sendto.c,
	  net/tcp/tcp_send_buffered.c, and tcp_send_unbuffered.c:  If
	  CONFIG_NET_ARP_SEND is enabled, then all ICMP, TCP, and UDP send
	  operations will call arp_send() before attempting the real send
	  operation.  arp_send() will check if the IP address mapping is in
Gregory Nutt's avatar
Gregory Nutt committed
	  the ARP table and, if not send ARP requests periodically until it is.
	  This eliminates losing the first outgoing message because there is not
	  mapping in the ARP table (2014-8-18).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/arp/arp_notify.c, arp_send.c, arp_arpin.c, and arp.h:  Add
	  signalling logic so that we do not have to wait so long with the
	  network responses to ARP requests quickly (2014-8-19).
	* include/nuttx/lcd/ili9341.h: Add a register definition header file
Gregory Nutt's avatar
Gregory Nutt committed
	  for the ILI9341 LCD (2014-8-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* net/arp/Kconfig: ARP request logic is no longer EXPERIMENTAL
	  (2014-8-20).
	* net/arp/arp_send.c: ARP request logic needs to do the right thing if
	  (1) the address is a broadcast or multicast address, and (2) if the
	  IP address lies outside of the network.  Problem noted by Manuel Stuehn
	  (2014-8-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/sam4e-ek/src/Kconfig and src/sam_ili9341.c: Add ILI9341-based
Gregory Nutt's avatar
Gregory Nutt committed
	  LCD driver.  Fully functional (2014-8-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/sam4e-ek/nxwm:  Add an NxWM configuration for the SAM4E-EK
Gregory Nutt's avatar
Gregory Nutt committed
	  (2014-8-21).
	* configs/viewtool-stm32f107: Refresh some configurations (2014-8-20).
	* nuttx/sched/wdog: If we run out of pre-allocated watchdog times, the
	  logic will allocate additional timers from the heap.  A reserve of
	  pre-allocated watchdog timers is maintained so that there will always
	  be timers available for interrupt handlers (2014-8-21).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/wdog.h (and many affected files):  wdog.h does not
	  contain any application interface, only internal OS interface.
	  Further, it is non-standard.  Move wdog.h from include/ to
	  include/nuttx (2014-8-21).
	* Documentation/NuttxPortingGuide.h:  For the same reason as above, move
	  the description of the watchdog timer interfaces from the Users Guide
Gregory Nutt's avatar
Gregory Nutt committed
	  to the Porting Guide (2014-8-21).
	* arch/arm/src/stm32/stm32_uart.h: STM32 F401: Correct support for
	  USART6 on this chip.  From Freddie Chopin (2014-8-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* nuttx/sched/wdog and include/nuttx/wdog.h:  Add support for statically
	  allocated watchdog timer (also eliminate some unconventional typing)
Gregory Nutt's avatar
Gregory Nutt committed
	  (2014-8-22).
	* configs/p112/ostest and tools/mkdeps.c:  Changes to try to get P112 to
	  compile with latest SDCC (it still does not) (2014-8-22).
	* sched/group/group_leave.c: Need to release the address environment when
	  the task group is released (2014-8-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* mm/mm_granreserve.c and and mm_granmark.c: gran_reserve():  Add a
	  new function to reserve unallocatable regions in the granule heap
Gregory Nutt's avatar
Gregory Nutt committed
	  (2014-8-23).
	* include/nuttx/pgalloc.h and mm/mm_pgalloc.c:  Add a simple page
	  allocator based on the existing NuttX granule allocator.  I am not
	  certain if the granule allocator is sufficiently deterministic for
	  long range use, but it gets get a page allocator in place for testing
	  very quickly (2014-8-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* ARMv7-A: Add skeleton implementation and build support for process
	  address environments (2014-8-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* Many files: Change CONFIG_ADDRENV to CONFIG_ARCH_ADDRENV; change how
	  it is selected -- the architecture must first declare support
	  (2014-8-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/addrenv.h, arch/arm/include/arch.h, armv7-a/irq.h, and
	  other files:  Add addrenv.h; First cut at Cortex-A address environment
	  structures; Add configuration options to setup address environment
	  (2014-8-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* addrenv interface changes: up_addrenv_create() may need to create
	  .text and .bss/.data separately because of differing access privileges
	  (read/execute vs read/write).  And, as a consequence, up_addrenv_vaddr()
	  needs to be split into up_addrenv_vtext() and up_addrenv_vdata().
	  Affects several files (2014-8-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arch_coherent_cache.c:  New file.  These cache
	  operations are called from the ELF loader in order to flush D-cache
	  and invalidate I-cache after an ELF module has been loaded into memory.
	  With this change, ELF modules work correctly on the SAMA5/Cortex-A
Gregory Nutt's avatar
Gregory Nutt committed
	  platform (2014-8-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/sim: Add build support for ELF modules.  Useless at the moment
	  because there is no x86 relocation logic support (2014-8-25).
	* configs/sim: Update some sim/ defconfig files.  This now automatically
	  switches them to x86_64 builds (2014-8-25).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/include/arch.h, armv7-a/irq.h, src/armv7-a/arm_addrenv.c,
	  armv7-a/arm_mmu.c/.h, sama5/Kconfig, Make.defs, sam_pgalloc.c,
	  include/nuttx/addrenv.h, arch.h, pgalloc.h, mm/Kconfig, mm_pgalloc.c,
	  sched/init/os_start.c: Cortex-A/SAMA5 address environment support is
	  code complete (untested) (2014-8-25).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/include/tiva and src/tive:  Add support for the TI CC3200.
	  From Jim Ewing (2014-8-26).
	* configs/cc3200-launchpad:  Add support for the TI CC3200 Launchpad.
	  From Jim Ewing (2014-8-26).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/*/*_blocktask.c, arch/*/*_unblocktask.c, and arch/*/*_exit.c:
	  Add address environment support to all implementation of up_block_task(),
	  up_unblock_task(), and _exit() (2014-8-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_flash.c and chip/stm32_flash.h,
	  include/nuttx/progmem.h, and configs/vsn/src/sif.c: STM32 FLASH fixes:
	  use size_t instead of uint16_t, make interface more generic.  From
	  Freddie Chopin (2014-8-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* Kconfig, Makefile.unix, Makefile.win, syscall/Kconfig,
	  arch/arm/src/armv6-m/svcall.h, up_svcall.c, armv7-m/svcall.h, and
	  up_svcall.c: The system call library can now be built with
	  CONFIG_NUTTX_KERNEL.  New selection: CONFIG_LIB_SYSCALL (2014-8-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/syscall.h: "Add an ARMv7-A system call definition
	  header file (2014-8-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/include/armv7-a/irq.h, arm_syscall.c, syscall/Kconfig,
	  syscall_funclookup.c, syscall_nparms.c, and syscall_stublookup.c:
	  ARMv7-A:  Add SYSCALL handling logic (2014-8-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* nuttx/fs/, drivers/, and sched/:  Remove explicit references to errno.
	  That is a problem from within the kernel for certain configurations
	  (there are still more references to be fixed) (2014-8-28).
	* sched/clock/clock.h: In some configurations, g_system_tmer must be
	  extern'ed as a private variable in the OS (2014-8-28).
	* include/errno.h and nuttx/clock.h:  errno and g_system_timer must be
	  handled in a special way if there are external modules (2014-8-28).
	* include/sys/syscall.h: System definitions should depend on
	  CONFIG_LIB_SYSCALL not CONFIG_NUTTX_KERNEL (2014-8-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a: Rename syscall.h to svcall.h to work around
	  some include path name collisions; fix some compilation errors in
	  SYSCALL logic when debug is enabled (2014-8-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/include/arm/syscall.h and armv7-a/syscall.h: Fix ARM7/9
	  and Cortex-A SYSCALLs:  For threads in SVC mode, the SVC instructions
	  clobbers R14.  This must be taken account in the inline assembly
	  (2014-8029).
	* arch/arm/src/armv7-a/arm_syscall.c: Fix hard coded values in
	  dispatch_syscall() inline assembly. Back out/correct part of last
Gregory Nutt's avatar
Gregory Nutt committed
	  change; that was going the wrong direction.  With this change, the
	  apps/examples/elf test works with address environments and call
	  gates! (2014-8029).
Gregory Nutt's avatar
Gregory Nutt committed
	* Many, many files:  Renamed CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED.
	  Added configuration CONFIG_BUILD_KERNEL that will be used to generate
Gregory Nutt's avatar
Gregory Nutt committed
	  a kernel (only) with full process support and will execute programs
Gregory Nutt's avatar
Gregory Nutt committed
	  only from a file system.  This new configuration is defined but only
	  partially integrated (2014-8-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* tools/refresh.sh: Add a tool to make refreshing configurations easier
	  when you want to do a lot of them (2014-8-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* tools/mksyscall.c: Build syscalls that do not need header files (there
	  are none, however) (2014-8-30).
	* include/nuttx/errno.h syscall/syscall.csv and syscall_funclookup.c:
	  Yet more issues with errno access via syscalls fixed (2014-8-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* Makefile.unix, Makefile.win, Directories.mk, FlatLibs.mk, ProtectedLibs.mk,
	  and KernelLibs.mk:  Separate the common directory selection logic
	  into Directories.mk; add support for kernel build.  Move library
	  selection logic in common *.mk files, one each for flat-, protected-,
	  and kernel- mode builds (2014-8-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/syscall.h syscall/syscall.csv: clock_systimer needs the
	  same fix as for get/set_errno when used with system calls (2014-8-30).
	* sched/Kconfig sched/init/os_bringup.c tools/cfgdefine.c: Add
	  configuration options to start the system from a program on a file
	  system (2014-8-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* mm/ and include/nuttx/mm.h: Remove CONFIG_MM_MULTIHEAP.  Non-multiheap
	  operation is no longer supported (2014-8-31).
	* configs/sama5d4-ek/kernel: Add a configuration for testing the
	  kernel build configuration (still a work in progress) (2014-8-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/arch.h, kmalloc.h, mm.h, sched/init/os_start.c,
	  sched/sched_free.c, and arch/arm/src/sama5/sam_allocateheap.c: Clean
	  up some kernel build heap allocation issues.  The Cortex-A kernel
	  build now compiles without errors (but cannot link until brk() and
	  sbrk() are implemented) (2014-8-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* mm/*mm_brkaddr.c, *mm_extend.c, Makefile, and include/nuttx/mm.h: Add
	  low-level memory management hooks that will be needed to support brk()
	  and sbrk() (2014-8-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* Rename krealloc() to kmm_realloc() and kmemalign to kmm_memalign() for
Gregory Nutt's avatar
Gregory Nutt committed
	  consistency with the rest of the naming (2014-8-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* Rename kurealloc() to kumm_realloc(), kumemalign to kumm_memalign(),
Gregory Nutt's avatar
Gregory Nutt committed
	  and kufree to kumm_free for consistency with the rest of the naming
Gregory Nutt's avatar
Gregory Nutt committed
	  (2014-8-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* Rename kumalloc() to kumm_malloc() and kuzalloc to kumm_zalloc() for
	  consistency with the rest of the naming (2014-8-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* Rename kmalloc() to kmm_malloc(), kzalloc() to kmm_zalloc(), and
	  kfree() to kmm_free() and kuzalloc to kumm_zalloc() for consistency
	  with the rest of the naming (2014-8-31).
Gregory Nutt's avatar
Gregory Nutt committed
	* mm/mm_sbrk.c, kmm_sbrk.c, umm_sbrk.c, and include/unistd.h: Initial
	  implementation of sbrk() (2014-9-1).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arm_pgalloc.c, mm/umm_malloc.c, and mm_zalloc.c:
	  Completes the implementation of sbrk() (untested) (2014-9-1).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/cc3200-launchpad:  Updates to the CC3200-Launchpad configuration
	  for better compatibility.  From Jim Ewing (2014-9-1).
Gregory Nutt's avatar
Gregory Nutt committed
	* Removed all support from the 8051 from the NuttX source tree.  The
	  obsoleted code along with the removal patch can now be found at
	  misc/Obsoleted/ (2014-9-1).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/sched/sched_releasetcb.c and task_setup.c, include/nuttx/arch.h
	  and sched.h, and arch/*/*/*/Make.defs:  There used to be two ways to
	  pass parameters to new tasks, depending upon the configuration:  Either
	  (1) argv[] as created as an array with each string strdup'ed.  Or (1)
	  argv[] array and strings were created on the stack before the new task
Gregory Nutt's avatar
Gregory Nutt committed
	  was started.   Now, there is only one way, way (1).  Way (2) might be
	  slightly more compact, but this is not worth carry the complexity of
	  two different ways of doing the same thing (2014-9-1).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/init/os_start.c: Fix error in initialize of IDLE TCB due to last
	  change.  The argument list is no long in the TCB, but in the stack.
	  But not for the IDLE task.  It needs its own mini-argv[] list so that
	  it looks more like other threads (2014-9-1).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arm_addrenv.c, include/nuttx/addrenv.h, and
	  mm/umm_*.c: Space at the beginning of the process data space is now
	  reserved for user heap management structures.  In the kernel build
	  mode, these heap structures are shared between the kernel and use
	  code in order to allocate user-specific data (2014-9-2).
	* include/unistd.h, nuttx/mm.h, and kmalloc.h, sched/init/os_start.c
	  and sched/sched/sched_free.c, mm/kmm_sbrk.c and mm_sbrk.c, and
	  arch/arm/src/sama5/sam_allocateheap.c:  Restructuring of build to
	  allow use of use-space allocators by kernel logic in the kernel
	  build (2014-9-2).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/include/armv7-a/irq.h, arm_syscall.c, crt0.c,
	  include/nuttx/addrenv.h, and mm/umm_*.c:  Add support for delivery
	  of use-mode signals in the kernel build (2014-9-2).
Gregory Nutt's avatar
Gregory Nutt committed
	* mm/mm_graninit.c: Granule allocator initialization uses wrong
	  allocator to setting aside kernel memory (2014-9-3).
	* sched/init/os_start.c: IDLE TCB setup needs to indicate that the
	  IDLE thread is a privileged, kernel thread (2014-9-3).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/sched.h: Add a flag to group structure:  If the group
	  is created by a kernel thread, then all resources in the group must
	  be privileged (2014-9-3).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/group/group_malloc.c, group_zalloc.c, group_free.c,
	  group_create.c, group.h: Group creation logic must use new group flag
	  when allocating resources so that the privileges on the resource are
	  set correctly (2014-9-3).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/Kconfig and sched/init/os_bringup.c: Add capability to perform
	  initial board initialization on a separate worker thread (2014-9-3).
Gregory Nutt's avatar
Gregory Nutt committed
	* tools/mkexport.sh: Fix 'make export'.  Adding subdirectories to the
	  sched/ directory broke the header file collection logic (2014-9-4).
	* Makefile.unix, Makefile.win, FlatLibs.mk, KernelLibs.mk, and
Gregory Nutt's avatar
Gregory Nutt committed
	  ProtectedLibs.mk: In the kernel or protected builds, only the user
	  libraries should be exported (2014-9-4).
	* Makefile.unix, Makefile.win, and tools/mkexport.sh: In 'make export',
	  do not copy internal header files or build scripts if this is a
	  kernel or protected build (014-9-4).
Gregory Nutt's avatar
Gregory Nutt committed
	* tools/mkexport.sh, arch/*/src/Makefile, arm/src/a1x/Make.defs,
	  sama5/Make.defs, armv7-a/crt0.c:  The 'make export' target needs to
	  bundle up the user C startup file (crt0), not the kernel head object
	  for the kernel and protected builds (2014-9-4).
Gregory Nutt's avatar
Gregory Nutt committed
	* tools/mkexport.sh: Add .config file to export package (2014-9-5).
	* configs/16z:  Support for this board has been removed from the NuttX
	  source tree (but still can be found in the misc/Obsoleted directory).
	  This port is not ready for usage but may return to the NuttX tree
	  at some point in the future (2014-9-5).
Gregory Nutt's avatar
Gregory Nutt committed
	* tools/Makefile.export and mkexport.sh: The apps/ import build requires
	  that we extract more information from the platform Make.defs file
	  (2014-9-5).
Gregory Nutt's avatar
Gregory Nutt committed
	* tools/Makefile.export and mkexport.sh: Need to export the setting of
	  WINTOOL as well (2014-9-5).
Gregory Nutt's avatar
Gregory Nutt committed
	* SAMA5D4-EK kernel configuration now builds NSH instead of examples/elf
	  (2014-9-6).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/pthread/pthread_attrinit.c, sched/pthread/pthread_create.c, and
	  include/nuttx/pthread.h:  Fix some conditional compilation in kernel
	  build mode.  And, while we are touching this logic, make
	  g_default_pthread_attr const (2014-9-7).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arm_addrenv.c: Correct size comparison (pages vs.
	  sections) (2014-9-7).
	* configs/sama5d4-ek/src/sam_bringup.c and sama5d4-ek.h:  Need to call
	  elf_initialize() on bring-up before attempting to load ELF modules
	  (2014-9-7).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arm_addrenv.c: Fix loop counter... was overrunning
	  a table on larger ELF files (2104-9-7).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sama5/sam_memories.c, sam_pgalloc.c, and sam_pgalloc.h: In
	  kernel build with address environment, need logic to map user virtual
	  addresses to physical addresses, and vice versa (2104-9-7).
Gregory Nutt's avatar
Gregory Nutt committed
	* SAM3X/Arduino Due: Fix typo in sam3x_periphclks.h; add SCLK
	  definitions to board.h header file.  From Fabien Comte (2014-9-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* Several pthread interfaces: Add const storage class to to phthread
Gregory Nutt's avatar
Gregory Nutt committed
	  parameters.  From Freddie Chopin (2014-9-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/math: Corrected atan2 implementations from Denis Arnst (2014-9-8).
	* sama5d4-ek/knsh:  Rename the kernel configuration to knsh to better
	  match the naming used with other platforms (2014-9-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/cc3200-launchpad/README.txt: Add README file for the CC3200
	  Launchpad (2014-9-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/sama5d4-ek/README.txt, Kconfig, knsh/defconfig.ROMFS,
	  src/sam_bringup.c, and sama5d4-ek.h: SAMA5D4-EK kernel config can now
	  boot from a ROMFS file system (2014-9-9).
	* LibTargets.mk, Makefile.unix, and Makefile.win: Move common library
	  targets out of Makefile.unix and Makefile.win into a new LibTargets.mk
Gregory Nutt's avatar
Gregory Nutt committed
	  (2014-9-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* LibTargets.mk and configs/sama5d4-ek/knsh/Make.defs: Add logic that will
	  permit us to build user libraries with different CFLAGS than kernel
	  code.  This is needed because we need the -fno-common option when
	  building ELF code to prevent SHN_COMMON relocations (2014-9-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* binfmt/libelf/libelf_symbols.c, libelf_bind.c, and all implementations
	  of up_relocate(): ELF relocations.  Some relocation types do not have
	  a named symbol associated with them.  The design did not account for
	  that case (2014-9-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* binfmt/binfmt_execmodule.c: When allocating a stack for a new process
	  using the user-space allocator, need to select the address environment
Gregory Nutt's avatar
Gregory Nutt committed
	  first (2014-9-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/Kconfig, arm/src/armv7-a/pginline.h, arm_addrenv.c, and
	  arm_pgalloc.c and include/nuttx/addrenv.h: Add configuration to use
	  the fixed DRAM mapping for the page pool (if available) instead of
	  remapping dynamically to access L2 page tables and page data.  Also,
	  add logic in address environment creation to initialize the shared
	  data at the beginning of the .bss/.data process memory region
	  (2014-9-10).
	* configs/sama5d4-ek/elf and knsh: These configurations now use the
	  fixed DRAM mapping for manipulating the page memory pool (2014-9-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/include/arch.h and src/armv7-a/arm_addrenv.c,
	  nuttx/binfmt/binfmt_execmodule.c, libelf/libelf_addrenv.c,
	  libelf_load.c, libnxflat/libnxflat_addrenv.c, include/nuttx/arch.h, and
 	  mm/umm_initialize.c:  Add logic to initialize the per-process user
	  heap when each user process is started (2014-9-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/clock/clock.h, clock_initialize.c, and clock_settime.c: Remove
	  vestiges of g_tickbias; apply bias instead to g_basetime (2014-9-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/lib.h, sched/init/os_start.c, and
	  configs/ea3131/locked/mklocked.sh: Replace the empty lib_initialize()
	  function with a pre-processor macro (2014-9-11).
	* libc/misc/lib_stream.c: When a privileged thread exits, we have to use
	  the kernel allocator to free memory; when an unprivileged thread exits,
Gregory Nutt's avatar
Gregory Nutt committed
	  we don't have to do anything... heap memory will be cleaned up when the
	  address environment is torn down (2014-9-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_serial.c and chip/stm32f20xxx_rcc.h: Fix for
	  UART7 and UART8 on STM32 clock enable from Aton (2014-9-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arm_vectors.S: ARMv7-A: Exception register
	  save/restore needs to work a little differently if we support user
Gregory Nutt's avatar
Gregory Nutt committed
	  mode processes (2014-9-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/cc3200-launchpad/src/cc3200_leds.c and other board files: Add
	  LED support for the CC3200 Launchpad.  From Jim Ewing (2014-9-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arm_initialstate.c:  All tasks, even user mode
	  tasks, must start in supervisor mode until they get past the start-up
	  trampoline (2014-9-11).
	* arch/arm/src/armv7-a/arm_vectors.S: Fix logic for returning from
	  exceptions to user-mode contexts.  NuttX processes are now functional
	  on the Cortex-A (2014-9-11).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arm_fullcontextrestore.S, arm_syscall.c, crt0.c,
	  and svcall.h: Modify up_fullcontextrestore() for CONFIG_BUILD_KERNEL.
	  It changed CPSR while in kernel.  That will crash if the new CPSR is
	  user mode while executing in kernel space.  Fixed by adding a
	  SYS_context_restore system call.  There is an alternative, simpler
	  modification to up_fullcontextrestore() that could have been done:  It
	  might have been possible to use the SPSR instead of the CPRSR and then
	  do an exception return from up_fullcontextrestore().  That would be
	  more efficient, but I never tried it (2014-9-12).
Gregory Nutt's avatar
Gregory Nutt committed
	* binfmt/libelf/libelf_load.c: ELF: Critical bugfix.. BSS was not being
	  cleared (2014-9-12).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/sama5d4-ek/knsh/defconfig and defconfig.ROMFS: Enable NSH
	  file applications in these configurations (2014-9-12).
	* libc/Kconfig, unistd/lib_execsymtab.c, configs/sim/nsh/defconfig, and
	  stm32f4discovery/posix_spawn/defconfig: Having a symbol table is an
	  option.  There are no symbol tables with CONFIG_BUILD_KERNEL, for
	  example (2014-9-12).
	* syscall/syscall.csv and include/sys/syscall.h: exevc, execvl,
	  posix_spawn, and posix_spawnp were not properly integrated as system
	  calls (2014-9-12).
Gregory Nutt's avatar
Gregory Nutt committed
	* syscall/syscall_lookup.h: Fix typos in the stub lookup table
	  (2014-9-12).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/stm32f4discovery/netnsh, Kconfig, README.txt, and
	  include/board.h: Add the network enabled NSH configuration for the
	  STM32F4Discovery board with the STM32F4DIS-BB base board installed
	  (2014-9-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* nuttx/mm/umm_sbrk.c: Fix a typo in use of a configuration setting
	  (2014-9-13).
	* configs/stm32f4discovery/README.txt: Add STM32F4DIS-BB GPIO pin
	  usage (2014-9-13).
	* arch/Kconfig, arch/arm/include/arch.h, src/armv7-a/arm_addrenv.c,
	  sama5/sam_pgalloc.c, and include/nuttx/addrenv.h: Add a configuration
	  option for dynamic stack management (stack management not yet
	  implemented) (2014-9-13).
	* arch/Kconfig arm/src/armv7-a/addrenv.h, arm_addrenv.c, and
Gregory Nutt's avatar
Gregory Nutt committed
	  arm_addrenv_utils.c, a1x/Make.defs, and sama5/Make.defs,
	  include/nuttx/addrenv.h and arch.h: Move static helper routines from
	  arm_addrenv.c and may them global so that they can be shared by
	  forthcoming stack address environment logic (2014-9-13).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arm_addrenv_stack.c, arm_addrenv.c,
	  a1x/Make.defs, sama5/Make.defs, and include/nuttx/arch.h: Add logic
	  needed to manage a virtualized stack.  Not yet incorporated into
Gregory Nutt's avatar
Gregory Nutt committed
	  base OS logic (2014-9-13).
	* sched/task/task_posixspawn.c: Kernel proxy thread should be a kernel
	  thread, not a user task (2014-9-14).
	* include/sched.h and spawn.h, libc/Kconfig, spawn/Make.defs,
	  lib_psa_getstacksize.c, lib_psa_init.c, and lib_psa_setstacksize.c,
	  sched/task/Make.defs, task_create.c, and task_spawn.c: Don't build
	  task_create() or task_spawn() interfaces if there is an address
	  environment (2014-9-14).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arm_addrenv_ustack.c, include/nuttx/addrenv.h,
	  arch.h, and other files: Rename everything associated with the dynamic
	  process stack to ustack to make room in the name space for a kstack
	  (2014-9-14).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/arm_addrenv_kstack.c, include/nuttx/addrenv.h,
	  arch.h, and other files:  Add the initial implementation of the process
Gregory Nutt's avatar
Gregory Nutt committed
	  kernel stack logic.  Not yet integrated into the main OS logic nor
	  tested (2014-9-14).
Gregory Nutt's avatar
Gregory Nutt committed
	* binfmt/binfmt_execsymtab.c and Makefile, sched/task/task_execv.c,
	  task_posixspawn.c, and Make.defs, include/unistd.h,
	  include/nuttx/binfmt/symtab.h, and libc/unistd/Make.defs: execv() is
	  a basic system interface.  It should not be in libc/ but rather in
	  sched/task.  Its symbol table helper logic also belongs in the kernel
Gregory Nutt's avatar
Gregory Nutt committed
	  but belongs in binfmt/ with the other symbol table logic (2014-9-15).
	* include/sys/syscall.h, syscall/syscall.csv, syscall_lookup.h, and
	  syscall_stublookup.c:  execl() is not a system interface.  It belongs
	  in libc and should not have a system call associated with it
	  (2014-9-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/include/armv7-a/irq.h and src/armv7-a/arm_syscall.c: If we
	  are configured to use a kernel stack while in SYSCALL handling, then
	  we need to switch back to the user stack to deliver a signal (2014-9-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv6-m/up_svcall.c, armv7-a/arm_syscall.c, and
	  armv7-m/up_svcall.c: Fix a typo in system call when fetching parameter
	  from the stack:  regs[REG_PC]+4 is the address, not regs[REG_PC+4]
	  (2014-9-15).
	* sched/sched/sched_releasetcb.c: Don't release user stack in kernel
	  build.  Already destroyed with all of the address environment
	  (2014-9-15).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv6-m/up_signal_dispatch.c, src/armv7-a/arm_signal_dispatch.c,
	  and arch/arm/src/armv7-m/up_signal_dispatch.c:  Move
	  common/up_signal_dispatch.c to armv6-m, armv7-m, and armv7-a.  The
	  armv7-a version needs to be different to handle the case where we
	  are dispatch kernel mode signals when running under a user mode group
	  (2014-9-16).
	* arch/arm/src/armv7-a/arm_syscall.c: Correct stack handling if signal
Gregory Nutt's avatar
Gregory Nutt committed
	  deliver to user processes (2014-9-16).
	* arch/arm/src/armv7-a/arm_physpgaddr.c, pgalloc.h, sama5/sam_pgalloc.c,
	  and sam_pgalloc.h: Move some share-able logic from sama5/sam_pgalloc.c
	  to armv7-a/arm_physpgaddr.c (2014-9-16).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/sam34/sam_rtt.c: Only SAM4 family has RTTDIS bit in the
	  MR register. SourceForge bug #33 from Fabien Comte (2014-9-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_can.c: At the end of the interrupt handler,
	  the interrupts were being disabled, if all packets have been
	  transferred when the interrupt handler was invoked. This is
	  problematic, because the interrupt handler calls can_txdone of the
	  upper half which can enqueue new packets to send. Removed the block
	  altogether, because can_txdone calls can_xmit which disables
	  interrupts if there are no new packets to send.  From  Daniel Lazlo
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/can.c: In can_txdone, waiters on the semaphore should be
	  informed regardless of the return value of can_xmit. First it returns
	  -EIO if there are no new packets, and second the information of the
	  waiters is about the last transferred packet.  From  Daniel Lazlo
Gregory Nutt's avatar
Gregory Nutt committed
	* SAMA5D4-EK:  Add documentation/support for Rev E. board. Refresh NSH
	  configuration.  Fix some build errors/warnings introduced with recent
	  work with the knsh configuration (2014-9-17).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/sim/Kconfig, src/up_spiflash.c, Makefile, up_initialize.c, and
	  up_internal.h: Emulated SPI FLASH driver for the sim target from Ken
	  Pettit (2014-9-19).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/stm32f4discovery/include/board.h, netnsh/defconfig,
	  src/Makefile, stm32_sdio.c, stm32_boot.c, stm32_nsh.c,
	  stm32_bringup.c, and stm32f4discovery.h: STM32F4Discovery:  Add
	  support for the microSD card slot on the STM32F4DIS-BB base board
	  (2014-9-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* Change all occurrences of NxConsole to NxTerm (2014-9-20).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/sys/ipc.h, shm.h, mman.h, and types.h: Add shared memory
	  definitions, types, prototypes (2014-9-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/smartfs/smartfs_smart.c: SMART FS update from Ken Pettit
	  (2014-9-22).
	* mm/mm_gran/:  Move granule allocator and page allocator from mm/. to
Gregory Nutt's avatar
Gregory Nutt committed
	  mm/mm_gran/. (2014-9-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* mm/kmm_heap/:  Move kernel heap allocator from mm/. to mm/kmm_heap/.
	  (2014-9-22).
	* mm/umm_heap/:  Move user heap allocator from mm/. to mm/umm_heap/.
	  (2014-9-22).
	* mm/mm_heap/:  Move common heap logic from mm/. to mm/mm_heap/.
	  (2014-9-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* mm/shm/:  Create a home for forthcoming shared memory logic
	  (2014-9-22).
	* fs/procfs/fs_procfs.c: Fix some procfs breakage introduced by
	  reorganizing some un-reorganizable data structures.  From Ken
	  Pettit (2014-9-22).
	* drivers/mtd/smart.c, fs/smartfs/smartfs.h, smartfs_procfs.c, and
	  smartfs_utils.c, include/nuttx/fs/ioctl.h, and mtd/smart.h: Updated
	  SMART FS procfs support.  From Ken Pettit
	* configs/mikroe-stm32f4: Fix a few compile bugs and minor corrections
	  to the mikroe-stm32f4 configuration source.  From Ken Pettit
	  (2014-9-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* mm/Kconfig, shm/Make.defs, shmat.c, shmctl.c, shmdt.c, shmget.c, and
	  Documentation/NuttxUserGuide.html: Add the documentation, build
	  framework, and skeleton files for the shared memory feature (no logic
	  yet provided) (2014-9-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/sys/syscall.h, syscall/syscall.csv, syscall_lookup.h, and
	  syscall_stublookup.c: Add system calls for shared memory interfaces
	  (2014-9-22).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/shm.h, mm/shm/shm.h, and shm_initialize.c: Add shared
	  memory initialization logic (2014-9-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/arch.h, Documentation/NuttxPortingGuide.html, and
	  NuttxUserGuide.html: Add platform-specific interface definitions
	  needed to support the shared memory feature (2014-9-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/include/arch.h, src/armv7-a/addrenv.h, arm_addrenv.c,
	  arm_addrenv_ustack.c, and arm_addrenv_utils.c: Add logic necessary
	  to handle remapping of shared memory on context switches (2014-9-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/gran.h, mm/mm_gran/mm_granrelease.c, and Make.defs: Add
	  interfaces to support un-initializing a granule allocator (2014-9-23).
	* arch/arm/src/armv7-a/arm_pgalloc.cm  sched/group/group_addrenv.c, and
	  other files: Fix some inconsistent field name in struct task_group_s:
	  addrenv should be tg_addrenv (2014-9-23).
	* arch/arm/src/armv7-a/pgalloc.h: Extend virtual/physical address
	  conversions to include addresses in shared memory (2014-9-23).
	* include/nuttx/shm.h, sched.h, mm/shm/shm_initialize.c,
	  binfmt/binfmt_execmodule.c, sched/group/group_leave.c: Add support
	  for a per-process virtual page allocator.  This is a new member of
Gregory Nutt's avatar
Gregory Nutt committed
	  the task_group_s structure.  The allocator must be initialized when a
Gregory Nutt's avatar
Gregory Nutt committed
	  new user process is started and uninitialize when the process group
	  is finally destroyed.  It is used by shmat() and shmdt() to pick the
	  virtual address onto which to map the shared physical memory
	  (2014-9-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* mm/shm/shmat.c and shmdt.c: Completes the implementation of the core
Gregory Nutt's avatar
Gregory Nutt committed
	  shared memory logic:  shmget(), shmctl(), shmat(), and shmdt().  This
Gregory Nutt's avatar
Gregory Nutt committed
	  is still some unfinished platform-specific code that needs to be done
Gregory Nutt's avatar
Gregory Nutt committed
	  before we can begin testing (2014-9-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/mm:  Move mm.h, gran.h, and shm.h from include/nuttx to
	  include/nuttx/mm (2014-9-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/stm32_can.c: STM32 CAN correction suggested by Max
	  Holtzberg (2014-9-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/armv7-a/addrenv.h, arm_addrenv_shm.c,
	  arm_addrenv_utils.c, and pgalloc.h: This completes the implementation
	  of shared memory support for the Cortex-A platforms (2014-9-24).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/fs_poll.c: Fix unnecessary delays and timing jitter in the
	  implementation of poll(): No delay if timeout is zero; If timeout is
	  greater than zero, first check if events are already pending events
	  before starting the delay.  From Johannes Hampel (2014-9-25).
	* drivers/mtd/at45db.c: In at45db_bwrite , the buffer is not increased
	  when writing more than 1 page.  Sourceforge bug #34 (2014-9-25).
Gregory Nutt's avatar
Gregory Nutt committed
	* crypto/cryptodev.c: Path segments reversed in include file path.
	  Noted by Brennan Ashton (2014-9-25).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/mtd/mtd_rwbuffer.c:  The MTD Read-ahead/Write buffer layer
	  appears to be functional (2014-9-25).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/stdio/lib_libdtoa.c: Change to lib_dtoa() to fix precision error
	  from trailing zeroes.  From Bob Doiron (2014-9-26)
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/fs_poll.c:  Re-implemented poll() delay using sem_timedwait()
	  (2014-9-26).

7.6 2014-xx-xx Gregory Nutt <gnutt@nuttx.org>

Gregory Nutt's avatar
Gregory Nutt committed
	* fs/fs.h and other files:  Rename fs/fs_internal.h to fs/fs.h (2014-9-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/semaphore.h and fs/fs.h:  Add data structures that will
	  allow us to move name semaphore support out of the OS and into the
	  VFS (not complete) (2014-9-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/inode: Move inode and VFS utils from fs/. to fs/inode/. (2014-9-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/driver: Move driver logic from fs/. to fs/driver/. (2014-9-28).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/dirent: Move directory operations from fs/. to fs/dirent/. (2014-9-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/mount: Move mount-related files from fs/. to fs/mount/. (2014-9-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/vfs: Move renaming files in fs/. to fs/vfs/. (Don't all belong there)
	  (2014-9-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/semaphore: Create a build structure that will (eventually) support
	  using the VFS to manage named semaphores (2014-9-23).
Gregory Nutt's avatar
Gregory Nutt committed
	* configs/stm32f4discovery/include/board.h: STM32F4-Discovery: Fix some
	  backward conditional compilation"(2104-9-29).
	* nuttx/sched/init/os_start.c, semaphore/Make.defs, sem_initialize.c,
	  and semaphore.h: Semaphore initialization is now only required if
	  priority inheritance is enabled (2014-9-29).
	* fs/Makefile and mqueue/: Add build support for messages queues as part
	  of the VFS (only build logic, no C files yet) (2014-9-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/inode/inode.h and fs/driver/driver.h:  Move fs/fs.h to fs/inode/inode.h
	  and some to fs/driver/driver.h (2014-9-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/task/task_vfork.c: Fix vfork().  Now that arguments are kept on
	  the stack, the way that arguments are passed from parent to child in
	  vfork() must change.  This bug has always been present, but was not
	  visible with the old strdup() way of passing arguments (2014-9-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/common/up_vfork.c: Another vfork() problem: If we get to
	  vfork() via system call, then we need to clone some system call
	  information so that the return form the cloned system call works
	  correctly (2014-9-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/mqueue: Move mq_open(), mq_close(), and mq_unlink() logic from
	  sched/mqueue to fs/mqueue.  Convert the logic so that it uses the VFS to
	  managed the message queue namespace (instead of custom logic).  By
	  default, now message queues can be seen in /var/mqueue (2014-9-29).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/sim/src/up_simuart.c, up_uartwait.c:  Removed old, strange
	  up_stdio.c and implemented a simulated UART driver to provide the
	  console input.  Starts a separate, Linux domain pthread to read
	  the console input in raw mode and provides the incoming data to
	  NuttX via standard NuttX domain IPCs (2014-9-30).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/sim/src/up_setjmp32.S, up_setjmp64.S, Kconfig, Makefile,
	  up_initialstate.c, up_internal.h, up_stackframe.c, and include/irq.h:
	  Add support for 64-bit lonjmp/setjmp in simulator platform.  This
	  will permit operation of the simulation natively on a 64-bit platform
	  (2014-10-2).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/fcntl.h: Implement create() as a macro (2014-10-4).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/vfs/Make.defs,  fs_pread.c fs_pwrite.c, and include/unistd.h: Add
	  pread() and pwrite() (2014-10-4).
	* include/sys/syscall.h syscall/syscall.csv, syscall_lookup.h, and
	  syscall_stublookup.c: Add pread() and pwrite() system calls
	  (2014-10-4).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/aio.h:  Add aio.h header file (2014-10-4).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/aio/lio_listio.c and Make.defs: Add empty skeleton file where
	  lio_listio() will eventually be implemented (2014-10-4).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/Kconfig, aio/aio_read.c, aio_write.c, aio_return.c, aio_error.c
	  aio.h, and Make.defs: Initial implementation of aio_read(),
	  aio_write(), aio_return(), and aio_error() (2014-10-4).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/signal.h and sched/Kconfig:  Add definitions for SIGPOLL
	  (2014-9-5).
	* libc/aio/aio_signal.c, Make.defs, and aio.h: Move AIO signal logic
	  to a common location in aio_signal.c.  Also fix several typos
	  (2014-9-5).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/aio/aio_suspend.c, aio_cancel.c, aio_fsync.c, lio_listio.c and
	  Make.defs:  Initial implementation of aio_suspend(), aio_cancel(),
	  lio_listio.c, and aio_fsync.c.  This completes this implementation
	  of the asynchronous I/O interfaces but there are still untested
	  (2014-9-5).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/aio/Make.defs, aio.h, aio_cancel.c, aio_fsync.c, aio_read.c,
	  aio_signal.c, and aio_write.c: Move all file operations from libc/aio
	  to fs/aio.  These will need to be kernel routines in order to
	  handler issues with using file descriptors on worker thread
	  (2014-10-5).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/aio/aio.h, Kconfig, aio_initialize.c, aioc_contain.c, Make.defs,
	  and include/aio.h: Add a AIO control container to increase the
	  payload with OS internal stuff (2014-10-6).
	* fs/aio/aio_cancel.c, aio_fsync.c, aio_read.c, aio_signal.c, and
	  aio_write.c: Modify logic to use AIO control block container
	  (2014-10-6).
	* fs/fs_initialize.c, Makefile, fs/inode/fs_inode.c, and inode.h:
	  Modify FS initialization logic to handle AIO container
	  initialization (2014-10-6).
Gregory Nutt's avatar
Gregory Nutt committed
	* Too many files to list:  Major structuring of file system functions
	  to better support asynchronous I/O.  Respository should not be
	  trusted until I have a chance to verify everything (2014-10-6).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/mm/mm.h: Fix a place in the memory manager where it
	  explicitly assumed that the size of a point is 4 bytes.  That is OK
	  if the actually size is smaller but makes the heap unstable when
Gregory Nutt's avatar
Gregory Nutt committed
	  used with the x86_64 host simulation (2014-10-6).
	* sched/wqueue, include/nuttx/wqueue.h,  and libc/Kconfig sched/Makefile:
	  Add support for priority inheritance on the low priority worker queue
	  (2014-10-7).
	* sched/Makefile and sched/*/Make.defs: Simplify how C source files are
	  selected in the build (2014-10-7).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/aio/aio_queue.c, Make.defs, aio.h, aio_fsync.c, aio_read.c, and
	  aio_write.c: The asynch I/O implementation now satisfies POSIX
	  priority requirements; it uses the new low priority worker thread
	  interfaces to adjust the priority of the worker thread according to
	  the priority of the client thread (2014-10-7).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/chip/stm32_otghs.hstm32_otghs.c/h and
	  chip/stm32_otghs.h: Add files that implement true high speed support
	  for the STM32 OTGHS peripheral.  From Brennan Ashton (2014-10-7).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/ (several files):  Integrates OTGHS support into
Gregory Nutt's avatar
Gregory Nutt committed
	  the STM32; Eliminates the older OTGHS in FS mode logic.  From Brennan
	  Ashton (2014-10-7).
	* arch/arm/src/stm32/Kconfig, stm32_otgfsdev.c, chip/stm32f40xxx_pinmap.h,
	  configs/stm32f429i-disco/ (several files): Remove non-functional
	  vestiges of OTGHS in FS mode (including OTGFS2); try to convert the
	  stm32f429i-disco configuration to use OTGHS instead of OTFHS in F
Gregory Nutt's avatar
Gregory Nutt committed
	  mode (OTGFS2).  But I don't have the boards and can't test (2014-10-7).
	* include/syslog.h, debug.h, libc/libc.csv, misc/lib_dbg.c,
	  lib_dumpbuffer.c, stdio/lib_lowsyslog.c, lib_printf.c, lib_syslog.c,
	  and fs/driver/fs_syslog.c: Make standard syslog and vsyslog POSIX
	  compliant (also modify non-standard syslog functions for
	  compatibility).  This will break a lot of things until ALL usage of
	  syslog is updated to use the modified interfaces (2014-10-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* drivers/: Correct everything under nuttx/drivers, nuttx/arch, nuttx/net,
Gregory Nutt's avatar
Gregory Nutt committed
	  nuttx/binfmt, and nuttx/configs to use the corrected syslog interfaces
	  (2014-10-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* libc/syslog and fs/syslog: Move syslog logic from libc/misc and
	  libc/stdio to libc/syslog and fs/syslog.  Also move some syslog logic
	  from fs/driver to fs/syslog (2014-10-8).
	* fs/syslog/fs_syslogmask.c:  Implement syslogmask() (2014-10-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/sys/syscall.h, syscall/syscall.csv, syscall_lookup.h, and
	  syscall_stublookup.c:  Add syslog system calls (2014-10-8).
Gregory Nutt's avatar
Gregory Nutt committed
	* fs/Kconfig, syslog/fs_syslogenable, and include/syslog.h:  Remove
	  non-standard, conditional syslog_enable(), instead only the
	  required, standard setlogmask() (2014-10-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/stm32/chip/stm32_exti.h: Correct STM32 RTC EXTI bit
	  definition.  From Lazlo (2014-10-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/syscall.h, syscall/, and libc/: Remove syslog interfaces
	  from the set of system calls (2014-10-9).
	* libc/syslog: Move syslog back out of the kernel into the C libary
	  (2014-10-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/mips/src/pic32mx/pic32mx-devcfg.h: For PIC32MX7, DEVCFG0 bit
	  2 must be set.  Writing bit 2 as zero can brick the CPU on some
	  versions.  From Cris Kvist (2014-10-9).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/wqueue/, libc/wqueue, and include/nuttx/wqeueue.h:  Separate
	  kernel- and user-mode work queue logic. Decouple work queue data
	  structures.  This is part of the preparation to support multiple
	  low-priority worker threads (2014-10-10).
	* include/nuttx/wqueue.h, libc/wqueue/Make.defs, work_usrthread.c,
	  work_usrstart.c sched/init/os_bringup.c wqueue/kwork_hpthread.c,
	  kwork_lpthread.c, and wqueue.h: Modularize starting of worker
	  threads to better isolate individual initialization characteristics
	  (2014-10-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* arch/arm/src/ stm32_iwdg.c, stm32_wwdg.c, and chip/stm32_dbgmcu.h:
	  Fix watchdog stop bit usage.  From Lazlo (2014-10-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/wqueue/, libc/wqueue, and include/nuttx/wqueue.h:  Add support
	  for multiple low-priority worker threads.  This is a necessary
	  piece of the support for asynchonous I/O (2014-10-10).
Gregory Nutt's avatar
Gregory Nutt committed
	* sched/wqueue/work_inherit.c:  Add logic for priority inheritance with
	  multiple worker threads.  How should this work?  Tentatively, the all
	  get reprioritized together.  It would be best to just reprioritize the
	  single thread doing the high priority work, but we don't know which
	  that will be in advance (2014-10-10).