hujun5
6f03601169
arch: rename STACK_ALIGNMENT to STACKFRAME_ALIGN across all architectures
...
Rename STACK_ALIGNMENT macro to STACKFRAME_ALIGN throughout the codebase
to provide clearer naming semantics. The new name better reflects the macro's
purpose of frame alignment rather than general stack alignment.
Signed-off-by: hujun5 <hujun5@xiaomi.com >
2026-01-22 15:37:24 +08:00
hujun5
8bb250a4c0
arch: move STACK_ALIGNMENT to irq.h
...
Move STACK_ALIGNMENT macro definitions from architecture-specific internal
headers to public irq.h headers. This enables common code to directly access
STACK_ALIGNMENT without requiring internal header inclusion, improving code
organization and reducing header dependencies. Applies to all architectures:
ARM, ARM64, AVR, HC, MIPS, or1k, Renesas, RISC-V, SIM, SPARC, TriCore, x86,
x86_64, Xtensa, Z16, and Z80.
Signed-off-by: hujun5 <hujun5@xiaomi.com >
2026-01-19 14:43:43 +08:00
buxiasen
89455bc9a1
arch: up_getusrsp change to inline and implement in irq.h
...
Signed-off-by: buxiasen <buxiasen@xiaomi.com >
2025-01-06 23:03:05 +08:00
buxiasen
9bdcc4dc4b
arch/irq.h: update all inline to inline_function
...
Inline & inline_function both used make confuze, let's modify all inline
in irq.h to inline_function, also clear the always_inline_funcion
declaration.
Signed-off-by: buxiasen <buxiasen@xiaomi.com >
2025-01-06 23:03:05 +08:00
Alin Jerpelea
eea3d77a6e
arch/sim: migrate to SPDX identifier
...
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com >
2024-12-02 17:23:25 +08:00
hujun5
9b1800d043
irq: force inline up_interrupt_context
...
reason:
Replace "inline" with "inline_function" for "up_interrupt_context" to ensure consistency with other arch
Signed-off-by: hujun5 <hujun5@xiaomi.com >
2024-10-31 15:43:41 +08:00
zhanghongyu
6f9543daec
sim: fix crash caused by function recursion.
...
114 up_interrupt_context () at /home/zhhyu/source/vela/dev/nuttx/include/arch/irq.h:163
115 stack_monitor_enter (this_fn=0x400145dc <up_current_regs>, call_site=0x4002d5c7 <__cyg_profile_func_enter+120>, arg=0x0) at instrument/stack_monitor.c:63
116 0x000000004002d5c7 in __cyg_profile_func_enter (this_fn=0x400145dc <up_current_regs>, call_site=0x4002d5c7 <__cyg_profile_func_enter+120>) at misc/lib_instrument.c:68
117 0x00000000400156c7 in up_current_regs () at instrument/stack_monitor.c:62
118 up_interrupt_context () at /home/zhhyu/source/vela/dev/nuttx/include/arch/irq.h:163
119 stack_monitor_enter (this_fn=0x400145dc <up_current_regs>, call_site=0x4002d5c7 <__cyg_profile_func_enter+120>, arg=0x0) at instrument/stack_monitor.c:63
120 0x000000004002d5c7 in __cyg_profile_func_enter (this_fn=0x400145dc <up_current_regs>, call_site=0x4002d5c7 <__cyg_profile_func_enter+120>) at misc/lib_instrument.c:68
121 0x00000000400156c7 in up_current_regs () at instrument/stack_monitor.c:62
...
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com >
2024-10-12 11:49:18 +08:00
hujun5
e249dd2672
arch: support customized up_cpu_index() in AMP mode
...
Some app with same code runs on different cores in AMP mode,
need the physical core on which the function is called.
Signed-off-by: hujun5 <hujun5@xiaomi.com >
Signed-off-by: fangxinyong <fangxinyong@xiaomi.com >
2024-10-10 02:38:40 +08:00
yinshengkai
f26ae83900
arch/irq: add the up_getusrpc macro to get the PC of the interrupted thread in the interrupt
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com >
Signed-off-by: ligd <liguiding1@xiaomi.com >
2024-10-08 19:55:28 +08:00
hujun5
7eea4223ee
arch: move sigdeliver to common code
...
Signed-off-by: hujun5 <hujun5@xiaomi.com >
2024-10-07 13:32:57 +08:00
chenxiaoyi
f6fc4cdded
sim/irq: fix windows64 build error
...
nuttx\vs2022\include\arch\irq.h(144,9): error C2065: 'mov': undeclared identifier
Signed-off-by: chenxiaoyi <chenxiaoyi@xiaomi.com >
2024-10-04 08:21:35 +08:00
hujun5
908df725ad
arch: use up_current_regs/up_set_current_regs replace CURRENT_REGS
...
reason:
1 On different architectures, we can utilize more optimized strategies
to implement up_current_regs/up_set_current_regs.
eg. use interrupt registersor percpu registers.
code size
before
text data bss dec hex filename
262848 49985 63893 376726 5bf96 nuttx
after
text data bss dec hex filename
262844 49985 63893 376722 5bf92 nuttx
size change -4
Configuring NuttX and compile:
$ ./tools/configure.sh -l qemu-armv8a:nsh_smp
$ make
Running with qemu
$ qemu-system-aarch64 -cpu cortex-a53 -smp 4 -nographic \
-machine virt,virtualization=on,gic-version=3 \
-net none -chardev stdio,id=con,mux=on -serial chardev:con \
-mon chardev=con,mode=readline -kernel ./nuttx
Signed-off-by: hujun5 <hujun5@xiaomi.com >
2024-09-13 23:18:58 +08:00
Yanfeng Liu
a66c7c3ee1
comments/docs: fix typos in comments
...
This fix some typos in comments.
Signed-off-by: Yanfeng Liu <yfliu2008@qq.com >
2024-03-06 13:31:50 +08:00
anjiahao
d932e0af2a
sched/procfs:use instrument to statistics run time max stack
...
Usage:
1. CONFIG_FS_PROCFS_MAX_STACK_RECORD > 0, such as 32,
2. add '-finstrument-functions' to CFLAGS for What you want to check
stack.
3. mount porcfs
4. cat /proc/<pid>/stack will print backtace & size
Signed-off-by: anjiahao <anjiahao@xiaomi.com >
2023-12-11 02:06:51 -08:00
cuiziwei
ba73272f67
nuttx/sim:add up_irq_enbale function.
...
Signed-off-by: cuiziwei <cuiziwei@xiaomi.com >
2023-09-06 21:42:42 +03:00
ligd
5744c62443
sim: set timer irq as real timer
...
Signed-off-by: ligd <liguiding1@xiaomi.com >
2022-12-21 16:59:56 +09:00
Xiang Xiao
6e66603da5
arch/sim: Disable interrupt in up_interrupt_context for SMP
...
like other arch to fix the race condition
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com >
2022-12-17 18:03:27 +02:00
Xiang Xiao
1905a02ddf
arch/sim: Change up_interrupt_context to inline function like arm
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com >
2022-12-17 18:03:27 +02:00
chao.an
da6d526e9c
arch/sim: fix visual studio Linker Tools Error LNK2019
...
nuttx_all.lib(up_initialstate.obj) : error LNK2019:
unresolved external symbol '___builtin_frame_addres' referenced in function '_up_getsp'
Return stack pointer from esp
Signed-off-by: chao.an <anchao@xiaomi.com >
2022-08-24 21:59:07 +08:00
Xiang Xiao
3d1ce144df
arch: Move up_getsp from arch.h to irq.h
...
since all other special register operation in irq.h
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com >
2022-07-01 10:44:55 -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
Xiang Xiao
dd1d980c3a
arch/sim: Move setjmp/longjmp to libc/machine/sim
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com >
2021-04-05 09:00:42 -03:00
Alin Jerpelea
41342c0a12
arch: sim: Author Gregory Nutt: update licenses to Apache
...
Gregory Nutt has submitted the SGA and we can migrate the licenses
to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com >
2021-03-31 21:12:25 -05:00
Jiuzhu Dong
f6cfd1c87b
vfork: support sim vfork
...
N/A
Change-Id: I15920bcbacfc5ea519cfe12c39cb64dfe6365838
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com >
2021-01-20 08:39:17 -08:00
YAMAMOTO Takashi
e1c53eaeb0
arch/sim/include/irq.h: Make 32-bit xcpt_reg_t unsigned
...
* 64-bit version is already unsigned
* up_copyfullstate uses unsigned for 32-bit
Error: sim/up_unblocktask.c:107:33: error: pointer targets in passing argument 1 of 'up_copyfullstate' differ in signedness [-Werror=pointer-sign]
107 | up_savestate(rtcb->xcp.regs);
| ~~~~~~~~~^~~~~
| |
| xcpt_reg_t * {aka int *}
sim/up_internal.h:133:45: note: in definition of macro 'up_savestate'
133 | #define up_savestate(regs) up_copyfullstate(regs, (xcpt_reg_t *)CURRENT_REGS)
| ^~~~
sim/up_internal.h:205:33: note: expected 'uint32_t *' {aka 'unsigned int *'} but argument is of type 'xcpt_reg_t *' {aka 'int *'}
205 | void up_copyfullstate(uint32_t *dest, uint32_t *src);
| ~~~~~~~~~~^~~~
2020-12-24 21:57:39 -06:00
Xiang Xiao
5107104bbe
arch/sim: Model host signal as NuttX's interrupt
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com >
2020-09-03 10:20:50 +08:00
Sebastian Ene
5db11a275e
arch/sim: Mask and restore the host signal in irq_save and irq_restore
...
to avoid the host signal process interrupt the execution of NuttX critical section
Signed-off-by: Sebastian Ene <nuttx@fitbit.com >
2020-09-03 10:20:50 +08:00
Xiang Xiao
b330b3ac0c
arch/sim: Fix the linkage of up_irqinitialize mismatch
...
include/arch/irq.h:100:20: note: previous declaration with ‘C++’ linkage
100 | static inline void up_irqinitialize(void)
| ^~~~~~~~~~~~~~~~
In file included from include/ctype.h:45,
from include/libcxx/ctype.h:38,
from include/libcxx/cctype:38,
from include/libcxx/cwctype:53,
from include/libcxx/cwchar:106,
from include/libcxx/string:510,
from libcxx/src/debug.cpp:13:
include/nuttx/arch.h:1343:6: error: conflicting declaration of ‘void up_irqinitialize()’ with ‘C’ linkage
1343 | void up_irqinitialize(void);
| ^~~~~~~~~~~~~~~~
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com >
Change-Id: I0e0963a3465f9dabdaca6534a55b9c2c41f4bc64
2020-07-30 12:50:39 +09:00
Nathan Hartman
679b4fbee2
arch: Fix included directed -> included directly
...
This typo had been copied and pasted into numerous irq and syscall
headers.
2020-04-05 22:31:15 +01:00
Xiang Xiao
76bbed07a4
Call up_irqinitialize from irq subsystem
...
Call up_irqinitialize from irq subsystem to make the irq ready for use as soon as possible
2020-02-08 07:39:22 -06:00
Xiang Xiao
68951e8d72
Remove exra whitespace from files ( #189 )
...
* Remove multiple newlines at the end of files
* Remove the whitespace from the end of lines
2020-01-31 09:24:49 -06:00
Gregory Nutt
48c27f8ffc
Simulator: Adds necessary functionality to build Simulator under ARM Linux. Tested only on Raspberry3. Currently setjmp/longjmp do not save/restore floating point registers. Patch provided by Bitbucket user nbkolchin.
2017-08-26 11:38:44 -06:00
Gregory Nutt
56f2454c86
Fix names of pre-processor variables used in header file idempotence
2016-08-06 18:48:45 -06:00
Gregory Nutt
d41008e220
Update some header commments
2016-08-06 18:16:31 -06:00
Gregory Nutt
83bc1c97c3
Rename irqsave() and irqrestore() to up_irq_save() and up_irq_restore()
2016-02-14 16:11:25 -06:00
Gregory Nutt
cae0c9a2e3
Standardize the width of all comment boxes in header files
2015-10-02 17:47:23 -06:00
Gregory Nutt
36726b1bc4
Standardize the width of all comment boxes in header files
2015-10-02 17:42:29 -06:00
Gregory Nutt
48c76840a9
configs/sim/nsh/defconfig -- refresh, enable wall-time, dow builds natively in 64-bit mode
2014-10-03 08:44:42 -06:00
Gregory Nutt
31049a203c
Add support for 64-bit lonjmp/setjmp in simulator platform
2014-10-03 08:23:57 -06:00
patacongo
36df84c843
Email address change in nuttx/
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5145 42af7a65-404d-4744-a932-0658087f49c3
2012-09-13 18:32:24 +00:00
patacongo
a55fc5bb81
header file and file header clean-up
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3434 42af7a65-404d-4744-a932-0658087f49c3
2011-03-28 21:21:11 +00:00
patacongo
6be18e43cf
Changing NuttX fixed size type names to C99 standard names -- things will be broken for awhile
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2356 42af7a65-404d-4744-a932-0658087f49c3
2009-12-16 14:52:56 +00:00
patacongo
fb52eafa37
Progress toward clean SDCC compilation
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@18 42af7a65-404d-4744-a932-0658087f49c3
2007-02-21 21:55:16 +00:00
patacongo
38f5e1bb8c
NuttX RTOS
...
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3 42af7a65-404d-4744-a932-0658087f49c3
2007-02-17 23:21:28 +00:00