hujun260 opened a new pull request, #21738:
URL: https://github.com/apache/nuttx/pull/21738

   # NuttX PR Description
   
   ## Title
   
   arm: add arm_a_r directory
   
   ## Description
   
   This PR introduces the shared `arm_a_r` architecture source directory as a 
preparation step for merging common functionality across the ARM, ARMv7-A, 
ARMv7-R, and ARMv8-R profiles.
   
   ## Changes
   
   - Add `arch/arm/src/arm_a_r/CMakeLists.txt` and `Make.defs`.
   - Move the shared signal scheduling and signal delivery implementations into 
`arch/arm/src/arm_a_r`:
     - `arm_schedulesigaction.c`
     - `arm_sigdeliver.c`
   - Update ARM source Makefile and CMake integration.
   - Remove duplicated signal implementation files from the old ARM profile 
directories.
   - Update ARM, ARMv7-A, ARMv7-R, and ARMv8-R build definitions to use the 
shared directory.
   - Update the ARM toolchain CMake configuration for the new source 
organization.
   
   ## Motivation
   
   Reduce duplicated ARM signal-handling implementations and prepare the source 
layout for the subsequent merge of common functions shared by ARM, ARMv7-A, 
ARMv7-R, and ARMv8-R. Runtime signal behavior is intended to remain unchanged.
   
   ## Runtime Testing
   
   The reorganized ARM source tree was built and executed using the ARMv7-A 
QEMU configuration `qemu-armv8a:nsh`.
   
   ### ARMv7-A build
   
   ```text
   -- Board:  qemu-armv7a
   -- Config: nsh
   -- The C compiler identification is GNU 13.2.1
   +[1328/1328] Linking CXX executable final_nuttx
   Memory region         Used Size  Region Size  %age Used
                ROM:      373960 B         1 MB     35.66%
                RAM:         28 KB        16 MB      0.17%
   ```
   
   The build completed successfully and produced `build/nuttx`. The linker 
emitted only the existing RWX LOAD segment warning.
   
   ### ARMv7-A QEMU startup
   
   ```text
   nsh> ostest
   ```
   
   ### ARMv7-A `ostest`
   
   ```text
   user_main: vfork() test
   vfork_test: Started
   vfork_test: Child 7 ran and exited before the parent resumed
   
   user_main: FPU test
   fpu_test: Started task FPU#1 at PID=8
   fpu_test: Started task FPU#2 at PID=9
   FPU#1: Succeeded
   FPU#2: Succeeded
   
   user_main: wqueue test
   wqueue_test: backend = flat
   wqueue_test: HPWORK done
   wqueue_test: custom queue, threads = 1 done
   wqueue_test: custom queue, threads = 2 done
   wqueue_test: multiple custom queues done
   wqueue_test: teardown done
   
   user_main: mutex test
   mutex_test: PASSED
   
   user_main: signal handler test
   sighand_test: SUCCESS
   
   user_main: nested signal handler test
   signest_test: done
   
   user_main: priority inheritance test
   priority_inheritance: PASSED Priority were correctly restored.
   priority_inheritance: Finished
   
   user_main: scheduler lock test
   sched_lock: PASSED No pre-emption occurred while scheduler was locked.
   sched_lock: Finished
   
   Final memory usage:
   VARIABLE  BEFORE   AFTER
   ======== ======== ========
   arena      ff3ffc   ff3ffc
   ordblks         2        7
   mxordblk   fec130   fd5460
   uordblks     7d94     7ed4
   fordblks   fec268   fec128
   user_main: Exiting
   ostest_main: Exiting with status 0
   ```
   
   ## Testing Status
   
   - [x] Built with the ARMv7-A QEMU `nsh` configuration.
   - [x] Executed ARMv7-A `ostest` under QEMU.
   - [x] `ostest_main: Exiting with status 0`.
   - [ ] Compile-tested all affected ARMv7-R and ARMv8-R variants.
   - [ ] Tested signal delivery on each affected ARM profile.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to