Gregory Nutt
bb65701ccd
Oops.. part of the last change will still in the editor
2014-11-12 18:33:07 -06:00
Gregory Nutt
a61802640f
Defines inline functions as not instrumented - this is relevant for anyone using instrumentation. From Lorenz Meier.
2014-11-12 07:32:36 -06:00
Gregory Nutt
c23b7ec93d
From Lorenz Meier: The implementation of access() as vararg macro has the issue that any function call with the same name (even in a C++ class) will match with it and result in a compile error. I have replaced it with a small function, and tried to have decent documentation as well. This resolves the compile issue, and shouldn’t have negative side effects for users of the function.
2014-11-11 11:52:24 -06:00
Gregory Nutt
6e387ee135
Add ANSI/VT100 color codes
2014-11-10 15:10:57 -06:00
Gregory Nutt
fecad1027c
Update csdtio too
2014-11-06 07:11:23 -06:00
Gregory Nutt
ee22104762
Can't use formal parameter name 'template' in stdlib.h. Causes C++ compilation errors. Noted by Lorenz Meier
2014-11-06 07:00:23 -06:00
Gregory Nutt
787cd466d2
Add tmpnam() and tempnam()
2014-11-05 10:43:17 -06:00
Gregory Nutt
d13731711f
Add mktemp() and mkstemp()
2014-11-05 09:39:18 -06:00
Gregory Nutt
ef82c280fd
MM: Minimum memory allocation must to up to 32 if sizeof pointer is 8-bytes
2014-11-02 12:11:20 -06:00
Gregory Nutt
6bbfb2b7ca
Add isatty() function. From Alan Carvalho de Assis
2014-10-27 12:29:15 -06:00
Gregory Nutt
04471aa5cb
Add include/wchar.h
2014-10-27 08:28:38 -06:00
Gregory Nutt
03663a7ac4
Cosmetic changes
2014-10-27 07:57:12 -06:00
Gregory Nutt
a7a5c8cff3
Fixes to tickless operation code. From Brandon Warhurst
2014-10-23 06:41:31 -06:00
Gregory Nutt
bfc12bf3a7
ARMv7: Add support to use ITM for SYSLOG debug output
2014-10-22 09:03:00 -06:00
Gregory Nutt
f8c4c75c17
include: adds interface description for ili9341
...
This adds the description of the generic interface to communicate with
the ili9341 lcd single chip driver used by any displays.
The interface have to be implemented by the platform specific subdriver.
The following functions must be exported:
-select
Select the spi device before starting an operations.
-deselect
Deselect the spi device after operations finished and if the device was
selected before.
-sendcmd
Send any command to the ili9341 display driver.
-sendparam
Send any parameter corresponding to the ili9341 display driver.
-recvparam
Receive any parameter from the ili9341 display driver. This is only possible
for the read commands supported by the ili9341.
-sendgram
Send pixel data to the gram of the display. This i similar to the function
sendparam, but pixel data operations needs another handling of how to send the
data to the display.
-recvgram
Receive pixel data to the gram of the display. This i similar to the function
recvparam, but pixel data operations needs another handling of how to receive
the data from the display.
-backlight
Change the backlight level of the display.
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2014-10-20 15:15:22 -06:00
Gregory Nutt
179fabb019
Add description of work queues to the porting guide. Update comments
2014-10-14 10:21:18 -06:00
Gregory Nutt
f6d11bc2fd
Back out an incorrect change
2014-10-12 11:01:57 -06:00
Gregory Nutt
872e9fce26
Cosmetic update to comments
2014-10-12 10:53:29 -06:00
Gregory Nutt
c9d7472d68
Change naming of HP work queue configuration varaibles to be symmetric with LP work queue naming
2014-10-11 17:03:44 -06:00
Gregory Nutt
b78fe7c270
Rename CONFIG_SCHED_USRWORK to CONFIG_LIB_USRWORK
2014-10-11 15:59:40 -06:00
Gregory Nutt
9292e3d9de
Decouple the user-space work queue from the kernel space work queues
2014-10-11 15:50:22 -06:00
Gregory Nutt
bb1d91bd83
Make building of low-priority work queue independent of also building the high-priority work queue
2014-10-11 14:43:24 -06:00
Gregory Nutt
0566eb45f7
Fix a couple of C++ related problems in include/cxx
2014-10-11 08:40:19 -06:00
Gregory Nutt
ae3cc327c7
AIO now also supports socket transfers
2014-10-11 08:15:23 -06:00
Gregory Nutt
4a4b3ac537
Add support for multiple low-priority worker threads
2014-10-10 16:24:50 -06:00
Gregory Nutt
cf59a195ba
User-mode work queue logic should not disable interrupts
2014-10-10 14:52:04 -06:00
Gregory Nutt
16a3e83258
Add support for delays of different durations in work queue processing
2014-10-10 13:21:37 -06:00
Gregory Nutt
b2cebaa9d4
Modularize starting of worker threads to better isolate individual initialization characteristics
2014-10-10 09:38:28 -06:00
Gregory Nutt
1afc9773ac
Decoupling work queue data structures. This is part of the preparation to support multiple low-priority worker threads
2014-10-10 08:35:58 -06:00
Gregory Nutt
6220256a09
Repartition work queue code. Move kernel-specific parts from libc/wqueue to sched/wqueue
2014-10-10 06:22:51 -06:00
Gregory Nutt
a4d157bb2d
Trivial AIO-related changes
2014-10-09 08:34:49 -06:00
Gregory Nutt
02444cfb2c
Update comments and function headers
2014-10-09 07:38:38 -06:00
Gregory Nutt
d2c8e13ed5
Backing out some logic: Remove syslog functions from syscalls
2014-10-09 06:58:23 -06:00
Gregory Nutt
4efb064169
Remove non-standard, conditional syslog_enable(), instead only the required, standard setlogmask()
2014-10-09 06:09:03 -06:00
Gregory Nutt
bbc658930a
Passing va_list in syscall does not work. Temporarily moved syslog and lowsyslog into kernel code and access via a system call. Need to revisit. Will probably need to move all of syslog back from fs/syslog to libc/syslog
2014-10-08 20:12:52 -06:00
Gregory Nutt
323084f32f
Add syslog system calls
2014-10-08 19:37:10 -06:00
Gregory Nutt
ec57ab6391
Implement setlogmask(); move some syslog logic from libc/syslog to fs/syslog
2014-10-08 19:08:26 -06:00
Gregory Nutt
a8399d5c6b
Move syslog logic from libc/misc and libc/stdio to libc/syslog
2014-10-08 17:16:41 -06:00
Gregory Nutt
f40857c04f
All NSH-related files under nuttx/configs changed to use the corrected syslog interfaces
2014-10-08 14:28:55 -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
0cd7683711
Update everything under apps/ to use the corrected syslog interfaces
2014-10-08 11:34:22 -06:00
Gregory Nutt
8db42f5b54
Update ChangeLog
2014-10-08 10:48:47 -06:00
Gregory Nutt
f8ed7323c0
make standard syslog and vsyslog POSIX compliant (also modify non-standard syslog functions for compatibility). This will break a lot of things until ALL usage of syslog is updated to use the modified interfaces
2014-10-08 09:44:15 -06:00
Gregory Nutt
047deada84
Remove non-portable references to syslog from apps/examples
2014-10-08 08:33:00 -06:00
Gregory Nutt
7f36c4e97b
Update some Kconfig comments; Add a upper limit on the lower priority worker thread for priority inheritance
2014-10-07 17:11:26 -06:00
Gregory Nutt
f956bd9915
Chane a type from int to int16_t for a little better packing in a structure
2014-10-07 08:36:53 -06:00
Gregory Nutt
4c7b988525
Update some comments
2014-10-07 08:34:10 -06:00
Gregory Nutt
d7843c8e24
Add support for priority inheritance on the low priority worker queue
2014-10-07 07:41:52 -06:00
Gregory Nutt
002e686991
Add ECANCELED
2014-10-06 15:05:35 -06:00
Gregory Nutt
1273be4cfc
Fix a place in the memory manager where it explicitly assumes that the size of a point is 4 bytes. That is OK if the actually size is smaller but makes the heap unstable when used withthe x86_64 host simulation
2014-10-06 12:49:35 -06:00
Gregory Nutt
37cf4135c4
fs_initialize() is no longer weak
2014-10-06 11:45:35 -06:00
Gregory Nutt
d914f3ceec
Major structure of file system functions to better support asynchronous I/O. Respository should not be trusted until I have a chance to verify everything
2014-10-06 10:53:25 -06:00
Gregory Nutt
52ce95b8b8
Add a AIO control container to increase the payload with OS internal stuff.
2014-10-06 08:10:02 -06:00
Gregory Nutt
87eb1d47ed
Fix some recently introduced typos, build problems, and warnings
2014-10-05 16:58:52 -06:00
Gregory Nutt
5201acb71c
Add system calls for AIO kernel functions
2014-10-05 15:59:02 -06:00
Gregory Nutt
652d3ed29d
Rename CONFIG_LIBC_AIO to CONFIG_FS_AIO since it is now an OS property
2014-10-05 15:44:43 -06:00
Gregory Nutt
f73a18ae39
Move all file operations from libc/aio to fs/aio. These will need to be kernel routines in order to handler issues with using file descriptors on worker thread
2014-10-05 15:33:31 -06:00
Gregory Nutt
9a1b011178
Initiail implementation of lio_listio() and rethinking of signal logic
2014-10-05 11:43:42 -06:00
Gregory Nutt
eeaae40d0c
Initial implementation of aio_fsync()
2014-10-05 08:53:13 -06:00
Gregory Nutt
a4861c7cb7
Iniial implementatin of aio_cancel()
2014-10-05 08:22:39 -06:00
Gregory Nutt
c274acc48f
Move AIO signal logic to a common location in aio_signal.c. Also fix several typos
2014-10-05 06:53:56 -06:00
Gregory Nutt
31cdcde73a
Add definitions for SIGPOLL
2014-10-05 06:02:37 -06:00
Gregory Nutt
e8cef249cc
Initial implementation of aio_write()
2014-10-04 17:30:24 -06:00
Gregory Nutt
fa28c51c75
Fleshes out aio_read implementation
2014-10-04 14:44:57 -06:00
Gregory Nutt
9e8a4dd229
Add skeleton file for eventual implementation of aio_read()
2014-10-04 14:22:00 -06:00
Gregory Nutt
920680041a
Add aio.h header file
2014-10-04 09:59:44 -06:00
Gregory Nutt
032fbb7ace
Add pread(0 and pwrite() system calls
2014-10-04 07:31:45 -06:00
Gregory Nutt
948be542a1
Add pread() and pwrite()
2014-10-04 07:31:13 -06:00
Gregory Nutt
4764c95670
Implement creat() as a macro
2014-10-04 06:44:57 -06:00
Gregory Nutt
73afa66228
Cosmetic update to comments/README
2014-10-01 15:02:49 -06:00
Gregory Nutt
71b574f26c
Repartition some message queue logic: sched/mqueue should have all mqueue knowledge; fs/mqueue should deal only with inodes
2014-09-30 08:03:39 -06:00
Gregory Nutt
1f2cc9f4fe
Complete re-implementation of mq_close
2014-09-29 15:33:34 -06:00
Gregory Nutt
584d0fe4ad
Complete re-implementation of mq_open()
2014-09-29 14:59:31 -06:00
Gregory Nutt
9e975a217d
Separate mqueue allocation logic from mq_open() and put it in sched/mqueue/mq_msgqalloc.c
2014-09-29 14:09:31 -06:00
Gregory Nutt
e3fa34681b
Convert mqueue structure for use in VFS as inode data; rename mqueue_inode_s; remove links, reference counts and name from mqueue structure. These will be replaced by VFS data. Remove g_msgqueues and mq_findnamed.c; these will be replace with VFS logic
2014-09-29 13:19:11 -06:00
Gregory Nutt
1b2729e35e
More testing, bugfixes and integration of VFS-based named semaphores
2014-09-28 17:30:42 -06:00
Gregory Nutt
650a0d0615
Completes VFS-based named semaphore implemetation. Still a little buggy
2014-09-28 15:58:56 -06:00
Gregory Nutt
30694f064c
Add VFS-based sem_open() implementation
2014-09-28 14:35:17 -06:00
Gregory Nutt
aed3fe045e
Add a simple named semaphore test to the OS test
2014-09-28 13:02:36 -06:00
Gregory Nutt
242b34cf46
Create a build structure that will (eventually) support using the VFS to manage named semaphores
2014-09-28 12:19:01 -06:00
Gregory Nutt
39ff9d626e
Move inode and VFS utils from fs/. to fs/inode/.
2014-09-28 10:53:40 -06:00
Gregory Nutt
c0b12cd42d
Add basic data structures that will allow us to move named semaphore support out of the OS and into the VFS (not complete).
2014-09-28 10:15:49 -06:00
Gregory Nutt
a41c1de32c
Add basic data structures that will allow us to move named semaphore support out of the OS and into the VFS (not complete).
2014-09-28 10:15:33 -06:00
Gregory Nutt
7c6ba7bb77
Add prototype for MTD R/W buffering support
2014-09-25 09:31:03 -06:00
Gregory Nutt
b33c2d9cef
Move include/nuttx/mm.h to include/nuttx/mm/mm.h
2014-09-24 07:29:09 -06:00
Gregory Nutt
1863370672
Move include/nuttx/shm.h to include/nuttx/mm/shm.h
2014-09-24 07:05:02 -06:00
Gregory Nutt
2fa7431ee7
Move include/nuttx/gran.h to include/nuttx/mm/gran.h
2014-09-24 06:55:26 -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
566dc8dd38
Add interfaces to support un-initializing a granule allocator.
2014-09-23 15:50:45 -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
bf1e6224d5
Add platform-specific interfaces needed to support the shared memory feature
2014-09-23 12:16:44 -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
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