Commit Graph

1759 Commits

Author SHA1 Message Date
Gregory Nutt
29075cf666 Add system calls for shared memory interfaces 2014-09-22 15:24:09 -06:00
Gregory Nutt
18ce64d61e Add the build framework and skeleton files for the shared memory feature (no logic yet provided) 2014-09-22 14:53:56 -06:00
Gregory Nutt
34a057334c Update SMART FS procfs support. From Ken Pettit 2014-09-22 11:19:49 -06:00
Gregory Nutt
b660a708d4 Add shared memory definitions, types, prototypes 2014-09-22 09:29:37 -06:00
Gregory Nutt
ffb60d064b More naming changes to get the stm3240g-eval/nxterm configuration building again 2014-09-20 15:53:28 -06:00
Gregory Nutt
fefc4f624b Change all occurrences of NxConsole to NxTerm 2014-09-20 15:01:50 -06:00
Gregory Nutt
0b67b111ae Rename CONFIG_NXCONSOLE* to CONFIG_NXTERM* 2014-09-20 14:18:08 -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
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
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
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
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
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
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
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
fc35e35165 When a privileged thread exits, we have to use the kernel alloctor to free memory; when an unprivileged thread exits, we don't have to do anything... heap memory will be cleaned up when the address environment is torn down 2014-09-11 09:00:10 -06:00
Gregory Nutt
44499ed46c Rename some functions and reshuffling some paramters 2014-09-11 08:37:06 -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
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
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
Gregory Nutt
e953fb11cd A const storage class to to phthread parameters. From Freddie Chopin 2014-09-08 06:21:48 -06:00
Gregory Nutt
1822b86373 Fix some conditional compilation in kernel build mode. And, while we are touching this logic, make g_default_pthread_attr const. 2014-09-07 10:46:58 -06:00
Gregory Nutt
166d46a819 Fix error in new macro definition that causes compile problem when not using a kernel-mode build 2014-09-04 07:01:22 -06:00
Gregory Nutt
b2a94b6f2b Fix more places where the user-mode allocator is used to allocate kernel thread resources -- before the user-mode allocator even exists 2014-09-03 14:58:24 -06:00
Gregory Nutt
764e1235da Add a flag to group structure: If the group is created by a kernel thread, then all resources in the group must be priviliged 2014-09-03 13:48:38 -06:00
Gregory Nutt
b05f29dbfe I love/hate conditional compilation 2014-09-03 11:43:23 -06:00
Gregory Nutt
0c8cc8c691 Fix a typo in conditional compilation 2014-09-03 10:59:22 -06:00
Gregory Nutt
67d516d9d1 Fix several compile errors for logic added for CONFIG_BUILD_KERNEL, but which cause problems for other configurations 2014-09-03 09:21:59 -06:00
Gregory Nutt
1a4f8914c5 Add support for delivery of use-mode signals in the kernel build. 2014-09-02 15:58:14 -06:00
Gregory Nutt
b4438e44c5 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
b085e084f4 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
8b082a167b Add SYSCALL support for pgalloc() 2014-09-02 08:29:44 -06:00
Gregory Nutt
a5af2568eb sbrk() need to initialized the memory manager on the first call 2014-09-02 08:05:11 -06:00
Gregory Nutt
64ab35b399 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
23147c40a5 Remove final traces of the 8015 from the NuttX source tree 2014-09-01 13:21:15 -06:00
Gregory Nutt
45c31d633c Completes the implementation of sbrk() (untested) 2014-09-01 10:46:51 -06:00
Gregory Nutt
a33c0533f4 ARMv7 address environment: Static functions not marked static 2014-09-01 08:49:08 -06:00
Gregory Nutt
f8a8ce4b18 Initial implementatino of sbrk() 2014-09-01 07:37:54 -06:00
Gregory Nutt
205260d5e2 Reanem kzalloc to kmm_zalloc for consistency 2014-08-31 17:34:44 -06:00
Gregory Nutt
1780810d3d Rename kmalloc to kmm_malloc for consistency 2014-08-31 17:26:36 -06:00
Gregory Nutt
54fa3b0b59 Rename kfree to kmm_free for consistency with other naming conventions 2014-08-31 17:04:02 -06:00
Gregory Nutt
9aca0c1c84 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
9ad7dae4c1 Rename kufree to kumm_free for consistency with other naming 2014-08-31 16:15:11 -06:00
Gregory Nutt
9cd1ddada4 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
5a488475a8 Rename kmemalign to kmm_memalign for consitency with other naming 2014-08-31 14:57:31 -06:00
Gregory Nutt
ecdb5120dd Add low-level memory management hooks that will be needed to support brk() and sbrk() 2014-08-31 14:42:45 -06:00
Gregory Nutt
2904fb0420 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
b0246d0b7d mm: Break up mm_user.c and mm_kernel.c into separate files for better symmetry 2014-08-31 11:46:47 -06:00
Gregory Nutt
3c1a70c9dc Remove CONFIG_MM_MULTIHEAP. Non-multiheap operation is no longer supported 2014-08-31 10:54:55 -06:00
Gregory Nutt
0571a59e12 Need to condition out standard allocators in kernel build. More to be done 2014-08-31 08:10:15 -06:00
Gregory Nutt
fc7bd31e07 last change alters semantics of __HAVE_KERNEL_GLOBALS 2014-08-30 14:44:48 -06:00
Gregory Nutt
2029236ed0 Back out and replace recent kludges for errno and clock_systimer. There is a cleaner way 2014-08-30 14:26:56 -06:00
Gregory Nutt
4864b4c8c1 Upate ChangeLog 2014-08-30 13:29:25 -06:00
Gregory Nutt
a5cfd5deba clock_systimer needs the same fix as fore get/set_errno when used with system calls 2014-08-30 13:26:45 -06:00
Gregory Nutt
2906ff6a4a Cosmetic: Fix all comments, defaults, etc. that references the defunct name user_start 2014-08-30 11:14:51 -06:00
Gregory Nutt
0c7e97658e Yet more issues with errno access via syscalls fixed 2014-08-30 08:43:10 -06:00
Gregory Nutt
0f5dc2fc65 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
faf16f229c Some initial clean-up in verifying the CONFIG_BUILD_PROTECTED configuration change 2014-08-29 15:07:35 -06:00
Gregory Nutt
e3ff0689bb Rename CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED; Partially integrate new CONFIG_BUILD_KERNEL 2014-08-29 14:47:22 -06:00
Gregory Nutt
beaa2e1c97 include/sys/syscall.h: System definitions should depend on CONFIG_LIB_SYSCALL not CONFIG_NUTTX_KERNEL 2014-08-28 17:03:54 -06:00
Gregory Nutt
fe35751ec2 g_system_timer must be handler in a special way if there are external modules 2014-08-28 17:02:53 -06:00
Gregory Nutt
42e0c5329d errno must be handled in a special way if there are external modules 2014-08-28 17:01:57 -06:00
Gregory Nutt
7ba9ddee7f 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
a2463148fc Can't used task_create() if address environments enabled 2014-08-27 14:19:41 -06:00
Gregory Nutt
ad53cabf34 ADDRENV: Use a group flag to determine if there is an address environment (instead of the thread type) 2014-08-27 09:37:28 -06:00
Gregory Nutt
af22f273d3 Add group_addrenv() which will be called during context switches in order to change address environments. Not yet hooked in 2014-08-26 14:54:39 -06:00
Gregory Nutt
0db7da1858 Add up_addrenv_coherent which will be called before address environment switches 2014-08-26 14:53:19 -06:00
Gregory Nutt
b13d9b4161 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
1725946447 Misc changed to get the SAMA5 ELF configuration with address environments working 2014-08-25 13:28:13 -06:00
Gregory Nutt
e1799b0423 Cortex-A/SAMA5 address environment support is code complete (untested) 2014-08-25 11:18:32 -06:00
Gregory Nutt
e0a48b60b6 Change naming of ELF interfaces from arch_ to up_ for consistency 2014-08-25 06:47:14 -06:00
Gregory Nutt
7aea220ebf After cached related fix, the ELF example is now functional 2014-08-24 14:12:45 -06:00
Gregory Nutt
241a7e17bd addrenv interface changes: up_addrenv_create() may need to create .text and .bss/.data separately because of differing access privileges (read/execute vs read/write). And, as a consequence, up_addrenv_vaddr() needs to be split into up_addrenv_vtext(0 and up_addrenv_vdata(). 2014-08-24 11:54:14 -06:00
Gregory Nutt
2cb9d5c7b0 Add addrenv.h; First cut at Cortex-A address environment structures; Add configuration options to setup address enviornment 2014-08-24 09:57:53 -06:00
Gregory Nutt
1624e2fbcf Change CONFIG_ADDRENV to CONFIG_ARCH_ADDRENV; change how it is selected -- the architecure must first declare support 2014-08-24 06:42:11 -06:00
Gregory Nutt
b028fb31e9 include/nuttx/pgalloc.h and mm/mm_pgalloc.c: Add a simple page allocator based on the existing NuttX granule allocator. I am not certain if the granule allocator is sufficiently deterministic for long range use, but it gets get a page allocator in place for testing very quickly. 2014-08-23 16:37:16 -06:00
Gregory Nutt
7cd8db9425 gran_reserve(): Add a new function to reserve unallocatable regions in the granule heap 2014-08-23 12:43:21 -06:00
Gregory Nutt
e79d6e3c8b A few fixes for compilation errors due to recent address environment fixes 2014-08-22 15:55:00 -06:00
Gregory Nutt
1d586e6136 An address environment is the property of a task group, not of a thread 2014-08-22 12:32:34 -06:00
Gregory Nutt
fd484c4de9 Add support for statically allocated watchdog timer structures 2014-08-22 08:46:34 -06:00
Gregory Nutt
ad9b3f8ab8 wdog.h does not contain any application interface, only internal OS interface. Further, it is non-standard. Move wdog.h from include/ to include/nuttx. For the same reason, move the description of the watchdog timer interfaces from the Users Guide to the Porting Guide. 2014-08-21 11:16:55 -06:00
Gregory Nutt
cf242fbeb4 SAM4E-EK: Add ILI9341-based LCD driver 2014-08-20 11:45:01 -06:00
Gregory Nutt
9f5299522f Add missing include file. From Kosma 2014-08-20 06:34:34 -06:00
Gregory Nutt
703d4bca7b Add a register definition header file for the ILI9341 LCD 2014-08-19 17:31:10 -06:00
Gregory Nutt
4bba611dc6 Move some internal networking function protoypes out of the public include/nuttx/net/arp.h into to the private net/arp/arp.h 2014-08-18 16:35:20 -06:00
Gregory Nutt
004788d7c0 Change the way PHY interrupts work: disable automatically. Then we have to re-subscribe each time after the interrupt fires 2014-08-17 16:51:56 -06:00
Gregory Nutt
e04ab2bcfc In order to get PHY interrupts, they must be enabled at the PHY (still don't get PHY interrupts) 2014-08-17 13:03:18 -06:00
Gregory Nutt
dcfc76336a Add some helper macros to make the code a little more compac 2014-08-17 09:46:03 -06:00
Gregory Nutt
716aec39bf Cosmetic 2014-08-17 09:45:38 -06:00
Gregory Nutt
057af36c1d More of the PHY event notification logic change: Fix some compile errors when full feature is enabled; Add some missing ioctol logic 2014-08-16 15:04:09 -06:00
Gregory Nutt
eb5e2e4b20 Finishes the ioctl definition to subscribe to PHY events. Revamp network ioctl signature to support arguments other than struct mii_ioctl_data. 2014-08-16 14:08:04 -06:00
Gregory Nutt
8428a58bdc Add support for an ioctl that can be used to notify an application when there is a change in the network status signalled by a PHY interrupt 2014-08-16 12:56:02 -06:00
Gregory Nutt
cde108efc6 Move SLIP prototypes from net.h to new slip.h 2014-08-16 10:28:45 -06:00
Gregory Nutt
79e098b20e Clean missing function headers 2014-08-16 10:24:06 -06:00