Commit Graph

3954 Commits

Author SHA1 Message Date
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
02c3d38ed0 Add misc/Obsoleted/ChangeLog and misc/Obsoleted/Patches/Remove-8051-2014-9-1.patch 2014-09-01 16:21:29 -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
5ee6da79cb Remove final traces of the 8015 from the NuttX source tree 2014-09-01 13:21:15 -06:00
Gregory Nutt
91c8bc4f93 Obsolete support for the 8051 family. Trying to maintain compatibility with this family is too much effort and there has never really been a successful NuttX impplementation on these parts 2014-09-01 12:27:17 -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
e6698045c1 Rename kmemalign to kmm_memalign and krealloc to kmm_realooc for consistency with other naming 2014-08-31 15:27:37 -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