Gregory Nutt
5c4d45a331
Documentation and comments updated to further enshrine exec() as an official NuttX interface.
2017-10-03 07:52:05 -06:00
Gregory Nutt
bc2cded397
Squashed commit of the following:
...
binfmt: Fix some compilation issues introduced in previous changes. Verfied with the STM32F4-Discovery ELF configuration.
binfmt: schedule_unload() is an internal OS function and must not alter the errno variable.
binfmt: unload_module() is an internal OS function and must not alter the errno variable.
binfmt: load_module() is an internal OS function and must not alter the errno variable.
binfmt: exec_module() is an internal OS function and must not alter the errno variable.
2017-10-02 15:30:55 -06:00
Gregory Nutt
374f1bd46c
binfmt: Don't schedule starthook if there are no constructors.
2017-10-02 14:04:50 -06:00
Cristian Condurache
2ea054fead
Merged in ccondurache/nuttx/fix_elf_arm_checkarch (pull request #422 )
...
Fix ELF loader up_checkarch on ARM arch
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-06-28 16:19:51 +00:00
Cristian Condurache
d4add14823
Fix ELF loader up_checkarch on ARM arch
2017-06-28 18:11:39 +03:00
Yasuhiro Osaki
b1008477ac
binfmt: Fix .dtor memory allocation
...
Jira: PDFW15IS-265
Coverity-ID: 11053
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2017-05-19 17:01:48 +09:00
Gregory Nutt
0de294a586
Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they.
2017-05-11 13:35:56 -06:00
Yasuhiro Osaki
c109e92962
binfmt: Fix offset value when calling elf_read() in elf_sectname()
...
Jira: PDFW15IS-3030
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2017-04-28 17:23:02 +09:00
Yasuhiro Osaki
dd2efb909a
binfmt: Fix offset value when calling elf_read() in elf_symname()
...
Jira: PDFW15IS-1650
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2017-04-26 14:46:34 +09:00
Gregory Nutt
edd9186540
ELF: Move ARMv7-A and ARMv7-R versions of ELF relocation logic to libc/machine
2017-01-21 14:40:26 -06:00
Gregory Nutt
ee9c66186c
ramdisk.h moved from include/fs/nuttx/ to include/nuttx/drivers.
2016-07-20 14:02:18 -06:00
Gregory Nutt
378b22ec07
binfmt: Remove PCODE dependency on apps/pcode.h
2016-06-30 11:25:59 -06:00
Gregory Nutt
2a751068e6
Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err().
2016-06-20 12:44:38 -06:00
Gregory Nutt
43eb04bb8f
Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info().
2016-06-20 11:59:15 -06:00
Gregory Nutt
3fa41c0f18
Kconfig files: Fix some dependencies that have CONFIG_ in the variable name
2016-06-17 19:30:19 -06:00
Gregory Nutt
0c8c7fecf0
Add _ to the beginning of all debug macros to avoid name collisions
2016-06-16 12:33:32 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2
Rename *lldbg to *llerr
2016-06-11 14:55:27 -06:00
Gregory Nutt
86b79b33cf
Reserver the name 'err' for other purposes
2016-06-11 14:40:07 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9
Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO
2016-06-11 11:50:18 -06:00
Gregory Nutt
e523c93391
Several Makefiles: Add .PHONY definitions to prevent 'clean up to date' message weirdness.
2016-05-10 15:44:06 -06:00
Gregory Nutt
f45db0313d
nuttx/binfmt: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-14 08:46:08 -06:00
Gregory Nutt
3ba9e82c72
Update README
2016-01-22 17:21:49 -06:00
Gregory Nutt
e8d0f85c8b
Modules: Add mod_setsymtab to set global symtol table once. Now we can remove symbol table parameters from the insmod call. This will make implementing an NSH insmod command much easier
2015-12-13 08:10:01 -06:00
Gregory Nutt
49554fe4fc
Move module support from binfmt/ to sched/ so that it can be configured and built independently from binfmt features
2015-12-12 07:09:17 -06:00
Gregory Nutt
44e45f0f91
insmod is code complete and ready for test
2015-12-11 10:55:21 -06:00
Gregory Nutt
05cb7a9043
Call initializer entry point on start-up; do not create a task
2015-12-11 07:27:45 -06:00
Gregory Nutt
251e8395c7
Mostly cosmetic renaming to straighten out namespace
2015-12-10 16:56:10 -06:00
Gregory Nutt
8bcf35ff39
binfmt/libmodule: Add support for kernel modules. Initial commit is just the ELF module support with name changes
2015-12-10 09:53:31 -06:00
Gregory Nutt
4a7fb2cbc1
binfmt: Cosmetic -- rename binfmt_internal.h to binfmt.h. Move related argument copy logic into new file, binfmt_copyargv.c
2015-11-14 07:29:47 -06:00
Gregory Nutt
45eebacbb4
binfmt/: More spacing/alignment fixes
2015-10-08 19:20:17 -06:00
Gregory Nutt
0b12dbf95d
Fix some spacing problems
2015-10-04 15:04:00 -06:00
Gregory Nutt
0f90500f72
Standardize the width of all comment boxes in header files
2015-10-02 17:48:24 -06:00
Gregory Nutt
5b51a9fcdd
Standardize the width of all comment boxes in C files
2015-10-02 17:43:18 -06:00
Gregory Nutt
cb9e27c3b0
Standardize naming used for public data and function groupings
2015-10-02 16:30:35 -06:00
Bruno Herrera
3fd07e32e9
binfmt/builtin.c: Fix a memory leak: File was not being closed.
2015-08-30 07:14:45 -06:00
Anton D. Kachalov
2ca1dd6efe
Eliminate `sigset' shadow warning
...
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
2015-07-31 21:28:40 +03:00
Gregory Nutt
342f5fe33d
Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation
2015-06-28 08:08:57 -06:00
Gregory Nutt
c704a5289c
Comment out references to fstat(). It is not yet supported.
2015-06-02 11:43:44 -06:00
Gregory Nutt
6068820bf3
Add support uClibc++ excpetions. This involves additional handling for relative relation types, additional support for unwinding, as well as additional changes. The culmination of a big effort fromo Leo Aloe3132
2015-06-01 14:16:18 -06:00
Gregory Nutt
56dee97fbf
Fix a misnamed symbol in a linker script. I don't think that this symbol is used
2015-05-04 13:45:24 -06:00
Gregory Nutt
916ccc78bb
binfmt: Fix a debug statement that does not have the correct number of arguments. From Leo aloe3132
2015-04-30 14:31:04 -06:00
Gregory Nutt
48271cca05
Make some file section headers more consistent with standard
2015-04-08 08:29:03 -06:00
Gregory Nutt
2407008b6e
drivers/ramdisk.c and include/nuttx/fs/ramdisk.h: Add logic to dispose of the drvier and RAM buffer when the RAM disk has been unlinked and all open references to the RAM disk have been closed. Add new parameters to romdisk() to specify what should be done with the RAM/ROM buffer -- Should it be freed or not? Changed all calls to ramdisk() to use these new parameters.
2015-02-01 07:24:16 -06:00
Gregory Nutt
771bbc1be8
Cosmetic change to debug output
2014-12-08 09:43:01 -06:00
Gregory Nutt
d9344793a9
Remove unused setting of a variable
2014-12-07 07:16:20 -06:00
Gregory Nutt
bd1b5094b4
Trivial binfmt logic clean-up
2014-11-14 10:38:58 -06:00
Gregory Nutt
9e290c10b5
Fix some compile issues introduces with removal of CONFIG_MAX_TASK_ARGS
2014-11-14 09:53:11 -06:00
Gregory Nutt
7c119ba787
Binfmt no longer depends on a fixed sized argv[] list
2014-11-12 18:31:32 -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
dd9e42ec0c
Fix a compile problem noted by Marco Cruz
2014-10-13 12:07:40 -06:00
Gregory Nutt
2311a97ad6
Remaining files under nuttx/binfmt changed to use the corrected syslog interfaces
2014-10-08 15:34:51 -06:00
Gregory Nutt
dadbbb8ac5
Fix some misleading debug output
2014-09-26 14:58: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
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
1329c29ecd
ELF: Critical bugfix.. BSS was not being cleared
2014-09-12 10:32:23 -06:00
Gregory Nutt
67838239c4
Update some comments/function headers
2014-09-11 17:15:26 -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
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
76957599a2
When allocating a stack for a new process using the user-sapce allocator, need to select the address environment first
2014-09-09 17:32:32 -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
b63eea45b6
Improved binfmt debug output
2014-09-07 13:47:01 -06:00
Gregory Nutt
39c95050ab
Fix typo in ELF variable name (only see it when C++ support is enabled)
2014-09-07 13:46:13 -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
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
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
89593969be
nuttx/sched: Remove explicit references to errno. That is a problem from within the kernel for certain configurations
2014-08-28 17:00:43 -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
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
7e0ce83e47
Can't dump loaded code unless we first establish the mappings
2014-08-26 10:42:42 -06:00
Gregory Nutt
d52599fe8e
Change when address environment is instantiated; there are/were locations where access is made to the allocation address environment when it is not yet in place
2014-08-26 07:57:30 -06:00
Gregory Nutt
66a5328a68
Cortex-A address environment: Fix some section mapping and address increments
2014-08-26 06:33:26 -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
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
1708a133f5
Fix some compilation errors in ELF logic that were introduced in a recent commit
2014-08-24 12:57:02 -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
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
d798dd37a7
Replace os_internal.h with sched/sched.h in files that actually reference something in sched.h
2014-08-08 17:53:55 -06:00
Gregory Nutt
2dd9ce50c8
Clean-up up some warning
2014-07-11 11:58:46 -06:00
Gregory Nutt
5df891ff28
Fix an error in exec(). argv[] has not being passed
2014-06-15 13:22:44 -06:00