Commit Graph

188 Commits

Author SHA1 Message Date
Gregory Nutt
76007d28f5 Add support for dumping board-specific information on assertion. From David Sidrane 2015-03-04 07:00:29 -06:00
Gregory Nutt
beaf976626 arch/: board function prototypes are now in include/nuttx/board.h. Remove from architecture header file; Add inclusion of nuttx/board.h to all files referencing board functions 2015-02-27 17:19:38 -06:00
Gregory Nutt
4f9998b4a8 Big, very risky change: Remove all occurrences of up_maskack_irq() that disable and enable interrupts with up_ack_irq() that only acknowledges the interrupts. This is only used in interrupt decoding logic. Also remove the logic that unconditionally re-enables interrupts with the interrupt exits. This interferes with the drivers ability to control the interrupt state. This is a necessary, sweeping, global change and unfortunately impossible to test. 2015-02-09 16:12:11 -06:00
Gregory Nutt
ac2a1f0bb1 ARMv7-A interrupt handler: Should not automatically re-enable interrupts on interrupt return. That interferes with the driver's ability to manage interrupts. 2015-02-09 15:24:31 -06:00
Gregory Nutt
0c47dbe92d ARM assembly language memcpy.S was not returning a value in R0 it is required to do. From David Sidrane 2015-01-29 06:36:53 -06:00
Gregory Nutt
7e46e94546 Remove CONFIG_DEBUG_STACK. Adding CONFIG_STACK_COLORATION makes this configuration option pointless 2015-01-24 06:49:51 -06:00
Gregory Nutt
05c5c8c337 Add CONFIG_STACK_COLORATION that does the same thing as CONFIG_DEBUG_STACK but without enabling debug. From David Sidrane 2015-01-24 06:03:39 -06:00
Gregory Nutt
7b310711a1 Update everything under nuttx/arch to use the corrected syslog interfaces 2014-10-08 12:48:47 -06:00
Gregory Nutt
468097b3b9 This completes the implementation of shared memory support 2014-09-24 09:27:17 -06:00
Gregory Nutt
dcdfd99a08 Build support for platform-specific shared memory logic. Not logic yet in place 2014-09-24 07:39:06 -06:00
Gregory Nutt
b542d1733f Cosmetic 2014-09-23 16:03:52 -06:00
Gregory Nutt
46b58dbb28 Extend virtual/physical address conversions to include addresses in shared memory. 2014-09-23 16:03:08 -06:00
Gregory Nutt
e326fcfef3 Fix some inconsistent field name in struct task_group_s: addrenv should be tg_addrenv. 2014-09-23 16:01:44 -06:00
Gregory Nutt
edbaed19f9 Add logic necessary to handler remapping of shared memory on contex switches 2014-09-23 13:19:30 -06:00
Gregory Nutt
d7ae119684 Ooops... a file that I forgot to add yesterday 2014-09-17 09:52:07 -06:00
Gregory Nutt
311a88e819 Add a sharable version of arm_virtpgaddr() 2014-09-16 16:49:44 -06:00
Gregory Nutt
925fc9ad81 First round of changes to get the ELF configuration building again 2014-09-16 15:37:05 -06:00
Gregory Nutt
2defa2d45c These files were deleted and moved to a different location (see previos commit) 2014-09-16 13:36:51 -06:00
Gregory Nutt
af2efda031 remove tailing blank line 2014-09-16 13:36:14 -06:00
Gregory Nutt
d4d1534b5a 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
058229b626 Correct stack handling is signal deliver to user processes 2014-09-16 13:33:13 -06:00
Gregory Nutt
0bedf06b49 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
9a49f05087 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
b627c70492 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
731de13347 Partial fix to an cache cleaning problem 2014-09-15 16:04:42 -06:00
Gregory Nutt
ff97fa2114 Fix an error in a debug statement 2014-09-15 15:15:57 -06:00
Gregory Nutt
2711592e52 Eliminate a bug introduced in last checking 2014-09-15 15:10:50 -06:00
Gregory Nutt
8c3528183b ARMv7-A: Improvements to assertion output for kernel mode 2014-09-15 15:03:55 -06:00
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
3649dab9bd Initial integration of kernel stack (does not work) 2014-09-14 11:19:34 -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
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
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
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
ed9fced470 Add a configuration option for dynamic stack management 2014-09-13 12:25:32 -06:00
Gregory Nutt
e411e8aa3f Comsetic updates to comments, debug output 2014-09-12 10:31:58 -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
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
8f2e9bcfdf Tighten up some ARM assembly language. You can always do better 2014-09-11 15:12:08 -06:00
Gregory Nutt
57d78ddd93 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
17e798993d Trivial kernel build related fixes for consistency 2014-09-11 12:35:23 -06:00
Gregory Nutt
0fc55d042f 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
205c23b9d6 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
9a5640b542 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
df4682fd1f 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
1f2adbd4c3 pcDuino: Several fixes so that it still builds after other Cortex-A changes. 2014-09-10 06:24:39 -06:00
Gregory Nutt
c458e72b70 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