Nathan Hartman
5f9cb6faf4
drivers/serial: Fix docstrings on UART interrupt handlers
2023-02-07 04:41:36 +08:00
Petro Karashchenko
f952b8456c
assert: switch from ASSERT(0/false) to PANIC
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-01-26 10:15:34 +08:00
zhangyuan21
a8fa51e6bf
arch: rename arch special function name
2022-11-22 16:27:56 +08:00
Xiang Xiao
70290b6e38
arch: Change the linker generated symbols from uint32_t to uint8_t *
...
and remove the duplicated declaration
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-24 21:26:56 +02:00
Xiang Xiao
3c1c29f2c4
arch: move non arm g_current_regs defintion to common place
...
to avoid the code duplicaiton
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-21 22:23:11 +02:00
Ville Juven
cfebb5a5c1
risc-v: Move common memory map to its own file from riscv_internal
...
Move the linker defined symbols to a separate file, so they can be
accessed without pulling in everything from riscv_internal.h and
whatever it includes (e.g. syscall.h drags in a lot).
2022-06-28 14:41:56 +03:00
Huang Qi
9d9d591b93
arch/risc-v: Unify common source include
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-05-31 07:59:33 +03:00
chao.an
3f65b562bb
arch: inline up_interrupt_context()
...
inline the up_interrupt_context() to avoid unnecessary stack pushes
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-05-26 04:36:07 +08:00
Ville Juven
a014daf44f
RISC-V: Add implementation for vfork
2022-04-25 15:44:32 +08:00
chao.an
29005bd79f
board/arch_fpu*: move arch_[get|cmp]fpu to common arch
...
rename the arch api:
arch_getfpu -> up_saveusercontext
arch_cmpfpu -> up_cmpfpu
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-18 22:22:16 +08:00
chao.an
5bdfae66ce
arch/arm: export arm_saveusercontext()
...
rename arm_saveusercontext() -> up_arm_saveusercontext()
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-18 22:22:16 +08:00
chao.an
5ec4df2cc6
risc-v/c906: fix build break
...
chip/c906_timerisr.c: In function 'up_timer_initialize':
Error: chip/c906_timerisr.c:71:3: error: implicit declaration of function 'DEBUGASSERT' [-Werror=implicit-function-declaration]
DEBUGASSERT(lower);
^~~~~~~~~~~
cc1: all warnings being treated as errors
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-04-12 15:49:52 +03:00
Huang Qi
1975878835
arch/risc-v: Apply common mtime driver to mtime based chps
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-04-12 12:14:40 +03:00
Ville Juven
b0a71ce3e7
RISC-V: Remove riscv_cpuindex.c from platforms that don't need it
...
riscv_mhartid is no longer called by exception_common, so can remove
this file from platforms that don't need it.
Also fixes make warning:
Makefile:123: target 'riscv_cpuindex.o' given more than once in the same rule
2022-04-12 01:59:35 +08:00
Huang Qi
9284770f75
arch/risc-v: Move epc adjustment to riscv_doirq
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-04-10 00:52:04 +08:00
Huang Qi
833211680a
arch/risc-v: Attach exception handler in common place
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-04-10 00:52:04 +08:00
Huang Qi
36bc8d2131
arch/risc-v: Align prototype of riscv_exception with xcpt_t
...
Thus we can attach it to irq handler without any cast.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-04-10 00:52:04 +08:00
Xiang Xiao
3a26cf6a02
arch/risc-v: Remove the unnecessary inclusion of board header files
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-07 11:25:12 +03:00
Huang Qi
53fef8d9c4
arch/risc-v: Replace riscv_fault with riscv_exception
...
Remove riscv_fault since its code is duplicated with riscv_exception,
and there are textual excpetion reason in riscv_exception.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-04-06 22:48:46 +08:00
Ville Juven
c15b6701ce
RISC-V: Implement option to run NuttX in supervisor mode (S-mode)
...
- Add config "ARCH_USE_S_MODE" which controls whether the kernel
runs in M-mode or S-mode
- Add more MSTATUS and most of the SSTATUS register definitions
- Add more MIP flags for interrupt delegation
- Add handling of interrupts from S-mode
- Add handling of FPU from S-mode
- Add new context handling functions that are not dependent on the trap
handlers / ecall
NOTE: S-mode requires a companion SW (SBI) which is not yet implemented,
thus S-mode is not usable as is, yet.
2022-04-01 16:19:42 -03:00
Petro Karashchenko
36b0b95eb1
arch/risc-v: include csr.h indirectly through nuttx/irq.h
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-31 19:34:52 +08:00
Huang Qi
32fe25278a
arch/risc-v: Merge duplicated logic by riscv_doirq
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-31 19:33:08 +08:00
Huang Qi
904f7aabda
arch/risc-v: Use riscv_fpuconfig to enable FPU
...
Use common function instead of chip specified code.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-30 01:33:04 +08:00
Huang Qi
35f9265483
arch/risc-v: Move fpu [re]store to common place
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-28 13:41:57 +08:00
Huang Qi
494230a841
arch/risc-v: Improve performance of context switch
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-26 07:19:09 +09:00
Petro Karashchenko
7afedda89e
arch/risc-v: improve style consistency accross chip variants
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-25 10:26:15 -03:00
Huang Qi
00efcd3308
arch/risc-v: Merge riscv_getnewintctx into common
...
And also mask the bits which should be preserved (from ISA spec)
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-19 17:38:18 +08:00
Huang Qi
807304f283
arch/risc-v: Rework riscv_get_newintctx
...
Some fields of mstatus were marked as Reserved Writes Preserve Values, Reads Ignore Values (WPRI),
so we must keep its origin value with addition flags.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-17 15:43:30 +08:00
Xiang Xiao
54e630e14d
arch: Merge up_arch.h into up_internal.h
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-14 09:32:17 +02:00
Huang Qi
e383439dda
risc-v: Replace all inline assembly with macro
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-03-03 19:55:54 +08:00
Huang Qi
7c18290331
risc-v: Rename up_fault to riscv_fault
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-18 13:25:01 +08:00
Huang Qi
64130b4775
risc-v: Use _ebss instead of _default_stack_limit as idle stack base
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-13 14:37:57 +08:00
Huang Qi
95b0c85f58
arch: Add xxx_tcbinfo.c to SoC level Make.defs
...
Fix build break with CONFIG_DEBUG_TCBINFO enabled.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-12 21:07:35 +09:00
Huang Qi
3fe9c9523c
risc-v: Fix style issue in SoC's Make.defs
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-11 15:20:17 +08:00
Huang Qi
7134220ae2
risc-v: Remove duplicated up_idle logic
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-10 13:09:32 +08:00
Huang Qi
c0a0de97ce
Revert "libc: Call pthread_exit in user-space by up_pthread_exit"
...
This reverts commit f4a0b7aedd
.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-02-09 21:21:43 +08:00
Huang Qi
71d3ff1045
arch/risc-v: Remove g_serial_ok
...
`WFI` is enough to wait the ready signal from master core,
so we can remove it.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-01-23 18:28:37 +08:00
Huang Qi
422e005183
arch/risc-v: Move xxx_cpustart.c to common
...
It's a common solution for MSIP and IPI based risc-v smp soc,
also works on qemu-rv smp (WIP).
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-01-23 18:28:37 +08:00
Huang Qi
d1edd887d5
arch/risc-v: Remove dupped irq code from c906
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-01-21 00:44:43 +08:00
Petro Karashchenko
8d3bf05fd2
include: fix double include pre-processor guards
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-16 11:11:14 -03:00
Huang Qi
c6749fd6fd
arch/risc-v: Refine exception_common
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-01-13 14:53:18 +01:00
Huang Qi
e47a915f4c
arch/risc-v: Refine riscv_vectors.S
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-01-12 18:53:01 +08:00
Huang Qi
10bb48b9b4
arch/risc-v: Merge rv32im and rv64gc into common
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-01-11 23:24:33 +08:00
Norman Rasmussen
091322ba4a
Add backtrace to risc-v common sources
2021-12-30 01:30:08 +08:00
Huang Qi
c15195b126
arch/risc-v: Refine riscv_testset.S
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2021-12-29 06:06:01 -06:00
Gustavo Henrique Nihei
06f4ee850a
arch/risc-v: Remove FAR qualifier for RISC-V-specific files
...
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-22 08:16:01 -03:00
Dong Heng
60fb1adaca
riscv: Add inline IRQ process functions
...
Remove functions from RISC-V chips.
2021-06-15 23:25:16 -05:00
Xiang Xiao
c0fdddc5d7
arch: Remove all go_nx_start from chip specifc source
...
since the idle stack color is done in the common code now
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-10 06:50:41 -07:00
Xiang Xiao
2e54df0f35
Don't include assert.h from public header file
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-03 08:36:03 -07:00
Xiang Xiao
001e7c3e76
sched: Don't include nuttx/sched.h inside sched.h
...
But let nuttx/sched.h include sched.h instead to
avoid expose nuttx kernel API to userspace.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-05-24 12:11:53 +09:00