Commit Graph

8684 Commits

Author SHA1 Message Date
Gregory Nutt
5e4c77245f 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
7ac0a7a4ec 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
01121736bd Update ChangeLog 2014-09-15 10:19:58 -06:00
Gregory Nutt
31824f5b53 execl() is not a system interface. It belongs in libc and should not have a system call associated with it. 2014-09-15 10:17:04 -06:00
Gregory Nutt
a5e30ac4a1 execv() is a basic system interface. It should not be in libc/ but rather in sched/task. Its symboltable helper logic also belongs in the kernel but belings in binfmt/ with the other symbol table logic 2014-09-15 10:16:20 -06:00
Gregory Nutt
398f7b594f execv() is a basic system interface. It should not be in libc/ but rather in sched/task. Its symboltable helper logic also belongs in the kernel but belings in binfmt/ with the other symbol table logic 2014-09-15 10:15:47 -06:00
Gregory Nutt
da7a440b35 execv() is a basic system interface. It should not be in libc/ but rather in sched/task. Its symboltable helper logic also belongs in the kernel but belings in binfmt/ with the other symbol table logic 2014-09-15 10:15:19 -06:00
Gregory Nutt
62880f60c4 In kernel mode, we have to duplicate the callers argv[] buffer when exec'ing new tasks. When the argv[] buffer is needed, the caller's address environment will not longer be in place 2014-09-14 14:10:23 -06:00
Gregory Nutt
2eb71d5a35 Fix an ordering problem in integration of kernel stack logic 2014-09-14 12:40:09 -06:00
Gregory Nutt
3649dab9bd Initial integration of kernel stack (does not work) 2014-09-14 11:19:34 -06:00
Gregory Nutt
25ee232fd4 Update ChangeLog 2014-09-14 09:54:46 -06:00
Gregory Nutt
de4956a2cd 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
a912089099 Update ChangeLog 2014-09-14 09:12:37 -06:00
Gregory Nutt
b255883b0a 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
c71aabc6b2 Update ChangeLogs 2014-09-14 08:28:15 -06:00
Gregory Nutt
e12213592b Don't build task_create() or task_spawn() interfaces if there is an addres environment 2014-09-14 08:22:21 -06:00
Gregory Nutt
eae146d641 Kernel proxy thread should be a kernel thread, not a user task 2014-09-14 08:20:40 -06:00
Gregory Nutt
beb3238f36 Update README, TODO, and make some unfinished configuration options dependent on EXPERIMENTAL 2014-09-13 15:45:26 -06:00
Gregory Nutt
e6b3b9a40b Update porting guide to include stack address environment functions 2014-09-13 14:31:41 -06:00
Gregory Nutt
945196e064 Update ChangeLog 2014-09-13 13:47:24 -06:00
Gregory Nutt
6e48516a31 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
d92b98870a Update ChangeLog 2014-09-13 13:20:27 -06:00
Gregory Nutt
f965ca1fed 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
5db6d0b6f9 Update ChangeLog 2014-09-13 12:29:09 -06:00
Gregory Nutt
ed9fced470 Add a configuration option for dynamic stack management 2014-09-13 12:25:32 -06:00
Gregory Nutt
047eda6159 Add STM32F4DIS-BB GPIO pin usage 2014-09-13 12:25:01 -06:00
Gregory Nutt
8993910427 Fix a typo in use of a configuration setting 2014-09-13 12:24:08 -06:00
Gregory Nutt
560007ab2f Update ChangeLog 2014-09-13 08:41:40 -06:00
Gregory Nutt
b7f867ef1e Add the network enabled NSH configuration for the STM32F4Discovery board with the STM32F4DIS-BB base board 2014-09-13 08:37:07 -06:00
Gregory Nutt
70c33928d8 Add STM32F4Discovery configuration with the STM32F4DIS-BB base board 2014-09-13 07:28:14 -06:00
Gregory Nutt
87031fd3a4 Update TODO list and README 2014-09-13 06:10:23 -06:00
Gregory Nutt
63f8adbbb5 Update ChangeLog 2014-09-12 17:35:47 -06:00
Gregory Nutt
90fbba0a40 Fix types in SYScall stub look-up table 2014-09-12 17:35:04 -06:00
Gregory Nutt
9d13fa57ed Fix more errors associated with posix_spawn system calls 2014-09-12 17:09:18 -06:00
Gregory Nutt
1f3db86106 Fix one more dependency upon having a symbol table 2014-09-12 13:03:10 -06:00
Gregory Nutt
c1e8021335 Update ChangeLog 2014-09-12 12:51:06 -06:00
Gregory Nutt
8f30804e05 Having a symbol table is an option. There are no symbol tables with CONFIG_BUILD_KERNEL, for example. 2014-09-12 12:48:22 -06:00
Gregory Nutt
282fe4aa10 exevc, execvl, posix_spawn, and posix_spawnp were not properly integrated as system calls. 2014-09-12 12:47:20 -06:00
Gregory Nutt
4660e0e7f8 Enable NSH file applications in thise configureation 2014-09-12 12:46:06 -06:00
Gregory Nutt
6295203a82 Cosmetic changes 2014-09-12 12:44:03 -06:00
Gregory Nutt
4ee47eca8e Update ChangeLog 2014-09-12 10:34:12 -06:00
Gregory Nutt
1329c29ecd ELF: Critical bugfix.. BSS was not being cleared 2014-09-12 10:32:23 -06:00
Gregory Nutt
e411e8aa3f Comsetic updates to comments, debug output 2014-09-12 10:31:58 -06:00
Gregory Nutt
3fa0f7ed83 Update ChangeLog 2014-09-12 08:06:49 -06:00
Gregory Nutt
f8170550e1 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
5a96bc37e4 Update ChangeLog 2014-09-11 18:45:50 -06:00
Gregory Nutt
814ac67f62 Fix logic for returning from exceptions to user-mode contexts 2014-09-11 18:43:30 -06:00
Gregory Nutt
bb7b5f3490 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
67838239c4 Update some comments/function headers 2014-09-11 17:15:26 -06:00
Gregory Nutt
ba7d5acf94 Fix a couple more places where the wrong allocator is being used 2014-09-11 15:56:04 -06:00