nuttx/arch/arm/src/sam34
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
..
hardware Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
chip.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
Kconfig Kconfig: Simplify the conditional default statement 2023-07-16 14:39:20 -03:00
Make.defs crypto:add some hardware support 2022-12-14 02:33:56 +08:00
sam3u_gpio.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam3u_periphclks.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam3x_gpio.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam3x_periphclks.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam4cm_cpuidlestack.c arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam4cm_cpuindex.c arch: sam34: Author Masayuki Ishikawa: Update license to Apache 2021-03-14 22:23:05 -07:00
sam4cm_cpupause.c arch: use up_current_regs/up_set_current_regs replace CURRENT_REGS 2024-09-13 23:18:58 +08:00
sam4cm_cpustart.c sched: replace up_cpu_index with this_cpu 2024-09-05 12:09:24 +08:00
sam4cm_freerun.c arch/arm/samv7: rework SAMv7 timer counter implementation 2022-01-09 17:43:31 +08:00
sam4cm_freerun.h include: fix double include pre-processor guards 2022-01-16 11:11:14 -03:00
sam4cm_gpio.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam4cm_idle.c arch: sam34: Author Masayuki Ishikawa: Update license to Apache 2021-03-14 22:23:05 -07:00
sam4cm_oneshot.c arch/arm/samv7: rework SAMv7 timer counter implementation 2022-01-09 17:43:31 +08:00
sam4cm_oneshot.h include: fix double include pre-processor guards 2022-01-16 11:11:14 -03:00
sam4cm_oneshot_lowerhalf.c arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam4cm_periphclks.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam4cm_supc.c arch: Merge up_arch.h into up_internal.h 2022-03-14 09:32:17 +02:00
sam4cm_supc.h arch: arm: update licenses to Apache 2021-05-31 01:37:27 -05:00
sam4cm_tc.c Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
sam4cm_tc.h typos: fix typos in many files 2022-01-03 22:10:07 +08:00
sam4cm_tickless.c arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam4e_gpio.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam4e_periphclks.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam4l_clockconfig.c Fix chip/sam4l_clockconfig.c:923:20: error: unused function 'sam_enable_fastwakeup' 2022-11-20 14:34:44 +01:00
sam4l_gpio.c arch: Merge up_arch.h into up_internal.h 2022-03-14 09:32:17 +02:00
sam4l_gpio.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam4l_periphclks.c arch: Merge up_arch.h into up_internal.h 2022-03-14 09:32:17 +02:00
sam4l_periphclks.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam4s_gpio.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam4s_nand.c Remove @ and % tag from all comments 2023-12-11 17:00:10 -03:00
sam4s_nand.h Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
sam4s_periphclks.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam_aes.c Initialize global mutext/sem by NXMUTEX_INITIALIZER and SEM_INITIALIZER 2022-11-14 09:34:04 +09:00
sam_aes.h arch: arm: update licenses to Apache 2021-05-31 01:37:27 -05:00
sam_allocateheap.c arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam_clockconfig.c arch: Merge up_arch.h into up_internal.h 2022-03-14 09:32:17 +02:00
sam_clockconfig.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam_cmcc.c arch: Merge up_arch.h into up_internal.h 2022-03-14 09:32:17 +02:00
sam_cmcc.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam_crypto.c arch/arm: remove FAR from ARM files 2022-12-15 11:38:17 +08:00
sam_dmac.c nxstyle: cleanup UTF-8 Unicode to ASCII 2023-09-18 11:54:17 -04:00
sam_dmac.h arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam_emac.c netdev/ipv6: Move xxx_ipv6multicast from arch to common code 2023-12-16 05:26:16 -08:00
sam_emac.h netinitialize: call xxx_netinitialize unconditionally 2022-03-19 17:41:33 +08:00
sam_gpio.c arch: Merge up_arch.h into up_internal.h 2022-03-14 09:32:17 +02:00
sam_gpio.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam_gpioirq.c arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam_hsmci.c Initialize global mutext/sem by NXMUTEX_INITIALIZER and SEM_INITIALIZER 2022-11-14 09:34:04 +09:00
sam_hsmci.h arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam_irq.c arch/arm:add up_debugpoint api 2023-12-11 08:43:26 -08:00
sam_lowputc.c spin_lock: inline spin_lock 2024-07-15 02:29:30 +08:00
sam_lowputc.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam_mpuinit.c nuttx: Use MIN/MAX definitions from "sys/param.h" 2023-02-01 23:47:44 +08:00
sam_mpuinit.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam_periphclks.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam_rtc.c Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
sam_rtc.h arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam_rtt.c Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
sam_rtt.h arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam_serial.c drivers/serial: Fix docstrings on UART interrupt handlers 2023-02-07 04:41:36 +08:00
sam_spi.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
sam_spi.h arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam_start.c libc: add instrument api support 2023-12-11 02:06:51 -08:00
sam_start.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam_tc.c Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
sam_tc.h arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam_timerisr.c arch: Merge up_arch.h into up_internal.h 2022-03-14 09:32:17 +02:00
sam_twi.c Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
sam_twi.h arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam_udp.c usbdev: extend the usb req len to size_t 2024-08-30 01:32:02 +08:00
sam_udp.h arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00
sam_userspace.c arch: arm: sam: Author Gregory Nutt: update licenses to Apache 2021-03-28 13:34:50 -07:00
sam_userspace.h arch: arm: sam: fix nxstyle errors 2021-03-28 13:34:50 -07:00
sam_wdt.c Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
sam_wdt.h arch/arm: Remove FAR and CODE from chip folder(2) 2022-05-03 16:50:52 +03:00