Gregory Nutt
|
52a1f19023
|
Fixes to avoid some hang conditions using STM32 CAN
|
2014-09-17 08:35:03 -06:00 |
|
Gregory Nutt
|
e409b64bdc
|
Only SAM4 family has RTTDIS bit in the MR register. SourceForge bug #33 from Fabien Comte
|
2014-09-17 07:42:12 -06:00 |
|
Gregory Nutt
|
04f75c42cc
|
Add a sharable version of arm_virtpgaddr()
|
2014-09-16 16:49:44 -06:00 |
|
Gregory Nutt
|
d936f1a918
|
First round of changes to get the ELF configuration building again
|
2014-09-16 15:37:05 -06:00 |
|
Gregory Nutt
|
c20907b86c
|
These files were deleted and moved to a different location (see previos commit)
|
2014-09-16 13:36:51 -06:00 |
|
Gregory Nutt
|
8058de7874
|
remove tailing blank line
|
2014-09-16 13:36:14 -06:00 |
|
Gregory Nutt
|
bd6f7c50e8
|
Move common/up_signal_dispatch.c to armv6-m, armv7-m, and armv7-a. The armv7-a version needs to be different to handle the case where we are dispatch kernel mode signals when running under a user mode group
|
2014-09-16 13:35:29 -06:00 |
|
Gregory Nutt
|
8c3fd5a162
|
Correct stack handling is signal deliver to user processes
|
2014-09-16 13:33:13 -06:00 |
|
Gregory Nutt
|
ebc10e0237
|
Move some share-able logic from sama5/sam_pgalloc.c to armv7-a/arm_physpgaddr.c
|
2014-09-16 13:31:48 -06:00 |
|
Gregory Nutt
|
4a04ea48e4
|
Move some share-able logic from sama5/sam_pgalloc.c to armv7-a/arm_physpgaddr.c
|
2014-09-16 13:31:24 -06:00 |
|
Gregory Nutt
|
9879f47bbb
|
Move some share-able logic from sama5/sam_pgalloc.c to armv7-a/arm_physpgaddr.c
|
2014-09-16 13:29:43 -06:00 |
|
Gregory Nutt
|
4f1ca4cbb7
|
Partial fix to an cache cleaning problem
|
2014-09-15 16:04:42 -06:00 |
|
Gregory Nutt
|
35a282bc30
|
Fix an error in a debug statement
|
2014-09-15 15:15:57 -06:00 |
|
Gregory Nutt
|
e2952e4088
|
Eliminate a bug introduced in last checking
|
2014-09-15 15:10:50 -06:00 |
|
Gregory Nutt
|
d14d3b29bb
|
ARMv7-A: Improvements to assertion output for kernel mode
|
2014-09-15 15:03:55 -06:00 |
|
Gregory Nutt
|
9aae0adffa
|
If we are configured to use a kernel stack while in SYSCALL handling, then we need to switch back to the user stack to deliver a signal
|
2014-09-15 11:38:48 -06:00 |
|
Gregory Nutt
|
949cc1b20c
|
Fix a typo in system call when fetching parameter from the stack: regs[REG_PC]+4 is the address, not regs[REG_PC+4]
|
2014-09-15 10:55:10 -06:00 |
|
Gregory Nutt
|
946b916f69
|
Initial integration of kernel stack (does not work)
|
2014-09-14 11:19:34 -06:00 |
|
Gregory Nutt
|
16ddffc941
|
Add the initial implementation of the process kernel stack logic. Not yet integrated into the main OS logic nor tested.
|
2014-09-14 09:53:54 -06:00 |
|
Gregory Nutt
|
ffff51c1b1
|
Rename everything associated with the dynamic process stack to ustack to make room in the name space for a kstack
|
2014-09-14 09:10:09 -06:00 |
|
Gregory Nutt
|
d956936535
|
Add logic need to manage a virtualized stack. Not yet incorporated into base OS logic.
|
2014-09-13 13:45:35 -06:00 |
|
Gregory Nutt
|
5d4f336b1f
|
Move static helper routines from arm_addrenv.c and may them global so that they can be shared both forthcoming stack address environment logic.
|
2014-09-13 13:17:44 -06:00 |
|
Gregory Nutt
|
f4bcb27962
|
Add a configuration option for dynamic stack management
|
2014-09-13 12:25:32 -06:00 |
|
Gregory Nutt
|
fe48417a96
|
Comsetic updates to comments, debug output
|
2014-09-12 10:31:58 -06:00 |
|
Gregory Nutt
|
fba35f0c41
|
ARMv7-A: Modify up_fullcontextrestore() for CONFIG_BUILD_KERNEL. It changed CPSR while in kernel. That will crash is the new CPSR is user mode while executing in kernel space. Fixed by adding a SYS_context_restore system call. There is an alternative, simpler modification to up_fullcontextrestore() that could have been done: It might have been possible to use the SPSR instead of the CPRSR and then do an exception return from up_fullcontextrestore(). That would be more efficient, but I never tried it.
|
2014-09-12 08:04:27 -06:00 |
|
Gregory Nutt
|
6084fad7e0
|
Fix logic for returning from exceptions to user-mode contexts
|
2014-09-11 18:43:30 -06:00 |
|
Gregory Nutt
|
62e608be8c
|
All tasks, even user mode tasks, must start in supervisor mode until they get past the start-up trampoline
|
2014-09-11 18:42:52 -06:00 |
|
Gregory Nutt
|
4821587509
|
Update some comments/function headers
|
2014-09-11 17:15:26 -06:00 |
|
Gregory Nutt
|
401b8543cd
|
Tighten up some ARM assembly language. You can always do better
|
2014-09-11 15:12:08 -06:00 |
|
Gregory Nutt
|
bd7f16d16a
|
ARMv7-A: Exception register save/restore needs to work a little differently if we support user mode processes
|
2014-09-11 14:34:10 -06:00 |
|
Gregory Nutt
|
998c5ee0a9
|
Trivial kernel build related fixes for consistency
|
2014-09-11 12:35:23 -06:00 |
|
Gregory Nutt
|
1f23ad9bad
|
Misc fixes to repair some of the breakage to the SAMA5D4-EK elf configuration caused by changes for the knsh configuration
|
2014-09-11 10:31:12 -06:00 |
|
Gregory Nutt
|
442d2adb7a
|
Fix for UART7 and UART8 on STM32 clock enable from Aton
|
2014-09-11 10:27:40 -06:00 |
|
Gregory Nutt
|
006cf7d745
|
Add logic to initialize the per-process user heap when each user process is started
|
2014-09-10 15:55:36 -06:00 |
|
Gregory Nutt
|
2da0392ae2
|
SAMA5D4-EK: These configurations now use the fixed DRAM mapping for manipulating the page memory pool.
|
2014-09-10 08:44:09 -06:00 |
|
Gregory Nutt
|
6238e87aaa
|
Add configuration to use the fixed DRAM mapping for the page pool (if available) instead of remapping dynamically to access L2 page tables and page data. Also, add logic in address environment creation to initialize the shared data at the beginning of the .bss/.data process memory region.
|
2014-09-10 08:41:01 -06:00 |
|
Gregory Nutt
|
8a99c421ff
|
pcDuino: Several fixes so that it still builds after other Cortex-A changes.
|
2014-09-10 06:24:39 -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
|
068115e7d6
|
SAM3X/Arduino Due: Fix typo in sam3x_periphclks.h; add SCLK definitions to board.h header file. From Fabien Comte
|
2014-09-08 06:14:59 -06:00 |
|
Gregory Nutt
|
8b64dc003e
|
SAMA5D4-EK: In kernel build with address environment, need logic to map user virtual addresses to physical addresses, and vice versa
|
2014-09-07 19:25:30 -06:00 |
|
Gregory Nutt
|
53bd807186
|
Fix loop counter... was overrunning a table on larger ELF files
|
2014-09-07 14:42:04 -06:00 |
|
Gregory Nutt
|
dcc711f3f2
|
Correct size comparison (pages vs. sections)
|
2014-09-07 13:47:01 -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
|
70e5350942
|
Mostly cosmetic changes
|
2014-09-04 10:28:38 -06:00 |
|
Gregory Nutt
|
15e439d6de
|
I love/hate conditional compilation
|
2014-09-03 11:43:23 -06:00 |
|
Gregory Nutt
|
12775801c9
|
Add support for delivery of use-mode signals in the kernel build.
|
2014-09-02 15:58:14 -06:00 |
|
Gregory Nutt
|
aa7efbb52e
|
Restructuring of build to allow use of use-space allocators by kernel logic in the kernel build.
|
2014-09-02 11:22:09 -06:00 |
|
Gregory Nutt
|
8557f1a1bb
|
Space at the beginning of the process data space is now reserved for user heap management structures. In the kernel build mode, these heap structures are shared between the kernel and use code in order to allocate user-specific data.
|
2014-09-02 11:21:23 -06:00 |
|
Gregory Nutt
|
4d8367a009
|
sbrk() need to initialized the memory manager on the first call
|
2014-09-02 08:05:11 -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
|
587520a7d2
|
Completes the implementation of sbrk() (untested)
|
2014-09-01 10:46:51 -06:00 |
|
Gregory Nutt
|
4537a905f6
|
ARMv7 address environment: Static functions not marked static
|
2014-09-01 08:49:08 -06:00 |
|
Gregory Nutt
|
2fd3413d35
|
Fix common heap allocation logic, taking into account the kernel build requirements
|
2014-09-01 07:57:54 -06:00 |
|
Gregory Nutt
|
ec086adfae
|
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
|
fcd7b9336e
|
Rename kfree to kmm_free for consistency with other naming conventions
|
2014-08-31 17:04:02 -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
|
1643c35609
|
Rename kufree to kumm_free for consistency with other naming
|
2014-08-31 16:15:11 -06:00 |
|
Gregory Nutt
|
31608cd434
|
Rename kmemalign to kmm_memalign for consitency with other naming
|
2014-08-31 14:57:31 -06:00 |
|
Gregory Nutt
|
4c01f5c1b7
|
Clean up some kernel build heap allocation issues. The Cortex-A kernel build now compiles without errors (but cannot link until brk() and sbrk() are implemented).
|
2014-08-31 12:50:05 -06:00 |
|
Gregory Nutt
|
10aa9ad087
|
Remove CONFIG_MM_MULTIHEAP. Non-multiheap operation is no longer supported
|
2014-08-31 10:54:55 -06:00 |
|
Gregory Nutt
|
05b6217876
|
ARMv7-A: A little more logic and a few more fixes for Cortex-A kernel build
|
2014-08-31 07:15:46 -06:00 |
|
Gregory Nutt
|
729bc9f9a7
|
Various changes/fixes to get configs/stm32f4discovery/kostest working after the big configuration renaming (and after a long period of bit rot)
|
2014-08-29 16:23:46 -06:00 |
|
Gregory Nutt
|
5fb235c615
|
Some initial clean-up in verifying the CONFIG_BUILD_PROTECTED configuration change
|
2014-08-29 15:07:35 -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
|
67721c50f1
|
Fix hard coded values in dispatch_sysall inline assembly. Back out/corect part of last change; that was going the wrong direction.
|
2014-08-29 10:10:47 -06:00 |
|
Gregory Nutt
|
48c2c9ed08
|
Fix a cloned typo
|
2014-08-29 10:09:07 -06:00 |
|
Gregory Nutt
|
db69d94935
|
Fix ARM7/9 and Cortex-A SYSCALLs: For threads in SVC mode, the SVC instructions clobbers R14. This must be taken account in the inline assembly
|
2014-08-29 10:07:11 -06:00 |
|
Gregory Nutt
|
27e463dfaa
|
Various fixes to the ARMv7-A system call logic
|
2014-08-29 08:24:00 -06:00 |
|
Gregory Nutt
|
8196b629a4
|
Rename arch/arm/src/armv7-a/syscall.h to svcall.h to work around some include path name collisions; fix some compilation errors in SYSCALL logic when debug is enabled
|
2014-08-29 07:48:16 -06:00 |
|
Gregory Nutt
|
8dd679e875
|
ARMv7-A: Add SYSCALL handling logic
|
2014-08-28 14:52:14 -06:00 |
|
Gregory Nutt
|
cbf0141d6c
|
Add an ARMv7-A system call definition header file
|
2014-08-28 13:21:36 -06:00 |
|
Gregory Nutt
|
3561aac62a
|
The system call library can now be built with CONFIG_NUTTX_KERNEL. New select: CONFIG_LIB_SYSCALL
|
2014-08-28 12:09:49 -06:00 |
|
Gregory Nutt
|
4fa5b52e43
|
Cortex-A address environments: Fix issue with page privileges
|
2014-08-28 11:00:41 -06:00 |
|
Gregory Nutt
|
26f6d90fa9
|
Remove a warning
|
2014-08-28 10:04:41 -06:00 |
|
Gregory Nutt
|
9be4972862
|
STM32 FLASH fixes: use size_t instead of uint16_t, make interface more generic. From Freddie Chopin
|
2014-08-28 09:11:20 -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
|
8bdde7b2d1
|
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
|
0e9a0150ba
|
ARM: Move address environment switch from the task switchers to the interrupt handler. That may save doing the actin multiple times per interrupt
|
2014-08-28 06:49:05 -06:00 |
|
Gregory Nutt
|
540a7e4a35
|
ARM: Move address environment switch from the task switchers to the interrupt handler. That may save doing the actin multiple times per interrupt
|
2014-08-28 06:34:09 -06:00 |
|
Gregory Nutt
|
756054d745
|
Add ADDRENV support to ALL implmentations of _exit()
|
2014-08-27 16:31:02 -06:00 |
|
Gregory Nutt
|
7055bce8b4
|
Add ADDRENV support to ALL implementations of up_unblock_task()
|
2014-08-27 16:15:46 -06:00 |
|
Gregory Nutt
|
5bf114e604
|
Add ADDRENV support to all implementations of up_block_task()
|
2014-08-27 15:36:52 -06:00 |
|
Gregory Nutt
|
8ec74b1a9e
|
Minor address environment clean-up. Cannot generate debug contexts in certain contexts
|
2014-08-27 14:22:00 -06:00 |
|
Gregory Nutt
|
dd80c63af6
|
CC3200 Launchpad updates
|
2014-08-26 16:31:47 -06:00 |
|
Gregory Nutt
|
e3258a3b1f
|
Support the the TC3200 from Jim Ewing
|
2014-08-26 15:13:57 -06:00 |
|
Gregory Nutt
|
032ff50313
|
Add up_addrenv_coherent which will be called before address environment switches
|
2014-08-26 14:53:19 -06:00 |
|
Gregory Nutt
|
d6a4eb6266
|
up_coherent_dcache should do nothing the the length is zero
|
2014-08-26 14:51:53 -06:00 |
|
Gregory Nutt
|
e8094292e3
|
Rename up_addrenv_assign() to up_addrenv_clone() and generalize its arguments so that can be used for other purposes
|
2014-08-26 12:16:05 -06:00 |
|
Gregory Nutt
|
cb8e081dba
|
Mostly cosmetic use of uintptr_t to hold addresses instead of uint32_t
|
2014-08-26 10:44:10 -06:00 |
|
Gregory Nutt
|
b1066775a2
|
Fix confusion about what is a page of data and what is a page of L2 page table; restructure functions to reduce duplicated logic
|
2014-08-26 10:41:43 -06:00 |
|
Gregory Nutt
|
45d0b2c5fb
|
Add lots of debug output
|
2014-08-26 07:54:43 -06:00 |
|
Gregory Nutt
|
b3473bfa26
|
Cortex-A address environment: Fix some section mapping and address increments
|
2014-08-26 06:33:26 -06:00 |
|
Gregory Nutt
|
a593729cb2
|
ARMv7-A: Use of write back might be unpredictable
|
2014-08-25 16:34:22 -06:00 |
|
Gregory Nutt
|
cfa8174fe4
|
Bugfixes.. still integrating SAMA5 ELF with address environment
|
2014-08-25 15:27:58 -06:00 |
|
Gregory Nutt
|
9857f09baf
|
SAMA5 ELF configuration with address environments finally builds without errors
|
2014-08-25 13:59:02 -06:00 |
|
Gregory Nutt
|
699a54a022
|
Misc changed to get the SAMA5 ELF configuration with address environments working
|
2014-08-25 13:28:13 -06:00 |
|
Gregory Nutt
|
8907616478
|
Cortex-A/SAMA5 address environment support is code complete (untested)
|
2014-08-25 11:18:32 -06:00 |
|
Gregory Nutt
|
2566ba7b1d
|
Change naming of ELF interfaces from arch_ to up_ for consistency
|
2014-08-25 06:47:14 -06:00 |
|