Commit Graph

110 Commits

Author SHA1 Message Date
Xiang Xiao fa264ff7e7 drivers/rptun/rptun.c: Refine the start/stop flow to support the repeat boot. 2019-11-11 09:09:40 -06:00
Xiang Xiao 3bc62f1ccc Change space to tab and help to ---help--- in Kconfig files. 2019-10-05 21:39:12 -06:00
Gregory Nutt a5a7fe2d8a Kconfig and arch/Kconfig: Add some protection so that you cannot select an architecture-specific header file if the architecture does not provide the header file. 2019-09-16 11:47:26 -06:00
Nathan Hartman 60f777b8f4 Fix various typos in documentation and comments. 2019-08-09 14:35:07 -06:00
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