Skip to content
ChangeLog 467 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-xx-xx 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). 
	* 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 the IP address mapping is in
	  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).
Gregory Nutt's avatar
Gregory Nutt committed
	* include/nuttx/lcd/ili9341.h: \Add a register definition header file
	  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 unconvential typing)
	  (2014-8-22).
	* configs/p112/ostest and tools/mkdeps.c:  Changes to try to get P112 to
	  compile with laster 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).