Commit Graph

140 Commits

Author SHA1 Message Date
Gregory Nutt 0f97d81f8d Completes the implemenation of the core shared memory logic: shmget(), shmctl(), shmat(), and shmdt(). This is still some unfinish platform-specific code that needs to be done before we can begin testing. 2014-09-23 16:07:12 -06:00
Gregory Nutt d546ebabe4 Remove executable mode 2014-09-23 16:06:22 -06:00
Gregory Nutt ee0d20d44c Add interfaces to support un-initializing a granule allocator. 2014-09-23 16:05:32 -06:00
Gregory Nutt 835c91b03a Add support for a per-process virtual page allocator. This is a new member of the task_group_s structure. The allocaor must be initialized when a new user process is started and uninitialize when the process group is finally destroyed. It is used by shmat() and shmdt() to pick the virtual address onto which to map the shared physical memory. 2014-09-23 16:04:39 -06:00
Gregory Nutt b542d1733f Cosmetic 2014-09-23 16:03:52 -06:00
Gregory Nutt 566dc8dd38 Add interfaces to support un-initializing a granule allocator. 2014-09-23 15:50:45 -06:00
Gregory Nutt 115634ff4d Flesh out shmctl() logic 2014-09-23 11:41:05 -06:00
Gregory Nutt 5efd5738e9 Flesh out basic logic for shmget() 2014-09-23 10:42:18 -06:00
Gregory Nutt a73a3ef99f Add shared memory initializatin logic 2014-09-23 08:46:31 -06:00
Gregory Nutt 242d5f2068 Add README files and configuration support for the shared memory logic 2014-09-23 07:11:47 -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 6bed778738 Again I forget to add a file needed in a previous commit 2014-09-22 10:59:00 -06:00
Gregory Nutt c5a206666d Add a home for forthcoming shared memory logic 2014-09-22 10:58:27 -06:00
Gregory Nutt 3464089542 Move core heap allocator logic from mm/. to mm/mm_heap/. 2014-09-22 10:53:50 -06:00
Gregory Nutt 8b8c134efa Move the user heap allocator front-end from mm/. to mm/umm_heap/. 2014-09-22 10:48:58 -06:00
Gregory Nutt 77bf9d6ae7 Forgot to add a file in the last commit 2014-09-22 10:43:46 -06:00
Gregory Nutt c3a2527e56 Move the kernel heap allocator front-end from mm/. to mm/kmm_heap/. 2014-09-22 10:42:26 -06:00
Gregory Nutt 907e45752b Move granuale allocator and page allocator from mm/. to mm/mm_gran/. 2014-09-22 10:33:23 -06:00
Gregory Nutt 5d9276ed71 More changes so that the KNSH build survives the changes needed for the ELF build 2014-09-16 15:55:21 -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 8993910427 Fix a typo in use of a configuration setting 2014-09-13 12:24:08 -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 0c8830f9f3 Granule allocator initialization uses wrong allocator to setting aside kernel memory 2014-09-03 13:46:05 -06:00
Gregory Nutt b05f29dbfe I love/hate conditional compilation 2014-09-03 11:43:23 -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 a5af2568eb sbrk() need to initialized the memory manager on the first call 2014-09-02 08:05:11 -06:00
Gregory Nutt 45c31d633c Completes the implementation of sbrk() (untested) 2014-09-01 10:46:51 -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 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 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 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 00f5e8f70e Bugfixes.. still integrating SAMA5 ELF with address environment 2014-08-25 15:27:58 -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 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 6f3cb90c05 Cosmetic changes 2014-05-28 14:09:58 -06:00
Gregory Nutt 56e5bc4268 Costmetic changes to memory manager debug output 2014-05-24 10:40:07 -06:00
Gregory Nutt 2abe0dd6dd Change all variadic macros to C99 style 2014-05-22 09:01:51 -06:00
Gregory Nutt 3a1324741a More trailing whilespace removal 2014-04-13 14:32:20 -06:00
Gregory Nutt e10ab85d1d More changes to restore the native Windows build 2014-02-07 10:14:11 -06:00