Gregory Nutt
545cfada38
This commit removes CONFIG_ARCH_INT_DISABLEALL. In the normal course of things, interrupts must occasionally be disabled using the up_irq_save() inline function to prevent contention in use of resources that may be shared between interrupt level and non-interrupt level logic. Now the question arises, if we are using BASEPRI to disable interrupts and have high priority interrupts enabled (CONFIG_ARCH_HIPRI_INTERRUPT=y), do we disable all interrupts except SVCall (we cannot disable SVCall interrupts). Or do we only disable the "normal" interrupts?
...
If we are using the BASEPRI register to disable interrupts, then the answer is that we must disable ONLY the "normal interrupts". That is because we cannot disable SVCALL interrupts and we cannot permit SVCAll interrupts running at a higher priority than the high priority interrupts (otherwise, they will introduce jitter in the high priority interrupt response time.)
Hence, if you need to disable the high priority interrupt, you will have to disable the interrupt either at the peripheral that generates the interrupt or at the NVIC. Disabling global interrupts via the BASEPRI register cannot effect high priority interrupts.
2019-08-09 10:52:35 -06:00
Xiang Xiao
64252a298f
arch/: Unify the cache interface for all architectures
2019-03-19 10:37:13 -06:00
Xiang Xiao
2f208fdde8
arch/Kconfig: Move FPU options to a common place and unify the usage by removing ARCH_CORTEXRxF.
2019-03-19 10:26:15 -06:00
Gregory Nutt
5fe6981c9a
Squashed commit of the following:
...
libs/libc/pthread/pthread_spinlock.c: Resolve several TODO issues by accessing up_testset() via the boardctl() interface rather than attempting to call it directly.
configs/boardctl.c, include/sys/boardctl.h: Add access to architecture-specific up_testset() via boardctl().
arch/Kconfig's, sched/Kconfig, and include/nuttx/spinlock.h: Spinlocks are not available unless the architecture supports the up_testset() operation.
2019-03-04 14:22:50 -06:00
Xiang Xiao
81bef6cccf
arch/Kconfig and arm/src/armv7-m/Kconfig: ARCH_HIPRI_INTERRUPT shouldn't select ARMV7M_USEBASEPRI. First because that is a violation of the layered nature of the Kconfig architecture, but also because then Kconfig will generated errors when high priority interrupts are used with other architectures.
2019-01-26 07:21:18 -06:00
Gregory Nutt
3f1869ea9d
Rename CONFIG_ARCH_HAVE_TRIGGER_HOOK to CONFIG_ARCH_HAVE_IRQTRIGGER
2018-08-25 09:10:30 -06:00
Xiang Xiao
430bf16f1e
Squashed commit of the following:
...
include/nuttx/arch.h: Add prototype for an architecture-specific up_trigger_irq function
arch/, include/nuttx, sched/sched: Add the garbage collection hook so each architecture can do custom memory cleanup if necesary.
arch/Kconfig: Add configureation CONFIG_ARCH_GNU_NO_WEAKFUNCTIONS to suppress use of weak functions. Some gnu derived toolchains do not support weak symbols
2018-08-24 08:30:01 -06:00
dongjianli
0df5e56e20
include/nuttx/arch.h: Add prototype for an architecture-specific up_trigger_irq function
2018-08-24 08:25:06 -06:00
Gregory Nutt
92b925ba02
arch/Kconfig: Bring-up features should also depend on CONFIG_DEBUG_FEATURES. I missed a bring-up feature that is specific to the ESP32. I hope that the ESP32 ports still work as intended! It depended on some of these bring-up settings in the header file. I moved the definitions to the ESP32 defconfig files.
2018-08-19 15:38:06 -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
Alan Carvalho de Assis
283b73edc5
Fix lots of typos in C comments and Kconfig help text
2018-07-08 18:24:45 -06:00
Gregory Nutt
6435a2b25b
arch/mips/src: All MIPS architctures now support CONFIG_ARCH_IDLE_CUSTOM
2018-05-07 11:17:19 -06:00
Gregory Nutt
bd455c9e46
arch/arm/src: All ARM architctures now support CONFIG_ARCH_IDLE_CUSTOM
2018-05-07 10:13:20 -06:00
Matt Thompson
d212e15a43
This commit adds basic architectural support for the OpenRISK mor1kx architecture. The initial commit was verified on a Qemu simulation but is otherwise untested.
...
Squashed commit of the following:
Author: Gregory Nutt <gnutt@nuttx.org>
Update README.
configs/or1k: Should include header file file where exported functin is prototyped.
arch/or1k/src: Eliminate some warnings.
arch/or1k: Complete review
Fix some recently introduced build issues
configs/or1k/nsh: Convert to proper, compressed defconfig file.
Another README update.
Update README
configs/or1k: Updates from initial review.
Update README.
Author: Matt Thompson <matt@extent3d.com>
or1k: Added configurable CPU frequency to Kconfig. Calculate tick timer match period based on configured frequency.
OpenRISC: Enable instruction and data cache
OpenRISC: Initial support.
2018-04-26 11:22:28 -06:00
Gregory Nutt
31278bc163
Kconfigs: Add comments and a dependency.
2018-02-04 16:32:14 -06:00
Gregory Nutt
8187858d79
Fix a typo just introduced to a Kconfig file
2018-02-04 15:53:01 -06:00
Gregory Nutt
5beab6fbf0
spin_lock_irqsave() and spin_unlock_irqrestore() are only valid if the CPU supports global disabling of interrupts.
2018-02-04 15:41:22 -06:00
Gregory Nutt
1e59d9dd14
armv7-a, armv7-r, armv7-m: Add atomic read-add-write and read-subtract-write functions.
2018-02-04 12:22:03 -06:00
Gregory Nutt
f3b37e5da3
fs/procfs/fs_procfsprogrem: Add /proc/progmem. This is an alternative way to get the information that was previoulsy available in apps/system/free. apps/system/free was removed beause it made illegal calls into the OS violating the portable interface. This new procfs entry provides the same information with no such violation.
2017-11-13 09:08:39 -06:00
Gregory Nutt
b0fda33e13
Kconfig: Rename CONFIG_ARM_TOOLCHAIN_IAR to CONFIG_ARCH_TOOLCHAIN_IAR
2017-05-13 16:01:38 -06:00
Gregory Nutt
7fe112fe4c
Kconfig/deconfigs: Add CONFIG_ARCH_TOOLCHAIN_GNU to indicate that the toolchain is based on GNU gcc/as/ld. This is in addition to the CPU-specific versions of the same definition.
2017-05-13 11:44:12 -06:00
Gregory Nutt
0de294a586
Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they.
2017-05-11 13:35:56 -06:00
Jussi Kivilinna
325ba1a803
clock: add clock_resynchronize and use subseconds RTC
...
Add clock_resynchronize for better synchronization of CLOCK_REALTIME and CLOCK_MONOTONIC to match RTC after resume from low-power state.
Add up_rtc_getdatetime_with_subseconds under CONFIG_ARCH_HAVE_RTC_SUBSECONDS to allow initializing (and resynchronizing) system clock with subseconds accuracy RTC.
2017-04-21 08:45:57 -06:00
Gregory Nutt
fc5fca5145
Add MAX value definitions to go along with irq_t and irq_mapped_t
2017-03-03 11:48:20 -06:00
Gregory Nutt
e1218c4b4b
Smaller vector tables: Add irq_mapped_t.
2017-03-03 10:20:40 -06:00
Gregory Nutt
c2b620b4f8
Implements support for smaller interrupt tables as described at http://www.nuttx.org/doku.php?id=wiki:howtos:smallvectors . This is largely the work of Mark Schulte. However, I have made several changes to match with the Wiki document. If you like the change, thanks go to Marc. For any errors you can blame me.
2017-03-03 09:20:25 -06:00
Gregory Nutt
1b790a61cd
Xtensa ESP32: Add stack checking logic.
2016-12-23 15:51:33 -06:00
Gregory Nutt
8de1127899
Xtensa ESP32: Using wrong register to disable interrupts.
2016-12-17 11:00:12 -06:00
Gregory Nutt
c0cbea2550
Remove RGMP and RGMP drivers.
2016-12-02 09:49:33 -06:00
Ramtin Amin
6ff1c96017
LM32: First commit adds only reviewed architecture header files
2016-10-31 18:41:36 -06:00
Gregory Nutt
29ccdf350a
Merge remote-tracking branch 'origin/master' into esp32
2016-10-16 09:53:03 -06:00
Ken Pettit
201a32cf8c
Add support for the RISC-V architecture and configs/nr5m100-nexys4 board. I will be making the FPGA code for this available soon (within a week I would say). The board support on this is pretty thin, but it seems like maybe a good idea to get the base RISC-V stuff in since there are people interested in it.
2016-10-16 09:47:07 -06:00
Gregory Nutt
25331aeb63
ESP32 Core: Add an NSH configuration for build testing
2016-10-13 14:37:28 -06:00
Gregory Nutt
852330876b
arch/xtensa: A little more ESP32 configuration logic
2016-10-12 14:50:28 -06:00
Gregory Nutt
f43ded46e6
Rename arch/sh to arch/renesas, cont'd
2016-08-06 14:03:38 -06:00
Gregory Nutt
8ee155da3d
Rename arch/sh to arch/renesas
2016-08-06 13:33:41 -06:00
Gregory Nutt
8f0c2cdd13
SYSLOG: Change configuration selections to assure that one and only one SYSLOG device can be selected. Also add a check to assure that it is appropriate to use up_putc as the low-level syslog device. Adds CONFIG_SYSLOG_CONSOLE and CONFIG_SYSLOG_SERIAL_CONSOLE.
2016-06-21 09:59:09 -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
bf0499aca3
Eliminate another warning
2016-06-20 22:58:39 -06:00
Gregory Nutt
a74c19bbae
SIM: Add TLS support to to the simulator
2016-03-11 14:03:27 -06:00
Gregory Nutt
78e4ca2bc7
ARM: Partial implementation of TLS
2016-03-10 19:29:21 -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
2f08f2fe6c
Missed something in the last commit
2016-02-10 17:30:29 -06:00
Gregory Nutt
0dbbf19fea
SIM: Kconfig now indicates that it supports multiple CPUs.
2016-02-10 17:29:04 -06:00
Gregory Nutt
724c1eacaa
Add support for a BOARDIOC_RESET boardctl() command. Enable configuration options to support BOARDIOC_RESET for ARMv6-M and ARMv7-M
2015-07-04 10:39:24 -06:00
Gregory Nutt
37e681f89a
Implementment board_power_off() for the simulation platform.
2015-07-04 07:22:38 -06:00
Gregory Nutt
797aa0a138
Power off support now depends on CONFIG_ARCH_HAVE_POWEROFF
2015-07-03 06:53:51 -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
42f0eb7d34
Add shared memory initializatin logic
2014-09-23 08:46:31 -06:00