Gregory Nutt
3dca5eba15
Completes the Implementation of the TLS-based errno
...
- Remove per-thread errno from the TCB structure (pterrno)
- Remove get_errno() and set_errno() as functions. The macros are still available as stubs and will be needed in the future if we need to access the errno from a different address environment (KERNEL mode).
- Add errno value to the tls_info_s structure definitions
- Move sched/errno to libs/libc/errno. Replace old TCB access to the errno with TLS access to the errno.
2020-05-07 23:11:34 +01:00
Gregory Nutt
c2244a2382
Remove CONFIG_TLS
...
A first step in implementing the user-space error is force TLS to be enabled at all times. It is no longer optional
2020-05-07 12:04:16 -06:00
Ouss4
a4dd967440
arch/: Implement up_tls_info() for the rest of the architectures.
2020-05-06 21:56:40 -06:00
Ouss4
1e3ec6ecd0
arch/: Implement Thread Local Storage for the rest of the architectures.
...
The change consisted on modifying *_usestack.c and *_createstack.c
2020-05-06 21:56:40 -06:00
Xiang Xiao
3e00d182d2
Fix nxstyle issue
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-06 20:53:11 -06:00
Xiang Xiao
94bb2e05bb
syslog: Code outside libc shouldn't call nx_vsyslog directly
...
since nx_vsyslog is the implementation detail
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-06 20:53:11 -06:00
Masayuki Ishikawa
11bbe3997e
arch: x86: Add hlt instruction to save power in qemu_idle.c
2020-05-04 07:13:30 -06:00
Xiang Xiao
f8a809eb5b
Fix nxstyle issue
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-01 10:43:47 -03:00
Xiang Xiao
eca7059785
Refine __KERNEL__ and CONFIG_BUILD_xxx usage in the code base
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-01 10:43:47 -03:00
Nakamura, Yuuichi
00049aa482
Fix saved %esp value in up_saveusercontext() for qemu-i486
2020-04-18 19:33:39 +08:00
liuhaitao
459ad99373
Use EXTRAFLAGS instead of EXTRADEFINES to be used by make via command line
...
So call 'make EXTRAFLAGS=-Wno-cpp' could suppress the warnings with pre-processor
directive #warning in GCC.
Change-Id: Iaa618238924c9969bf91db22117b39e6d2fc9bb6
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-04-11 08:31:08 -06:00
ligd
231ad202ee
global change: repace sched_xfree() to kxmm_free()
...
Changes:
sched_xfree() => kxmm_free()
remove garbage related APIs
remove ARCH_HAVE_GARBAGE
Cause garbage feature move to mm_heap, then don't need
garbage anymore.
Change-Id: If310790a3208155ca8ab319e8d038cb6ff92c518
Signed-off-by: ligd <liguiding@fishsemi.com>
2020-04-09 10:29:28 -06:00
Nathan Hartman
679b4fbee2
arch: Fix included directed -> included directly
...
This typo had been copied and pasted into numerous irq and syscall
headers.
2020-04-05 22:31:15 +01:00
YAMAMOTO Takashi
1ffa009c8b
Revert "Don't generate .depend anymore"
...
This reverts commit 79af7fbf4e
.
Because:
* btashton reported some issues in local builds:
https://github.com/apache/incubator-nuttx/pull/603#issuecomment-602264860
* this might be related to the current CI breakage:
> /bin/sh: 1: /__w/incubator-nuttx/incubator-nuttx/nuttx/tools/mkdeps: not found
2020-03-22 23:07:29 -05:00
Xiang Xiao
79af7fbf4e
Don't generate .depend anymore
2020-03-22 18:15:29 +00:00
Nathan Hartman
a5e643b0cd
Fix typos in comments and documentation.
2020-03-16 20:01:11 -06:00
Xiang Xiao
cde88cabcc
Run codespell -w with the latest dictonary again
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-02-23 22:27:46 +01:00
liuhaitao
b4cf5f5dab
arch: refine up_serialinit/up_earlyserialinit/rpmsg_serialinit
2020-02-23 09:11:57 -06:00
liuhaitao
8ca4ca5ae8
arch: undef USE_SERIALDRIVER if CONFIG_CONSOLE_SYSLOG
...
An error was introduced from:
commit f982ee43db
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date: Tue Feb 18 09:55:04 2020 +0800
drivers/serial: Remove the lowconsole driver
Replace with the syslog console driver which has more capability than lowconsole
2020-02-23 09:10:06 -06:00
Xiang Xiao
bd4e8e19d3
Run codespell -w against all files
...
and fix the wrong correction
2020-02-22 14:45:07 -06:00
Xiang Xiao
51a2171c71
ramlog: Remove g_ramlog_syslog_channel since it's same as g_default_channel
...
And remove syslog_init_e because all initialization is later now and we don't
distinguish the initialition phase anymore after ramlog don't need special
initialize.
2020-02-18 13:04:45 -06:00
Xiang Xiao
dcaaf2d912
ramlog: Remove all ramlog_consoleinit related code
...
Because we can get the same function by CONSOLE_SYSLOG/syslog_console_init.
BTW, it isn't a good choice to use g_ramlogfops as /dev/console since nsh
will read back what it send out which will surprise most people.
2020-02-18 12:57:43 -06:00
Xiang Xiao
f982ee43db
drivers/serial: Remove the lowconsole driver
...
Replace with the syslog console driver which has more capability than lowconsole
2020-02-18 12:51:09 -06:00
Xiang Xiao
6b77f73583
arch: Move iob_initialize into nx_start just after heap initialization
...
it doesn't make sense that iob initialization is in up_initialize
but other memory components initialization is called in nx_start
Change-Id: Id43aeaa995f340c5943f59a0067a483ff3ac34a2
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-02-18 10:26:19 -03:00
Xiang Xiao
e7d9260014
arch: Customize the typedef of size_t instead of intptr_t
...
To ensure size_t same as toolchain definition in the first place and rename CXX_NEWLONG to ARCH_SIZET_LONG. The change also check whether __SIZE_TYPE__ exist before CONFIG_ARCH_SIZET_LONG so our definition can align with toolchain(gcc/clang) definition automatically.
2020-02-18 07:15:19 -06:00
Juha Niskanen
15b78abccf
Fix typos in comments
2020-02-14 08:50:45 -06:00
Xiang Xiao
6d69439f58
Call xxx_timer_initialize from clock subsystem
...
Call xxx_timer_initialize from clock subsystem to make timer ready for use as soon as possiblei and revert the workaround:
commit 0863e771a9
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Apr 26 07:24:57 2019 -0600
Revert "sched/clock/clock_initialize.c: clock_inittime() needs to be done with CONFIG_SCHED_TICKLESS and clock_initialize should skip clock_inittime() for external RTC case since the RTC isn't ready yet."
This reverts commit 2bc709d4b9
.
Commit 2bc709d4b9
was intended to handle the case where up_timer_gettime may not start from zero case. However, this change has the side-effect of breaking every implementation of tickless mode: After this change the tickless timer structures are used before they are initialized in clock_inittime(). Initialization happens later when up_initialize is called() when arm_timer_initialize().
Since the tickless mode timer is very special, one solution might be to
1. Rename xxx_timer_initialize to up_timer_initialize
2 Move up_timer_initialize to include/nuttx/arch.h
3. Call it from clock subsystem instead up_initialize
Basically, this change make timer initialization almost same as rtc initialization(up_rtc_initialize).
For now, however, we just need to revert the change.
2020-02-08 07:40:06 -06:00
Xiang Xiao
76bbed07a4
Call up_irqinitialize from irq subsystem
...
Call up_irqinitialize from irq subsystem to make the irq ready for use as soon as possible
2020-02-08 07:39:22 -06:00
Xiang Xiao
c5b1554d84
Remove NETDEV_LOOPBACK option, NET_LOOPBACK is enough
2020-02-02 08:25:06 -06:00
Xiang Xiao
5c80b94820
Replace #include <semaphore.h> to #include <nuttx/semaphore.h>
...
Since the kernel side should call nxsem_xxx instead and remove the unused inclusion
2020-02-01 08:27:30 -06:00
Xiang Xiao
80277d1630
Refine the preprocessor conditional guard style ( #190 )
2020-01-31 19:07:39 +01:00
Xiang Xiao
68951e8d72
Remove exra whitespace from files ( #189 )
...
* Remove multiple newlines at the end of files
* Remove the whitespace from the end of lines
2020-01-31 09:24:49 -06:00
Xiang Xiao
6a3c2aded6
Fix wait loop and void cast ( #24 )
...
* Simplify EINTR/ECANCEL error handling
1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx
* Unify the void cast usage
1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
Xiang Xiao
800e12fc42
arch/: Add rpmsg_serialini() call to every implementation of up_initialize() for rpmsg uart initialization.
2019-11-04 08:11:50 -06:00
Juha Niskanen
e8b5dd4528
Fix use of undefined pp-token #errror, other typos.
2019-09-19 18:19:18 -06:00
Gregory Nutt
240926c995
Beginning to update comments to reflect new organization of the boards/ sub-directory.
2019-08-08 08:46:54 -06:00
Gregory Nutt
615c0ea7ee
Change naming configs/ to boards in comments, Documentation, etc. Still a few more to go.
2019-08-05 07:13:48 -06:00
Nathan Hartman
68d43d3679
Fix typos.
2019-08-04 14:50:28 -06:00
jjlange
e5dfd805e6
Merged in jjlange/nuttx/lpc40xx (pull request #946 )
...
Add support for LPC40xx family chips
* Corrected a few peripheral definitions and pin functions for the LPC17xx family.
Added configuration options, chip definitions, and additional pin functions for the LPC40xx family.
Added board configurations for Embedded Artists LPC4088 Quickstart board and LPC4088 Developer's kit. These configurations are still something of a work in progress. In particular, the LCD functionality is untested.
* First pass rename in *.c and *.h files.
* Renamed LPC17XX to LPC17XX_40XX in config files
* Rplaced LPC17xx with LPC17xx/LPC40xx in .c files
* Replaced LPC17xx with LPC17xx/LPC40xx in .h files
* Updated some documentation
* Working on moving directories
* moved arch/arm/src/lpc17xx and arch/arm/include/lpc17xx to lpc17xx_40xx
* Renamed LPC17_* constants / configuration options to LPC17_40_*
* Updated chip family name defines
* Renamed some chip-specific files
* Updated references to renamed files
* Updated references to lpc17_ to lpc17_40_
* Renamed source files from lpc17_* to lpc17_40_*
* Clean up white space
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-11 16:50:00 +00:00
Gregory Nutt
abf6965c24
Squashed commit of the following:
...
libs/: Remove references to CONFIG_DISABLE_SIGNALS. Signals can no longer be disabled.
syscall/: Remove references to CONFIG_DISABLE_SIGNALS. Signals can no longer be disabled.
wireless/: Remove references to CONFIG_DISABLE_SIGNALS. Signals can no longer be disabled.
Documentation/: Remove references to CONFIG_DISABLE_SIGNALS. Signals can no longer be disabled.
include/: Remove references to CONFIG_DISABLE_SIGNALS. Signals can no longer be disabled.
drivers/: Remove references to CONFIG_DISABLE_SIGNALS. Signals can no longer be disabled.
sched/: Remove references to CONFIG_DISABLE_SIGNALS. Signals can no longer be disabled.
configs: Remove references to CONFIG_DISABLE_SIGNALS. Signals can no longer be disabled.
arch/xtensa: Remove references to CONFIG_DISABLE_SIGNALS. Signals can no longer be disabled.
arch/z80: Remove references to CONFIG_DISABLE_SIGNALS. Signals can no longer be disabled.
arch/x86: Remove references to CONFIG_DISABLE_SIGNALS. Signals can no longer be disabled.
arch/renesas and arch/risc-v: Remove references to CONFIG_DISABLE_SIGNALS. Signals can no longer be disabled.
arch/or1k: Remove all references to CONFIG_DISABLE_SIGNALS. Signals are always enabled.
arch/misoc: Remove all references to CONFIG_DISABLE_SIGNALS. Signals are always enabled.
arch/mips: Remove all references to CONFIG_DISABLE_SIGNALS. Signals are always enabled.
arch/avr: Remove all references to CONFIG_DISABLE_SIGNALS. Signals are always enabled.
arch/arm: Remove all references to CONFIG_DISABLE_SIGNALS. Signals are always enabled.
2019-04-29 14:52:05 -06:00
Gregory Nutt
b290160b3b
Rename sched_process_timer to nxsched_process_timer. That is the appropriate name for an internal sched/ function (still many named incorrectly).
2019-03-20 19:27:40 -06:00
Gregory Nutt
a64869aa67
CONFIG_NFILE_DESCRIPTORS=0 can no longer be used to disable the file system. NuttX with no file system does not make sense.
...
Squashed commit of the following:
configs/: The few configurations that formerly set CONFIG_NFILE_DESCRIPTORS=0 should not default, rather they should set the number of descriptors to 3.
fs/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
tools/: Tools updates for changes to usage of CONFIG_NFILE_DESCRIPTORS.
syscall/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
libs/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
include/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
drivers/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
Documentation/: Remove all references to CONFIG_NFILE_DESCRIPTORS == 0
binfmt/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
arch/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
net/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
sched/: Remove all conditional logic based on CONFIG_NFILE_DESCRIPTORS == 0
sched/Kconfig: CONFIG_NFILE_DESCRIPTORS may no longer to set to a value less than 3
configs/: Remove all settings for CONFIG_NFILE_DESCRIPTORS < 3
2019-02-11 12:09:26 -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
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
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
Xiang Xiao
763ba51b78
arch/xxx/src/xxx/up_assert.c: Dump CPU0 IDLE stack only when PID equals 0. IDLE threads of other CPUs do not need this special check
2019-01-26 10:59:23 -06:00
ligd
5a6108c172
arch/xxx/src/common/up_initialize.c: Move up_pminitialize() after timer_initialize()
2019-01-26 07:32:14 -06:00
Gregory Nutt
db24306435
arch/assertion logic: Fix additional places where the test for an IDLE task is incorrect. It is not invalid in all configurations to check for PID==0. However, the logic fixed in these places lackes sufficient intelligence to find the right stack for the CPU IDLE thread and could still show the wrong stack.
2018-12-18 17:45:46 -06:00
Gregory Nutt
ec9265aa95
arch assertions: Correct duplicated logic from commit dbf01d12b7
. Checking for PID == zero is not a valid way to test for the IDLE task in all configurations! This is only true in the single CPU configuration. In multiple CPU configurations, there will be a separate IDLE task for each CPU with a different PID.
2018-12-18 17:35:42 -06:00
Gregory Nutt
0af39e1493
arch/: Update all _exit() implementations for all architectures so that they correctly called the scheduler instumentation layer for the new task that runs when the old one exits. This missing instrumentation was confusing the Critical Section Monitor logic with uses this instrumentation to track the state of critical sections.
2018-11-24 18:20:57 -06:00
Gregory Nutt
7a45fc6f1c
arch/arm/src/max326xx: Add framework for MAX326XX standard DMA support.
2018-11-20 08:09:03 -06:00
Xiang Xiao
dbf01d12b7
Assertions: Identify the running task correctly when dumping task state information. It takes time to switch to the target task after g_readytorun has been modified. If panic/assert happen during this period, the dump will contain the incorrect and confusing information due to the difference between the real running task and the return value of this_task(). This change resolve this problem by adding g_running_task to track the real running task through the context switch.
2018-11-15 07:11:51 -06:00
Xiang Xiao
543f4ed8ec
arch/ all assertion functions: up_assert move the register dump to first make the more important info first
2018-11-11 12:53:59 -06:00
Xiang Xiao
dfe788be25
arch/ all assertion functinos: up_stackdump dump the full stack if stack overflow the stack info is very useful to find the backtrace
2018-11-11 12:52:36 -06:00
Xiang Xiao
e4106a3744
arch/ assertions files: up_registerdump capture the general register if not yet saved and up_saveusercontext is implemented, the register dump is very useful to find the cause of failure.
2018-11-11 12:50:50 -06:00
Gregory Nutt
2b3ec4172d
arch/: Add 'BOARD_ASSERT_RESET_VALUE' in config/Kconfig and replace reboot status '0' to 'CONFIG_BOARD_ASSERT_RESET_VALUE'.
2018-11-10 14:06:46 -06:00
Gregory Nutt
511c90d050
arch/x86/src/qemu/qemu_head.S: Correct .bss, IDLE stack, heap organization.
2018-10-26 15:48:22 -06:00
Daniel P. Carvalho
578114a74f
configs/nucleo-l432kc: Added support for AT45DB Serial Flash
2018-10-25 16:12:59 -06:00
dongjianli
19e16cb1ba
up_internal.h: Define out the prototype for up_netinitialize() if CONFIG_NETDEV_LATEINIT is also defined
2018-08-24 14:50:45 -06:00
Xiang Xiao
e1202d2ed3
Replace all ASSERT with DEBUGASSERT to save the code space
2018-08-24 06:58:30 -06:00
Xiang Xiao
467d2a58ea
Replace non critical PANIC with DEBUGPANIC to save the code space
2018-08-24 06:21:15 -06:00
xuanlin
2c93467436
pthreads: Add support static pthread stack. Add standard pthread_attr_setstack() and pthread_attr_getstack(). In all cases where the stack is released, add check to see which allocator must be used to free the stack: The user or the kernel allocator.
2018-08-23 09:49:20 -06:00
Xiang Xiao
a465b6f0d4
configs/: Change CONFIG_BOARD_RESET_ON_CRASH to CONFIG_BOARD_RESET_ON_ASSERT, arch/: Implement call to board_reset() if in all implementations of up_assert() when CONFIG_BOARD_RESET_ON_ASSERT=y.
2018-08-22 17:04:39 -06:00
Gregory Nutt
cba0ddad0e
arch/: Most some common debug configuration settings out of header files and into Kconfig files where they belong.
2018-08-19 14:55:49 -06:00
Gregory Nutt
c790450ba2
Remove CONFIG_ARCH_CALIBRATION. It is awkward to use and no longer necessary now that we have apps/examples/calib_udelay.
2018-08-19 10:06:36 -06:00
Gregory Nutt
a94e3284b3
syslog: Enable is partial, crippled version of syslog_flush(); arch/: Call syslog_flush() from assertion handling logic.
2018-06-07 16:29:16 -06:00
Gregory Nutt
977d41d519
Based on a change recommended by Mark Shulte:
...
Signal handlers maybe run with interrupts enabled or disabled, depending on how the task the received the signal was blocked. (i.e.: If sem_wait() is called, then we disable interrupts, then block the currently running task). This could be dangerous, because user code would be running with interrupts disabled.
This change forces interrupts to be enabled in up_sigdeliver() before executing the signal handler calling up_irq_enable() explicitly. This is safe because, when we return to normal execution, interrupts will be restored to their previous state when the signal handler returns.
2018-06-06 09:54:30 -06:00
Gregory Nutt
f2a89813f2
Build system: Remove fixed lib/ subdirectory and its content. Replace with new directory called staging/ that is created dynamically when building and removed when 'make clean' is done. This both improves the name and eliminates a garbage directory from the repository.
2018-05-29 11:36:21 -06:00
Gregory Nutt
de6b13b3ab
Per OpenGroup.org, syslog -- and, hence, nonstandard vsyslog, and debug wrappers -- does not return a value. Rename _vsyslog to nx_vsyslog. Use internal nx_vsyslog in the few cases where a return value is required.
2018-03-04 08:07:07 -06:00
Gregory Nutt
b4f2b0dfc6
Remove all usage of printf() from the OS. That is not an acceptable context for the use of an application-oriented interface that depends on a task-specific file descriptor and C buffered I/O.
2018-03-03 15:20:21 -06:00
Gregory Nutt
2683f713ab
Make sure that labeling is used consistently in all function headers (part 3).
2018-02-01 12:17:03 -06:00
Gregory Nutt
7cf88d7dbd
Make sure that labeling is used consistently in all function headers.
2018-02-01 10:00:02 -06:00
Gregory Nutt
2043e1a114
IOBs: Move from driver/iob to a better location in mm/iob
2017-05-09 07:35:30 -06:00
Gregory Nutt
87a4181ba3
cosmetic changes
2017-04-29 09:30:17 -06:00
Gregory Nutt
b6b16bf4da
Fix forward references that were mangled in last large changes.
2017-04-29 06:59:35 -06:00
Sebastien Lorquet
c70d797229
misc archs
2017-04-28 18:24:06 +02:00
Gregory Nutt
a55e937643
Correct mispelling
2017-04-22 17:03:34 -06:00
Gregory Nutt
bfb93338f6
Move net/iob to drivers/iob so that the I/O buffering feature can be available to other drivers when networking is disabled.
2017-04-20 16:08:49 -06:00
Mark Schulte
b3222bbc8a
irq_dispatch: Add argument pointer to irq_dispatch
...
Provide a user defined callback context for irq's, such that when
registering a callback users can provide a pointer that will get
passed back when the isr is called.
2017-02-27 06:27:56 -06:00
Gregory Nutt
1d290c2b37
setvbuf: Add support for disabling I/O buffering. Initially cut; untested.
2017-02-09 09:24:44 -06:00
Gregory Nutt
62a1f6f110
up_timer_initialize() is named incorrectly. The prefix should be the architecture name, not up_ since it is private to the architecture. up_timerisr() is similarly misnamed and should also be private since it is used only with the xyz_timerisr.c files. Also updat TODO list.
2017-02-07 10:35:04 -06:00
Gregory Nutt
b656e371d3
ELF: Move sim and x86 ARM versions of ELF relocation logic to libc/machine
2017-01-21 15:40:51 -06:00
Gregory Nutt
3ed091376c
In all implementations of _exit(), use enter_critical_section() vs. disabling local interrupts.
2017-01-13 11:08:24 -06:00
Aleksandr Vyhovanec
bf528f2071
packed_struct replaced by begin_packed_struct and end_packed_struct
2017-01-09 14:17:49 +03:00
Paul A. Patience
912fe06a86
Add architecture-specific inttypes.h
2016-10-27 16:01:38 -04:00
Gregory Nutt
d41008e220
Update some header commments
2016-08-06 18:16:31 -06:00
Gregory Nutt
e897ccb940
Rename x86 QEMU version of CONFIG_GPIO_IRQ to CONFIG_QEMU_GPIOIRQ
2016-07-22 14:54:00 -06:00
Gregory Nutt
4b4dbc79a2
Move driver related prototypes out of include/nuttx/fs/fs.h and into new include/drivers/drivers.h
2016-07-20 13:15:37 -06:00
Gregory Nutt
d5388eca05
devrandom_register() must be called before devurandom_register()
2016-07-18 11:24:04 -06:00
Gregory Nutt
1660329d06
Rename up_rnginitialize to devrandom_register
2016-07-18 10:55:37 -06:00
David Alessio
6cefbc0c3f
This change provides an option to add /dev/urandom to all architectures. The pseudo-random algorithm I choose strikes an arguably-good balance between being "random" and small/fast enough for 8/16 bit MCUs. It’s the well-documented xorshift128 algorithm. It has an internal state of 128 bits that can be [re-]seeded with a write.
2016-07-17 06:42:26 -06:00
Gregory Nutt
873f1f6da5
Merged in HeathPetersen/nuttx (pull request #102 )
...
EXEEXT only needs to be appended once
2016-07-15 17:11:22 -06:00
Heath Petersen
c57672aeab
EXEEXT only needs to be appended once
2016-07-15 17:50:00 -05:00
Gregory Nutt
7b298a828d
up_pminitialize() needs to be called from instances of up_initialize()
2016-07-15 13:11:28 -06:00
Gregory Nutt
d3b3c71d97
All architectures: Add logic to automatically register /dev/ptmx a boot time
2016-07-15 11:54:41 -06:00
Gregory Nutt
5118264e6c
Rename CONFIG_SYSLOG_CONSOLE to CONFIG_CONSOLE_SYSLOG
2016-06-21 09:35:51 -06:00
Gregory Nutt
62d8f839c7
SYSLOG: Now a two phase initialization. Some SYSLOG channels cannot be initialized until later in the bringup
2016-06-21 07:52:24 -06:00
Gregory Nutt
7f16548f57
Replaces last three commits. Does the same thing, but does it in a way that does not change the usage model.
2016-06-21 05:26:08 -06:00
Gregory Nutt
c05da80a27
Eliminate a warning
2016-06-20 22:54:58 -06:00
Gregory Nutt
505ca542e8
Remove some last traces of lowvsyslog that were missed; Add a SYSLOG emergency channel for handling assertion output more cleanly
2016-06-20 16:11:50 -06:00
Gregory Nutt
43eb04bb8f
Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info().
2016-06-20 11:59:15 -06:00
Gregory Nutt
d40a473f72
Without lowsyslog() *llwarn() is not useful. Eliminate and replace with *warn().
2016-06-20 09:37:08 -06:00
Gregory Nutt
5b2aa7bf99
Remove all traces of CONFIG_SYSLOG
2016-06-19 13:59:43 -06:00
Gregory Nutt
0f18f3bd15
Move RAMLOG initialize from up_initialilize.c files to syslog_initialize(). up_initialize.c files now call syslog_initialize() unconditionally
2016-06-19 09:39:21 -06:00
Gregory Nutt
ac18dc27ca
Common/Calypso/C5471: Convert *err() to either *info() or add ERROR:, depending on if an error is reported
2016-06-17 15:22:48 -06:00
Gregory Nutt
b39e53391d
Add underscore at beginning of alert() as well
2016-06-16 12:38:05 -06:00
Gregory Nutt
0c8c7fecf0
Add _ to the beginning of all debug macros to avoid name collisions
2016-06-16 12:33:32 -06:00
Gregory Nutt
a97d3ae707
Centralize definitions associated with CONFIG_DEBUG_GPIO
2016-06-15 09:20:23 -06:00
Gregory Nutt
01ee8ccc6c
arch/x86/: Change some *err() message to *info() messages if what was a *dbg() message does not indicate and error condition.
2016-06-14 09:16:34 -06:00
Gregory Nutt
a98bc05f65
New debug macro: alert(). This is high priority, unconditional output and is used to simplify and stanardize crash error reporting.
2016-06-14 09:07:53 -06:00
Gregory Nutt
0f249016a0
Eliminate some warnings
2016-06-13 14:01:32 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2
Rename *lldbg to *llerr
2016-06-11 14:55:27 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
3a74a438d9
Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO
2016-06-11 11:50:18 -06:00
Gregory Nutt
fb484a581f
All GCC final arch/*/src/Makefiles: Allow --start-group and --end-group to be redefined for the case where GCC is used to link (instead of LD). Suggested by Paul Alexander Patience.
2016-05-17 10:43:15 -06:00
Gregory Nutt
99e695398c
Rename up_boot to arm_boot
2016-05-12 13:42:49 -06:00
Gregory Nutt
aa64214877
FB: Add a display number to the framebuffer planeinfo structure
2016-04-17 10:08:27 -06:00
Gregory Nutt
48106e605a
Merge in arch/ submodule
2016-04-10 07:49:41 -06:00
Gregory Nutt
bd846c2e72
All architectures: Register the schedule note driver if enabled
2016-03-17 17:00:59 -06:00
Gregory Nutt
4d4f54a789
Rename current_regs to g_current_regs; For ARM, g_current_regs needs to be an array to support multiple CPUs
2016-03-09 13:41:48 -06:00
Gregory Nutt
9c63736c98
Standard some naming if code sectino comments
2016-02-21 18:06:09 -06:00
Gregory Nutt
666cc280f4
Rename irqenable() to up_irq_enable(); rename irqdisable() to up_irq_disable()
2016-02-14 16:54:09 -06:00
Gregory Nutt
83bc1c97c3
Rename irqsave() and irqrestore() to up_irq_save() and up_irq_restore()
2016-02-14 16:11:25 -06:00
Gregory Nutt
70e502adb0
Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-13 19:11:09 -06:00
Gregory Nutt
b0bcd82ba7
x86: Replace explict references to g_readytorun with indirect references via the this_task() macro
2016-02-06 17:10:44 -06:00
Gregory Nutt
7a13837fdd
Remove the final vestiges of up_spiinitialize()
2016-01-27 09:26:14 -06:00
Gregory Nutt
71c289ce4f
Rename all architecture files of form xyz_internal.h to just xyz.h
2015-12-29 18:07:11 -06:00
Gregory Nutt
927b1dcc1f
Initialize the telnet factory as part of the common architecture intialization
2015-12-07 11:40:29 -06:00
Gregory Nutt
2afd4595e4
Re-think how __KERNEL__ option is set in architecture Makefiles. Should be passed in EXTRADEFINES
2015-11-26 06:59:35 -06:00
Gregory Nutt
4aa3dcb51a
__KERNEL__ should be defined when compiler architecture specific logic
2015-11-25 18:05:36 -06:00
Gregory Nutt
14d7ede265
All instances of up_initialize() should call loop_register() is CONFIG_DEV_LOOP=y
2015-11-25 17:10:41 -06:00
Gregory Nutt
79df561669
Rename board_led_off to board_autoled_off
2015-11-01 09:09:36 -06:00
Gregory Nutt
b28e32e3d3
Rename board_led_on to board_autoled_on
2015-11-01 09:07:06 -06:00
Gregory Nutt
7a63e976ad
Remove TABs
2015-10-04 16:00:42 -06:00
Gregory Nutt
6fc6d17760
Fix some spacing problems
2015-10-04 14:59:08 -06:00
Gregory Nutt
cae0c9a2e3
Standardize the width of all comment boxes in header files
2015-10-02 17:47:23 -06:00
Gregory Nutt
36726b1bc4
Standardize the width of all comment boxes in header files
2015-10-02 17:42:29 -06:00
Gregory Nutt
26347891ac
Apply same fix for ARMv7-M to other architectures
2015-09-30 11:21:04 -06:00
Gregory Nutt
26eada3446
In all up_initialize() functions, automatically initialize TUN driver is so configureded
2015-09-06 09:35:29 -06:00
Gregory Nutt
975d912b40
Cosmetic: Move # of pre-processior command to column 1
2015-09-05 09:07:37 -06:00
Gregory Nutt
01cfe8c315
Networking: Move where the local loopback device is initialized from board_app_intiialize() to up_intiialize() so that it will happen automatically
2015-08-24 14:25:49 -06:00
Gregory Nutt
0843af5367
Fixes that call sched_resume_scheduler and sched_suspend_scheduler must include nuttx/sched.h
2015-07-29 16:51:26 -06:00
Gregory Nutt
eddf8161a5
Add scheduler resume/suspend calls to all implementations of up_release_pending()
2015-07-26 10:13:29 -06:00
Gregory Nutt
37969b8279
Add scheduler resume/suspend calls to all implementations of up_reprioritize_rtr()
2015-07-26 09:46:28 -06:00
Gregory Nutt
838c5355eb
Correct resume scheduler hooks and add suspend scheduler hooks to all implementations of up_unblock_task
2015-07-26 09:07:47 -06:00
Gregory Nutt
a92c0a10ab
Add scheduler resume/suspend calls in all implementations of up_block_task()
2015-07-26 08:31:23 -06:00
Gregory Nutt
9d98177daa
Add logic to reset the replenish the sporadic scheduler when a task is resumed
2015-07-24 09:54:28 -06:00
Gregory Nutt
e9a3cc3457
Remove the arch/ subdirectory; replace it with a submodule
2015-07-22 10:56:22 -06:00
Gregory Nutt
8e4f3bddb6
Add CONFIG_NETDEV_LATEINIT that can be used to suppress calls to up_netinitialize() from early initialization
2015-07-17 07:20:16 -06:00
Gregory Nutt
652371c919
Add CONFIG_NETDEV_LATEINIT that can be used to suppress calls to up_netinitialize() from early initialization
2015-07-17 07:20:16 -06:00
Gregory Nutt
fb926e7283
Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation
2015-06-28 08:08:57 -06:00
Gregory Nutt
342f5fe33d
Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation
2015-06-28 08:08:57 -06:00
Gregory Nutt
29136e51cc
Clean up and review of header files for conformance to standards
2015-06-12 19:26:01 -06:00
Gregory Nutt
b578c98fa9
Clean up and review of header files for conformance to standards
2015-06-12 19:26:01 -06:00
Gregory Nutt
c07a9632cc
Clean up and review of header files for conformance to standards
2015-06-12 19:17:42 -06:00
Gregory Nutt
c5b15d0b31
Clean up and review of header files for conformance to standards
2015-06-12 19:17:42 -06:00
Gregory Nutt
7bd3d5eaf1
Clean up and review of header files for conformance to standards
2015-06-12 19:00:52 -06:00
Gregory Nutt
be0fb09250
Clean up and review of header files for conformance to standards
2015-06-12 19:00:52 -06:00
Gregory Nutt
ae15c6963c
Make some file section headers more consistent with standard
2015-04-08 08:04:12 -06:00
Gregory Nutt
16814e2b00
Make some file section headers more consistent with standard
2015-04-08 08:04:12 -06:00
Gregory Nutt
a5043d5e60
Add support for dumping board-specific information on assertion. From David Sidrane
2015-03-04 07:00:29 -06:00
Gregory Nutt
76007d28f5
Add support for dumping board-specific information on assertion. From David Sidrane
2015-03-04 07:00:29 -06:00
Gregory Nutt
c29995fd85
Rename all use of up_boardinitialize(). Should not use common microprocessing naming convention but rather the microprocessor-specific naming conventioni
2015-02-28 07:14:37 -06:00
Gregory Nutt
503d2915c6
Rename all use of up_boardinitialize(). Should not use common microprocessing naming convention but rather the microprocessor-specific naming conventioni
2015-02-28 07:14:37 -06:00
Gregory Nutt
429863f348
arch/: board function prototypes are now in include/nuttx/board.h. Remove from architecture header file; Add inclusion of nuttx/board.h to all files referencing board functions
2015-02-27 17:19:38 -06:00
Gregory Nutt
beaf976626
arch/: board function prototypes are now in include/nuttx/board.h. Remove from architecture header file; Add inclusion of nuttx/board.h to all files referencing board functions
2015-02-27 17:19:38 -06:00
Gregory Nutt
f0d318c124
Big, very risky change: Remove all occurrences of up_maskack_irq() that disable and enable interrupts with up_ack_irq() that only acknowledges the interrupts. This is only used in interrupt decoding logic. Also remove the logic that unconditionally re-enables interrupts with the interrupt exits. This interferes with the drivers ability to control the interrupt state. This is a necessary, sweeping, global change and unfortunately impossible to test.
2015-02-09 16:12:11 -06:00
Gregory Nutt
4f9998b4a8
Big, very risky change: Remove all occurrences of up_maskack_irq() that disable and enable interrupts with up_ack_irq() that only acknowledges the interrupts. This is only used in interrupt decoding logic. Also remove the logic that unconditionally re-enables interrupts with the interrupt exits. This interferes with the drivers ability to control the interrupt state. This is a necessary, sweeping, global change and unfortunately impossible to test.
2015-02-09 16:12:11 -06:00
Gregory Nutt
8bac6b71ce
SYSLOG: Add an option to use the syslog'ing device as the system consolution. This option enables a low-level, write-only console device at /dev/console (similar to the low-level UART console device). From Pierre-noel Bouteville.
2015-02-08 06:53:24 -06:00
Gregory Nutt
3465cb6138
SYSLOG: Add an option to use the syslog'ing device as the system consolution. This option enables a low-level, write-only console device at /dev/console (similar to the low-level UART console device). From Pierre-noel Bouteville.
2015-02-08 06:53:24 -06:00
Gregory Nutt
30b141e2c8
Remove CONFIG_DEBUG_STACK. Adding CONFIG_STACK_COLORATION makes this configuration option pointless
2015-01-24 06:49:51 -06:00
Gregory Nutt
7e46e94546
Remove CONFIG_DEBUG_STACK. Adding CONFIG_STACK_COLORATION makes this configuration option pointless
2015-01-24 06:49:51 -06:00
Gregory Nutt
db9901e2f9
Update everything under nuttx/arch to use the corrected syslog interfaces
2014-10-08 12:48:47 -06:00
Gregory Nutt
7b310711a1
Update everything under nuttx/arch to use the corrected syslog interfaces
2014-10-08 12:48:47 -06:00
Gregory Nutt
ba3ecd67ac
A little more clean-up of poll() error handling
2014-09-26 08:25:00 -06:00
Gregory Nutt
79eeb9f1b5
A little more clean-up of poll() error handling
2014-09-26 08:25:00 -06:00
Gregory Nutt
aaf190dcf6
ELF relocations. Some relocation types do not have a named symbol associated with them. The design did not account for that case
2014-09-09 16:52:51 -06:00
Gregory Nutt
c458e72b70
ELF relocations. Some relocation types do not have a named symbol associated with them. The design did not account for that case
2014-09-09 16:52:51 -06:00
Gregory Nutt
3dd3b1f5e2
The 'make export' target needs to bundle up the user C startup file (crt0), not the kernel head object
2014-09-04 13:31:34 -06:00
Gregory Nutt
56dc80cf59
The 'make export' target needs to bundle up the user C startup file (crt0), not the kernel head object
2014-09-04 13:31:34 -06:00
Gregory Nutt
31b8137956
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 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-09-01 15:39:34 -06:00
Gregory Nutt
64ab35b399
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 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-09-01 15:39:34 -06:00
Gregory Nutt
ec086adfae
Reanem kzalloc to kmm_zalloc for consistency
2014-08-31 17:34:44 -06:00
Gregory Nutt
205260d5e2
Reanem kzalloc to kmm_zalloc for consistency
2014-08-31 17:34:44 -06:00
Gregory Nutt
10ca085b09
Rename kmalloc to kmm_malloc for consistency
2014-08-31 17:26:36 -06:00
Gregory Nutt
1780810d3d
Rename kmalloc to kmm_malloc for consistency
2014-08-31 17:26:36 -06:00
Gregory Nutt
bcb5a5316e
Rename kumalloc to kumm_malloc and kuzalloc to kumm_zalloc for consistency with other naming
2014-08-31 16:24:24 -06:00
Gregory Nutt
9aca0c1c84
Rename kumalloc to kumm_malloc and kuzalloc to kumm_zalloc for consistency with other naming
2014-08-31 16:24:24 -06:00
Gregory Nutt
e11679acf8
Rename CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED; Partially integrate new CONFIG_BUILD_KERNEL
2014-08-29 14:47:22 -06:00
Gregory Nutt
e3ff0689bb
Rename CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED; Partially integrate new CONFIG_BUILD_KERNEL
2014-08-29 14:47:22 -06:00
Gregory Nutt
35b11a7533
Fix an error introduced into ALL implmentations of interrupt dispatch logic
2014-08-28 08:41:57 -06:00
Gregory Nutt
45f3328247
Fix an error introduced into ALL implmentations of interrupt dispatch logic
2014-08-28 08:41:57 -06:00
Gregory Nutt
8bdde7b2d1
Add address environment support to ALL implementatins of up_release_pending()
2014-08-28 08:10:19 -06:00
Gregory Nutt
dfdaeb31ac
Add address environment support to ALL implementatins of up_release_pending()
2014-08-28 08:10:19 -06:00
Gregory Nutt
1b24afe6fc
Add address environment support to ALL implementatins of up_reprioritize_rtr()
2014-08-28 07:54:07 -06:00
Gregory Nutt
9598412386
Add address environment support to ALL implementatins of up_reprioritize_rtr()
2014-08-28 07:54:07 -06:00
Gregory Nutt
07d98438be
x86: Move address environment switch from the task switchers to the interrupt handler. That may save doing the action multiple times per interrupt
2014-08-28 07:30:34 -06:00