Oki Minabe
c570439c07
arch/arm/src/armv7-a/arm_addrenv_utils.c: Fix double increment in armv7-a's arm_addrenv_destroy_region().
2019-09-08 07:04:37 -06:00
Oki Minabe
3e44e9107c
arch/arm/src/armv7-a: Fix typo and missing quotation for armv7-a.
2019-09-08 07:01:57 -06:00
Gregory Nutt
2b25d56bfd
arch/arm/src/am335x/hardware/am335x_lcd.h: Fix a few typos. Add things needed by the LCDC driver.
2019-07-08 11:17:03 -06: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
Xiang Xiao
2d3623e2f9
arch/arm/src/armv7-a/Toolchain.defs: Fix 'cc1: warning: switch -mcpu=cortex-a7 conflicts with -march=armv7-a switch'
2019-03-26 21:40:25 -06:00
Gregory Nutt
c34ea0d3bc
arch/arm/src/armv7-a/arm_addrenv_utils.c: Fix a new cache interface related warning.
2019-03-20 17:20:56 -06:00
Gregory Nutt
daa6461ce2
arch/ and configs/: Fix more errors related to cache interface changes.
2019-03-20 14:45:44 -06:00
Gregory Nutt
33d711166e
arch/arm/src/armv7-a/Toolchain.defs: Correct conditional logic. Was mixing C preprocess and Makefile semantics.
2019-03-20 08:17:38 -06:00
Gregory Nutt
006c48692f
arch/arm/src/armv7-a/arm_scu.c: Another place where universal cached control change bork a compile due to missing ARM_DSB() definition.
2019-03-19 16:56:04 -06:00
Gregory Nutt
aed32d35fa
Fix typo in last commit found in build testing.
2019-03-19 13:26:46 -06:00
Gregory Nutt
c1beda8a34
ARMv7-A/R: Add barriers.h header file for consistency with ARMv7-M.
2019-03-19 13:20:23 -06:00
zhangyuan7
471a18ee4d
arch/arm: Add the initial cortex-a7 archtiecture support
2019-03-19 11:51:29 -06:00
Xiang Xiao
cc1595f232
arm/armv7-a: Add mmu_l1_map_regions() to remove the code duplication.
2019-03-19 11:30:37 -06:00
Xiang Xiao
75a97657be
arch/arm/src/armv7-a/sctlr.h: Add SCR bit definitions.
2019-03-19 11:22:44 -06:00
liuzhuang
517f391267
arch/arm/src/armv7-a/arm_gicv2.c: Don't use GIC_ICDDCR_ENABLEGRP1 for NONSECURE since this bit doesn't exist in this mode.
2019-03-19 11:20:45 -06:00
Xiang Xiao
7e9a060202
arch/arm/src/armv7-a: Fix assemble error when including gic.h
2019-03-19 11:19:09 -06:00
zhangyuan7
f36ce38991
arch/arm/src/armv7-a/arm_head.S: add weak attribute to arm_data_initialize so platform could provide the new implemenation as needed.
2019-03-19 11:16:52 -06:00
zhangyuan7
2bc3eddb79
arch/arm/src/armv7-a: Guard some assembly files if configuration not selected.
2019-03-19 11:15:21 -06:00
zhangyuan7
c59dabe41c
arch/arm/src/armv7-a: Remove inclusion pg_macros.h for armv7-a since this header file does not exist.
2019-03-19 11:13:27 -06:00
zhangyuan7
3d171340db
arch/arm/armv7-a: Support thumb mode and fix interworking issue.
2019-03-19 11:10:41 -06:00
Xiang Xiao
64252a298f
arch/: Unify the cache interface for all architectures
2019-03-19 10:37:13 -06:00
Bilal Wasim
1690f2ca8b
arch/arm/src/armv7-a/mmu.h: pdating the cp15_wrttb and cp15_wrdacr functions to use inline assembly in the correct way. The incorrect method was generating errors as ARMv7-a expects the MCR/MRC instructions to provide registers as an argument(MRC p15, 0, <Rt>, c2, c0, 0) and the code was providing a constant value(and hence the build error).
2019-03-14 17:14:56 -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
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
Petro Karashchenko
5e48ca91fc
arch/arm/src/armv7-a/mmu.h: Fix some typos; Use TLBIMVA vs TLBIMVAAIS to invalidate the Cortex-A8 cache.
2019-01-06 07:49:21 -06:00
Petro Karashchenko
dff605a5b8
arch/arm/src/armv7-a/arm_mmu.c: Fix end address calculation for mmu_invalidate_region() API
2019-01-06 07:38:04 -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
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
b823fd83bd
arch/arm/src/armv7-a: Replicate the same fix was previously commited for the armv7-r.
2018-09-20 21:40:29 -06:00
Xiang Xiao
7a9309370f
arm syscalls: svcall/sycall logic needs to get the ucontext argument from R4 instead of stack since all syscall parameters pass from registers in syscall.h
2018-08-24 07:11:18 -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
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
8c61c2f31b
Remove trailing spaces at the end of lines.
2018-08-13 07:39:38 -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
bb88f8d0bb
Squashed commit of the following:
...
A few bugfixes in initial testing on the i.MX6. Behavior seems a little more stable, but there are still memory corruption issues. Also print CPU number on assertion.
Add a file missed in the last big commit.
arch/arm/src/armv7a and imx6: Add support for per-CPU IRQ and FIQ interrupt stacks (bugfix). Add support so that up_assert will print the correct interrupt stack on an assertion (FIQ stack is still not printed).
arch/arm/src/lc823450: Combine the content of smp_macros.h into chip.h. Add support so that up_assert will print the correct interrupt stack on an assertion.
2018-06-21 10:59:58 -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
8aa486515e
arch/: Correct critical section logic associated with the recent signal handler changes (yet again).
2018-06-06 17:39:10 -06:00
Gregory Nutt
b5c6d9c849
Update some comments.
2018-06-06 17:20:01 -06:00
Gregory Nutt
a581d7c2e3
arch/: Relasted to last big change to force interrupts to be disabled. In the SMP case, we still must call leave_critical_section() at least once in order to compensate for the fact that the irqcount was incremented in up_schedsigaction().
2018-06-06 17:04:12 -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
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
3ddea73dc1
arch/arm/src/armv7-a: Port the SMP change by Masayuki Ishikawa to the ARMv7-A family.
2018-02-14 08:36:34 -06:00
Gregory Nutt
de34b4523f
sched/ and arch/arm/src/armv7-a: Replace a few more occurrences of this_task() with current_task(cpu) in an effort to get the i.MX6 working in SMP mode again. It does not yet work, sadly.
2018-02-06 11:17:33 -06:00
Gregory Nutt
8aa1538506
arch/arm/src/armv7-a: Found some additional places were the new this_task() function cannot be called in the i.MX6 SMP configuration.
2018-02-06 10:33:28 -06:00
Gregory Nutt
5c5d19f1c8
Some ommissions from previous commit.
2018-02-04 12:36:51 -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
2683f713ab
Make sure that labeling is used consistently in all function headers (part 3).
2018-02-01 12:17:03 -06:00
Gregory Nutt
1567b82429
Make sure that labeling is used consistently in all function headers (part 2).
2018-02-01 12:03:55 -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
1c5ec07414
arch/: Remove dangling space at the end of lines.
2017-06-28 13:16:48 -06:00
Gregory Nutt
6e4918c557
Remove CONFIG_ARM_TOOLCHAIN_GNU; replace with CONFIG_ARCH_TOOLCHAIN_GNU
2017-05-13 13:28:15 -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
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
ff61d8f69d
Add missing sched_note_*() calls to sam4cm SMP functions.
2017-01-24 14:33:57 -06:00
Gregory Nutt
edd9186540
ELF: Move ARMv7-A and ARMv7-R versions of ELF relocation logic to libc/machine
2017-01-21 14:40:26 -06:00
Gregory Nutt
be5ba90d4f
Move optimized ARM memcpy functions from arch/arm/src/ to libc/machine/. This is necessary for the PROTECTED and KERNEL build modes. Otherwise, memcpy() will be built in to kernel space and not accessible to applications.
2017-01-20 10:53:46 -06:00
Gregory Nutt
0db31d0cd1
SMP: Fix a typo introduced in c5b00ccfc4
2017-01-16 08:48:05 -06:00
Gregory Nutt
a2083fbc92
Update some comments
2017-01-15 12:35:03 -06:00
Gregory Nutt
2837eff0cd
SMP: Most cosmetic clean-up from review of previous commit.
2017-01-14 09:22:13 -06:00
Gregory Nutt
c5b00ccfc4
SMP Signals: Fix some SMP signal delivery logic. Was not handling some critical sections correctly and was missing logic to signal tasks running on other CPUs.
2017-01-14 08:28:37 -06:00
Gregory Nutt
13d00344c9
Add configuration to prevent selection of Windows native toolchains when using Ubuntu under Windows 10
2017-01-02 07:16:47 -06:00
Gregory Nutt
3a0413c048
Back out most of 34be3e7c3c
and update README again. Windows native tools cannot be used with Ubuntu under Windows 10 now. For Cygwin, that support depends on the 'cygpath -w' tool to convert POSIX paths to Windows paths. There is no corresponding tool for Ubuntu under Windows 10.
2017-01-01 16:29:03 -06:00
Gregory Nutt
34be3e7c3c
Add configuration support for builds with Ubuntu under Windows 10
2017-01-01 15:34:23 -06:00
Gregory Nutt
49fae0ac6b
Revert "All CMP platforms: Apply same fix verified on other platforms found on Xtensa."
...
This reverts commit fb146abee0
.
2016-12-25 07:08:44 -06:00
Gregory Nutt
efb86382c3
SMP: Back out deferred IRQ locking. This was accidentally merged into master and it looks like it is going to be more work than I thought to get it working again. Changes will go to the irqlock branch.
2016-12-24 19:53:37 -06:00
Gregory Nutt
729ee7c099
ARMv7-A: Small improvement to some register handling in context restoration.
2016-12-23 11:13:18 -06:00
Gregory Nutt
d9ef0e86fb
Fix a couple of errors in the last commit
2016-12-23 10:45:13 -06:00
Gregory Nutt
c00a1870d7
Implement deferred IRQ locking. Adds support for ARMv7-A.
2016-12-23 10:17:36 -06:00
Gregory Nutt
fb146abee0
All CMP platforms: Apply same fix verified on other platforms found on Xtensa.
2016-12-21 14:04:09 -06:00
Gregory Nutt
26560cb9e1
i.MX6: Remove non-cached, inter-cpu memory region. Not a useful concept.
2016-12-13 16:59:50 -06:00
Gregory Nutt
edeee90c66
i.MX6 interrupt handling: Additional logic needed to handle nested interrupts when an interrupt stack is used
2016-12-13 10:04:38 -06:00
Gregory Nutt
a7b688e87b
sched notes: Add additional note to see if/when CPU is started in SMP mode.
2016-12-07 09:08:20 -06:00
Gregory Nutt
dc79e35d65
For Cortex-A9, should also set ACTLR.FW in SMP mode to enble TLB and cache broadcasts. Does not fix SMP cache problem.
2016-12-07 09:06:41 -06:00
Gregory Nutt
f06d521c10
Minor extensions to some comments
2016-11-29 10:01:38 -06:00
Gregory Nutt
79bb895073
i.MX6: Don't output the alphabet if CONFIG_DEBUG_FEATURES is not set.
2016-11-29 08:34:22 -06:00
Gregory Nutt
a8b69c3efe
Back out a debug change that was included in commit
2016-11-29 07:51:49 -06:00
Marc Rechté
3f91bd6056
STM32 DAC: Fix shift value whenever there are is a DAC2 and, hence, up to three interfaces.
2016-11-29 07:03:54 -06:00
Gregory Nutt
d65be718c2
sched_note: Extend OS instrumentation to include some SMP events.
2016-11-27 17:14:57 -06:00
Gregory Nutt
cbf98ae0a0
ARMv7 GIC: SGIs are non-maskable but go through the same path as other, maskable interrupts. Added logic to serialize SGI processing when necessary.
2016-11-27 13:18:34 -06:00
Gregory Nutt
21e42d18c1
ARMv7-A/i.MX6 SMP: Move SMP coherernt cache setup to earlier in initialization of CPUn, n>0
2016-11-27 11:28:24 -06:00
Gregory Nutt
cd54c71dc1
ARMv7-A/i.MX6: Modify handling of the SMP cache coherency configuration so that it is identical to the steps from the TRM. Makes no differenct, however.
2016-11-27 10:21:46 -06:00
Gregory Nutt
278d8330d6
arm_scu.c edited online with Bitbucket. Fux some typos.
2016-11-27 02:59:42 +00:00
Gregory Nutt
3f6eadc238
ARMv7-A: Fix some SCU SMP logic
2016-11-26 18:41:48 -06:00
Gregory Nutt
546e352830
i.MX6: Add some controls to enable SMP cache coherency in SMP mode
2016-11-26 17:46:20 -06:00
Gregory Nutt
3353d9280f
i.MX6: Disable non-cached region support. Add SCU register definitions.
2016-11-26 17:03:57 -06:00
Gregory Nutt
b2ba12e02a
SMP: Basic function
2016-11-26 14:23:23 -06:00
Gregory Nutt
785ed5faf2
SMP: A few more compile/link issues. Still problems.
2016-11-26 13:20:11 -06:00
Gregory Nutt
aae306e942
i.MX6 SMP: Inter-CPU data no saved in a non-cacheable region.
2016-11-26 12:04:02 -06:00
Gregory Nutt
e3fe320e08
SMP: Add support for linking spinlocks into a special, non-cached memory region.
2016-11-26 08:47:03 -06:00
Gregory Nutt
b08fb33c28
SMP: Fix typos in some conditional compilation
2016-11-24 17:59:45 -06:00
Gregory Nutt
7f636f2280
SMP: Add spin_trylock(). Use this in conditions where other CPUs need to stopped but we cannot call enter_critical_section.
2016-11-24 13:33:43 -06:00