Complete revamp of the exception entry code, including syscall handling.
Proper syscall frame exception trigger. Many correctness fixes, hacks
removal, etc. etc.
I tried to make this into several commits, but this stuff is all
inter-related and a pain to split.
The diffstat summary:
14 files changed, 250 insertions(+), 802 deletions(-)
Binary size (before):
text data bss dec hex filename
1104 0 0 1104 450 isr.S.obj
64 0 0 64 40 userspace.S.obj
Binary size (after):
text data bss dec hex filename
600 0 0 600 258 isr.S.obj
36 0 0 36 24 userspace.S.obj
Run of samples/userspace/syscall_perf (before):
*** Booting Zephyr OS build zephyr-v3.0.0-325-g3748accae018 ***
Main Thread started; qemu_riscv32
Supervisor thread started
User thread started
Supervisor thread(0x80010048): 384 cycles 509 instructions
User thread(0x80010140): 77312 cycles 77437 instructions
Run of samples/userspace/syscall_perf (after):
*** Booting Zephyr OS build zephyr-v3.0.0-326-g4c877a2753b3 ***
Main Thread started; qemu_riscv32
Supervisor thread started
User thread started
Supervisor thread(0x80010048): 384 cycles 509 instructions
User thread(0x80010138): 7040 cycles 7165 instructions
Yes, that's more than a 10x speed-up!
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
odroid_go board was not up to date.
Fix compilation issues.
Add timers support and flash partitions.
Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
Kconfig.defconfig is the file meant for adjusting other Kconfig options
defaults. Also removed some redundant default conditions.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add initial support for the Salvator-X development board.
This work is strongly based on the H3ULCB board, but compared to it:
- device tree was enhanced
- adding all available push buttons and LEDs
- setting proper names according to the refdes used on the schematic and
PCB silkscreen
- documentation was adapted to this board
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
Update board flash partition to be compatible with v1.13.0 f/w.
This configuration is compatible with stm32wb5x_BLE_Stack_full_fw
which should be installed at 0x080C7000.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
The pm_constraint_* APIs were effectively used by the policy manager
only. This patch renames the API to the policy namespace and makes its
naming more explicit:
- pm_constraint_set -> pm_policy_state_lock_get()
- pm_constraint_release -> pm_policy_state_lock_put()
- pm_constraint_get -> pm_policy_state_lock_is_active()
The reason for these changes is that constraints can be of many types:
allow/disallow states, impose latency requirements, etc. The new naming
also makes explicit that the API calls will influence the PM policy
behavior.
All drivers and documentation have been updated accordingly.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Fix SRAM base address to 0x0 and set the size to 128M
Fix FLASH base address to 0x88000000 and set the size to 64MB
Signed-off-by: Jaxson Han <jaxson.han@arm.com>
The Armv8R aarch64 is compiled with armv8.4-a, so the atomic_cas is
implemented by casal instruction, which needs FVP booting with
'-C bp.dram.enable_atomic_ops=1'
However, the FVP >= 11.17 has changed its parameters
'-C bp.dram.enable_atomic_ops' to '-C bp.s_dram.enable_atomic_ops' and
'-C bp.sram.enable_atomic_ops' to '-C bp.s_sram.enable_atomic_ops',
which is very annoying.
To fix this issue, disable LSE feature of GCC with 'armv8.4-a+nolse'.
Signed-off-by: Jaxson Han <jaxson.han@arm.com>
The Atmel SAM V71 Xplained Ultra development board is equipped with a
Microchip ATA6561 CAN transceiver with a maximum bitrate of 5Mbit/s.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
The Keyestudio CAN-BUS Shield (KS0411) is equipped with a Microchip
MCP2551 CAN transceiver with a maximum bitrate of 1Mbit/s.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>