Commit Graph

34149 Commits

Author SHA1 Message Date
Xiang Xiao
659852acd5 libs/libc/unistd/lib_getopt.c: Add logic to reinitialize the stale context for the FLAT/PROTECTED builds. In these builds getopt() global varriables may be shared by many tasks. If any task exits the getopt() loop before all command line arguments have been parsed, then getopt() global variables will be left in a bad state. The next time getopt() is called, this logic should detect the bad state and force the state of getopt() to be re-initialized so that it can be reused. This logic is not full proof (it would fail, for example, if you tried to parse the same command line twice) but should catch the typical misuse cases. 2019-02-05 10:30:59 -06:00
Gregory Nutt
d05e2da2ce include/nuttx/nx/nxmu.h: This header file coul be lethal; it declared an #error if CONFIG_DISABLE_MQUEUE=y. 2019-02-04 18:45:09 -06:00
Gregory Nutt
193e9af6f6 include/nuttx/nxmu.h: Due the name change, the nxmu_start() belongs more appropriately in nxmu.h than nx.h. 2019-02-04 17:48:30 -06:00
Gregory Nutt
7a2bb1f727 graphics/nxmu/nxmu_start.c: Fix a naming collision introduced with the last commit. Ye olde nx_start that started the NX graphics is now nxmu_start(). 2019-02-04 16:51:48 -06:00
Gregory Nutt
a2e62f557d Squashed commit of the following:
sched/init/nx_bringup.c:  Fix a naming collision.
    sched/init:  Rename os_start() to nx_start()
    sched/init:  Rename os_smp* to nx_smp*
    sched/init:  Rename os_bringup to nx_bringup
    sched/init:  rename all internal static functions to begin with nx_ vs os_
2019-02-04 16:20:35 -06:00
Gregory Nutt
bb623d1e04 This commit renames all internal OS functions defined under sched/task so that they begin with the prefix. For example, nxtask_exit() vs. task_exit().
Squashed commit of the following:

    Trivial, cosmetic
    sched/, arch/, and include:  Rename task_vforkstart() as nxtask_vforkstart()
    sched/, arch/, and include:  Rename task_vforkabort() as nxtask_vforkabort()
    sched/, arch/, and include:  Rename task_vforksetup() as nxtask_vfork_setup()
    sched/:  Rename notify_cancellation() as nxnotify_cancellation()
    sched/:  Rename task_recover() to nxtask_recover()
    sched/task, sched/pthread/, Documentation/:  Rename task_argsetup() and task_terminate() to nxtask_argsetup() and nxtask_terminate(), respectively.
    sched/task:  Rename task_schedsetup() to nxtask_schedsetup()
    sched/ (plus some binfmt/, include/, and arch/):  Rename task_start() and task_starthook() to nxtask_start() and nxtask_starthook().
    arch/ and sched/:  Rename task_exit() and task_exithook() to nxtask_exit() and nxtask_exithook(), respectively.
    sched/task:  Rename all internal, static, functions to begin with the nx prefix.
2019-02-04 13:42:51 -06:00
Gregory Nutt
05b85c8717 Update TODO list. 2019-02-04 11:00:43 -06:00
Gregory Nutt
90e4cf4349 mm/umm_heap: sbrk() is only available in the KERNEL build. 2019-02-04 10:32:31 -06:00
Gregory Nutt
b1001b4e50 Update TODO list regarding non-queuing of signal actions; Add comments in code at areas where the issue applies. 2019-02-04 08:35:03 -06:00
Gregory Nutt
1bbcd1ad96 Update some comments and cosmetic spacing. 2019-02-04 07:24:45 -06:00
Gregory Nutt
c17145e550 Revert "binfmt/libelf/libelf_load.c: Remove the guard(CONFIG_BUILD_KERNEL) for umm_initialize()"
This commit has to be reverted because it causes errors in build testing.

