walnux/include/nuttx
Ville Juven 9af8b740e6 Elf loader: give temporary write access to user .text memory
When the .elf file is loaded from disk, the kernel must be given write
access to the allocated .text section in the task's address environment.

The access is removed after the elf is loaded and relocations are done.

NOTE:
The reason this works for the ARM implementation, is that the ARM MMU
can be configured to give write access for the privileged mode, but
revoke write access for the user mode.

Regardless, it would be smart to revoke write access even for the
kernel, when the kernel does not need it. This framework allows doing
that, if someone wishes to take up the task.
2022-05-03 21:25:25 +09:00
..
1wire include: Haltian Ltd: update licenses to Apache 2021-11-15 06:49:32 -06:00
analog c89: get rid of designated initializers in common code 2022-03-28 13:39:27 +08:00
audio audio: Return audio_lowerhalf_s pointer instead error code in audio_comp_initialize 2022-04-10 15:41:14 -03:00
binfmt sched/task: Implement execle and execve 2022-04-22 10:40:31 +03:00
can drivers/can: optimize can driver reader side 2022-03-17 15:43:15 +08:00
clk nuttx: unify FAR attribute usage across the code 2022-04-04 21:32:58 +08:00
contactless author: OffCode Ltd : update licenses to Apache 2021-09-13 22:43:36 +08:00
crypto include: Haltian Ltd: update licenses to Apache 2021-11-15 06:49:32 -06:00
drivers drivers: Merge the common driver initialization into one place 2022-03-13 11:24:48 -03:00
eeprom include: fix double include pre-processor guards 2022-01-16 11:11:14 -03:00
efuse include: Fix typos reported by codespell 2021-02-25 11:30:38 -08:00
fs fs/vfs/fs_truncate.c: Use ioctl to truncate on non-mountpoint inode 2022-04-13 09:40:18 +08:00
himem include: himem: Add Apache license to files 2022-04-20 21:05:45 +08:00
i2c drivers: Giorgio Gross : update licenses to Apache 2022-02-23 12:06:54 +01:00
input input/keyboard: Make each instance could have a different buffer size 2022-03-21 09:03:05 +02:00
ioexpander drivers/ioexpander: minor initialize and styling fixes 2022-02-18 16:44:40 +08:00
lcd include: fix double include pre-processor guards 2022-01-16 11:11:14 -03:00
leds include: leds: ncp5623c: migrate the license to Apache 2022-04-20 21:05:45 +08:00
lib binfmt: Decouple builtin from binfs file system 2022-02-14 09:35:35 -03:00
math add upper-half CORDIC driver 2021-07-28 14:23:13 -03:00
mbox Change all files come from Xiaomi/Pinecone to Apache License 2.0 2020-08-22 17:37:21 -06:00
mm mm/shm: Initialize shm_info_s at the definition place 2022-03-12 15:06:39 -03:00
modem include: nuttx: update licenses to Apache 2.0 2021-02-01 11:21:57 -03:00
motor include/nuttx/motor: add registers definitions for DRV8301 - 3-phase smart gate driver 2022-02-17 01:07:59 +08:00
mtd include: fix double include pre-processor guards 2022-01-16 11:11:14 -03:00
net usrsock: Move event field to usrsock_message_common_s 2022-04-03 11:38:50 +09:00
note note/sysview: add Segger System View support 2022-01-29 17:26:04 +08:00
nx include: fix double include pre-processor guards 2022-01-16 11:11:14 -03:00
power power:driver: move pm_auto_update to outer dir 2022-04-02 00:11:00 +08:00
rc Replece clock_gettime(CLOCK_MONOTONIC) with clock_systime_timespec 2022-02-24 01:06:36 +08:00
rf include: fix double include pre-processor guards 2022-01-16 11:11:14 -03:00
rptun rptun: forward panic/reset to lowerhalf 2022-03-30 10:00:07 +03:00
sensors drivers: remove unimplemented open/close/ioctl interfaces 2022-04-15 16:56:25 +08:00
serial nuttx: Add "#include <nuttx/fs/ioctl.h>" to tioctl.h 2022-04-01 16:35:24 +08:00
spi include/nuttx/motor: add registers definitions for DRV8301 - 3-phase smart gate driver 2022-02-17 01:07:59 +08:00
syslog drivers/syslog: Implement RTT based log channel 2022-02-01 11:26:46 +01:00
timers drivers/timers: rename oneshot to periodic notification parameter 2022-03-15 22:27:15 +08:00
usb Fix error: array subscript 2 is above array bounds of 'uint8_t[2]' 2022-03-10 19:46:01 +02:00
video nuttx: unify FAR attribute usage across the code 2022-04-04 21:32:58 +08:00
wireless include: wireless: bluetooth: migrate the license to Apache 2022-04-20 21:05:45 +08:00
.gitignore
addrenv.h UMM: Implement getter for address environment heap start vaddr 2022-04-29 23:13:16 +08:00
allsyms.h libc/allsyms: Load all symbols for debugging 2021-12-13 08:31:13 -06:00
arch.h Elf loader: give temporary write access to user .text memory 2022-05-03 21:25:25 +09:00
ascii.h include: nuttx: update licenses to Apache 2.0 2021-02-01 11:21:57 -03:00
board.h boards/boardctl:common boardctl to read reset cause. 2022-03-30 09:59:10 +03:00
cache.h arch:cache: add lock feature for cache 2021-10-22 13:31:32 -03:00
can.h include/nuttx/can.h: rename CAN_ERR_CTRL to CAN_ERR_CRTL for compatibility with libcanutils 2022-01-23 01:34:34 +08:00
cancelpt.h include: nuttx: update licenses to Apache 2.0 2021-02-01 11:21:57 -03:00
clock.h sched/clock: Remove CLOCK_MONOTONIC option from Kconfig 2022-02-23 01:21:26 +08:00
compiler.h compiler.h: optimization option is not supported before GCC 4.6 2022-04-23 22:14:26 +08:00
elf.h binfmt/elf: add bare metal coredump support 2021-11-23 20:48:00 -06:00
environ.h include: nuttx: update licenses to Apache 2.0 2021-02-01 11:21:57 -03:00
envpath.h Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00
init.h os init_state: add new state OSINIT_IDLELOOP 2022-02-23 22:05:37 +09:00
irq.h sched/irq/irq_csection.c: Fix typos and correct some comments. 2021-09-16 10:53:51 -05:00
kmalloc.h Fix the initial idle tasks environment 2022-03-16 20:21:19 +08:00
kthread.h sched: Add kthread_create_with_stack 2021-06-27 12:35:13 -03:00
lirc.h driver/rc: support IR remote control 2020-11-05 11:38:28 -03:00
list.h nuttx/include: fix list.h type error 2022-03-28 12:43:27 +03:00
mmcsd.h drivers/mmcsd: Add RPMB ioctl 2022-01-05 11:23:27 -03:00
module.h include: nuttx: update licenses to Apache 2.0 2021-02-01 11:21:57 -03:00
mqueue.h mq_open: add long file name check and parameter check 2021-10-21 11:01:45 -03:00
mutex.h Change all files come from Xiaomi/Pinecone to Apache License 2.0 2020-08-22 17:37:21 -06:00
nuttx.h include: nuttx: update licenses to Apache 2.0 2021-02-01 11:21:57 -03:00
page.h include: nuttx: update licenses to Apache 2.0 2021-02-01 11:21:57 -03:00
pgalloc.h include: nuttx: update licenses to Apache 2.0 2021-02-01 11:21:57 -03:00
progmem.h progmem: eliminate PROGMEM_ERASESTATE configuration option 2022-03-22 10:01:41 -03:00
pthread.h pthread: Call cleanup callback while asyncrhonous cancel 2022-02-09 21:21:43 +08:00
random.h include: Haltian Ltd: update licenses to Apache 2021-11-15 06:49:32 -06:00
sched.h env_dup: Fix copying of env between address environments 2022-04-21 18:38:37 +08:00
sched_note.h sched/note: include-able from C++ files 2022-04-11 16:30:27 +08:00
scsi.h include: nuttx: update licenses to Apache 2.0 2021-02-01 11:21:57 -03:00
sdio.h mmcsd: Move SDIO_GOTEXTCSD after SDIO_DMASENDSETUP 2022-04-01 20:54:57 +03:00
semaphore.h semphore: release all semphores' holder that the task held when exit 2022-02-13 03:20:51 +08:00
signal.h signal: fix compile break in c++ 2020-12-25 21:07:04 +01:00
spawn.h sched/task: Simplify the syscall handling of task_spawn 2021-06-01 12:45:10 +09:00
spinlock.h spinlock.h: In single CPU case force the lock passed to 2021-09-11 23:24:32 +09:00
streams.h libc/blockstream: add block out stream backend 2022-04-18 19:21:22 +03:00
symtab.h symtabs: improve handling of symbol lookups 2021-03-16 10:18:17 -07:00
time.h include: nuttx: update licenses to Apache 2.0 2021-02-01 11:21:57 -03:00
tls.h fix up_tls_info define for BUILD_KERNEL 2022-02-28 01:12:58 +08:00
tree.h Replace __attribute__ ((unused)) with unused_code 2021-07-29 21:55:21 -03:00
userspace.h Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00
vt100.h include: nuttx: update licenses to Apache 2.0 2021-02-01 11:21:57 -03:00
wdog.h fs/vfs: Add file descriptor based timers support 2021-12-20 04:00:20 -06:00
wqueue.h workqueue: add work_foreach support 2022-03-29 18:03:08 +08:00
zoneinfo.h Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00