This reverts commit b9c7a9a18f.
2019-02-03 18:08:46 -06:00
Gregory Nutt
a77c073797 arch/: Fix an interlock that was broken by commit 641a98a434 in all implementations of up_sigdeliver. 2019-02-03 17:14:32 -06:00
Gregory Nutt
641a98a434 arch/: The saved return register state is available on the user stack. Thic commit reorders some logic so that certain, critical registers are preserved in the TCB. This does not make the logic 100% secure, but does prevent some obvious things. sched/signal/sig_delivery: Add a flag to the TCB to indicate that we are in a signal handler. Use this flag to assure that a there a never attempts to nest signal handling operations on a thread. This was guaranteed before but when locking of pre-emption during signal delivering was eliminated in a previous commit, there was a remote possibility of an attempt to do nested signal handling. This flag assures that there is only one signal handled at a time. 2019-02-03 15:29:47 -06:00
Gregory Nutt
71e6793702 sched/sched: Rename all internal, static functions from sched_* to nxsched_* to indicate that they are NuttX internal functions. This is only a start. Eventually, need to rename all sched_ functions prototyped in sched/sched/sched.h and in include/nuttx with nxsched_. 2019-02-03 14:18:39 -06:00
Gregory Nutt
1b1be1f327 sched/signal/sig_deliver.c: Restructure nxsig_deliver() so that the signal handler is not called with the pre-emption disabled (or, at least no with pre-emption disabled by nxsig_deliver() itself). 2019-02-03 10:39:41 -06:00
Abdelatif Guettouche
06e27e5547 arch/mips/src/pic32mz: Add support for the PIC32MZ timers (driver, lowerhalf, freerun and oneshot) 2019-02-02 17:42:33 -06:00
Gregory Nutt
d8943be51c arch/arm/src/sam34 and sama5: Port Anthony Merlino's fix of commit ee840c74da to similar Ethernet drivers for parts in other SAM families. 2019-02-02 16:14:43 -06:00
Anthony Merlino
ee840c74da Merged in antmerlino/nuttx/samv7_emac_bna_fix (pull request #824)
arch/arm/src/samv7/sam_emac.c: Fixes rxdesc index logic to handle Buffer Not Available (BNA) condition.

If a SOF is found, but no EOF, don't move past the frame. Instead, keep the index at the SOF buffer until the rest of the data is written.

This fixes a receiver lockup condition where the peripheral and this driver get out of sync with there head pointers. In this case the driver has moved past buffers it owns, without clearing ownership, which results in the peripheral and driver in a deadlock with each other.

Approved-by: GregoryN <gnutt@nuttx.org>
2019-02-02 21:56:20 +00:00
Gregory Nutt
7a0e62e24f arch/arm/src/samv7/sam_emac.c: Fix a compile problem introduced with commit cf1e0f7976. 2019-02-01 16:14:41 -06:00
Gregory Nutt
cf1e0f7976 arch/arm/src/samv7/sam_emac.c: The logic for determining the number of queues for SAMV71 must be extended. All SAMv7 parts increase the number of queues from 3 to 6 at revision B, not just the SAMV71. 2019-02-01 15:42:11 -06:00
Gregory Nutt
40b74d1f1c sched/wqueue/kwork_notifier.c: Fix broken assertion introduced in recent commit. Breaks non-error path. Suggested by Jussi Kivilinna in Butbucket commit comment. 2019-02-01 08:53:18 -06:00
David Sidrane
2f18326c09 arch/arm/src/imxrt/chip/imxrt_gpt.h: Correct register offsets. 2019-01-30 16:40:27 -06:00
Kevin Liu
46895dc86b 1./arch/arm/src/samv7/sam_spi.c DMA Tx/Rx timeout issue.
2./arch/arm/src/samv7/sam_qspi.c   compiling error when set CONFIG_SAMV7_QSPI_DLYBCT
3. fix compiling error when set CONFIG_BOARDCTL_IOCTL/CONFIG_BOARDCTL_UNIQUEID
2019-01-30 10:07:01 -06:00
Gregory Nutt
8dd17362e3 sched/sched/sched_processtimer.c: Should include board if CONFIG_SYSTEMTICK_HOOK=y. 2019-01-30 08:21:09 -06:00
Gregory Nutt
6408857f6d sched/sched/sched_processtimer.c: Add a configurable call out to a user-provided function, 'timer hook', on each timer interrupt. 2019-01-30 07:22:44 -06:00
David Sidrane
d70cb97950 arch/arm/src/imxrt/chip/imxrt_tmr.h: Fix addressing and restructure using common offset 2019-01-29 17:28:51 -06:00
David Sidrane
f7003f8ef2 arch/arm/src/imxrt: Add XBAR Support 2019-01-29 17:24:27 -06:00
Gregory Nutt
2fc9b7acfc Update some comments. 2019-01-29 17:13:54 -06:00
Gregory Nutt
0aca9e4cfb configs/nucleo-144/f767-netnsh/defconfig: Correct one location where CONFIG_NET_HOSTNAME was not changed to CONFIG_LIB_HOSTNAME. 2019-01-29 10:51:03 -06:00
Xiang Xiao
b9c55919b2 fs/littlefs/lfs_vfs.c: Fix typographical errors in the VFS wrapper. 2019-01-29 07:39:25 -06:00
Xiang Xiao
2f49cdb311 include/nuttx/list.h: Fix some typos. 2019-01-29 07:37:22 -06:00
Gregory Nutt
88353226c9 arch/arm/src/lpc17xx/lpc17_allocateheap.c: Fix some errors introduced in my last change. Noted by Pavel Pisa 2019-01-28 15:11:36 -06:00
Gregory Nutt
5a0f514615 drivers/timers/timer.c: Support the signal notification through SIGEV_THREAD 2019-01-28 06:32:27 -06:00
Xiang Xiao
b9c7a9a18f binfmt/libelf/libelf_load.c: Remove the guard(CONFIG_BUILD_KERNEL) for umm_initialize() 2019-01-28 06:19:48 -06:00
Xiang Xiao
39d83375d2 arch/arm/src Serial: Remove duplicated inclusion of nuttx/fs/ioctl.h 2019-01-28 06:16:15 -06:00
Nikolay Semenov
5bbd831222 configs/nucleo-l432kc/src/stm32_appinit.c: Add support for I2C driver initialization. 2019-01-28 06:12:52 -06:00
Gregory Nutt
5bf7890d32 arch/arm/src/lpc17xx/lpc17_allocateheap.c: Correct some confusion in the memory layout introduced in commit 40d666f440. The 'primary ram' may be either the internal SRAM or the external DRAM (in the case where an external bootloader has previously initialized the SDRAM). The primary ram is laid out as: .data, .bss, then the IDLE stack allocation. The global variable g_idlestack is the top of the IDLE stack and also the beginning of memory available for the heap in primary ram. With this change, a range comparison is used to determin if g_idlestack lies in SRAM or SDRAM. If so, then the remainder of the memory is available for HEAP usage. 2019-01-28 06:08:30 -06:00
Pavel Pisa
40d666f440 arch/arm/src/lpc17xx/: The enable of EMC clocks has to be preserved when already enabled by loader. EMC and related pins configuration has to be skipped if the system is run from SDRAM. A region of SDRAM which is used by system must not be used for heap. 2019-01-27 17:45:19 -06:00
Pavel Pisa
f43560c080 arch/arm/src/lpc17xx/lpc176x_clockconfig.c: The code preserves undocumented reserved bits only if board does not set them to keep previous behavior for boards where developers (hopefully) know what values should be set into these bits. 2019-01-27 17:30:01 -06:00
Gregory Nutt
78c8485b0d Fix some warnings found in build testing. 2019-01-27 17:23:01 -06:00
Gregory Nutt
732bef73a7 include/net/if.h: Fix some macro definitions overlooked in commit d105dc9b5e. Also corrects the name of a structure: mii_ioctl_notify_s vs mii_iotcl_notify_s. 2019-01-27 16:43:42 -06:00
Gregory Nutt
4b9abfa3c2 Every file that uses serial IOCTLs (TIOC*) must explicity include nuttx/fs/ioctl.h. This was included previously via sneak path in the now deleted arch/serial.h. 2019-01-27 13:41:44 -06:00
Gregory Nutt
2992660420 arch/arm/src/imxrt: Fix another newly introduced compilarsion error due to missing inclusion of nuttx/fs/ioctl.h. I think this is a side-effect of removing arch/serial.h which probably provided a sneak inclusion path for nuttx/fs/ioctl.h. We will just have to fix them one at a time as they pop-up in build testing. 2019-01-27 13:25:58 -06:00
Gregory Nutt
5b400cdf20 arch/arm/src: Fix newly introduced compilarsion errors in two more serial drivers: lpc17xx and lc8223450. Not sure why this are not occuring, but including nuttx/fs/ioctl.h. 2019-01-27 13:21:44 -06:00
Gregory Nutt
e4336bd1be arch/arm/src/am335x/am335x_serial.c: Eliminate an error 'TIOCSBRK undeclared. 2019-01-27 12:49:42 -06:00
Xiang Xiao
af5e479fb5 fs/littlefs: VFS wrapper improvement: (1) Support block device interface, (2) support ioctl, stat and sync file operation, (3) support forceformat and autoformat option, (4) update file->f_pos and dir->fd_position, (5)remote the internal struct from dir, and (6) emove mtd byte read/write requirement. 2019-01-27 12:31:28 -06:00
Xiang Xiao
c511ff7ea2 fs/littlefs: Fix a minor issue found in code review: (1) Replace printf to finfo/fwarn/ferr, (2) Replace malloc/free to kmm_malloc/kmm_free, (3) define LFS_NAME_MAX to NAME_MAX, (4) Check the big endian using CONFIG_ENDIAN_BIG. 2019-01-27 12:16:02 -06:00
Xiang Xiao
bdbc91be98 drivers/syslog/ramlog.c: Fix error: Conflicting types for 'ramlog_addchar' 2019-01-27 12:12:19 -06:00
ligd
6ba29a93b6 fs/hostfs/hostfs.c: Remove the unnecessary use of host_stat() in hostfs_bind() 2019-01-27 12:10:19 -06:00
Xiang Xiao
5708a1ac73 fs/mount and fs/romfs: Add support to mount a ROMFS volume using an MTD driver interface using the standard mount() operation. 2019-01-27 12:07:37 -06:00