Shanks0224 opened a new pull request, #18075:
URL: https://github.com/apache/nuttx/pull/18075
This commit enables proper heap management on the simulation platform by
migrating from custom heap implementation to the standard umm heap framework:
1. mm/umm: Allow customizing umm heap implementation
- Add hooks for platform-specific heap customization
- Enable arch/sim to use standard umm_heap while retaining flexibility
2. arch/sim: Migrate to standard umm heap
- Replace custom mm_heap implementation with umm_heap
- Improve heap initialization and management in simulation environment
- Enable shared memory support (e.g., for OpenAMP scenarios)
3. mm: Ensure accurate heap statistics for sim
- Move mm_free_delaylist to mm_mallinfo for timely statistics
- Guarantee accurate memory information when queried
4. fs/procfs: Add extensible memory info hooks
- Introduce mallinfo and memdump callbacks
- Allow sim platform to customize memory reporting through procfs
5. mm/tlfs: Account initial heap structure size
- Properly include sizeof(struct mm_heap_s) in TLFS initialization
- Ensure accurate available memory calculation for sim
These changes unify heap management across platforms while providing the
flexibility needed for simulation environments, enabling features like shared
memory support and accurate memory debugging on sim.
*Note: Please adhere to [Contributing
Guidelines](https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md).*
## Summary
*Update this section with information on why change is necessary,
what it exactly does and how, if new feature shows up, provide
references (dependencies, similar problems and solutions), etc.*
## Impact
*Update this section, where applicable, on how change affects users,
build process, hardware, documentation, security, compatibility, etc.*
## Testing
*This section should provide a detailed description of what you did
to verify your changes work and do not break existing code.*
*Please provide information about your host machine, the board(s) you
tested your changes on, and how you tested. Logs should be included.*
*For example, when changing something in the core OS functions, you
may want to run the OSTest application to verify that there are no
regressions. Changes to ADC code may warrant running the `adc`
example. Adding a new uORB driver may require that you run
`uorb_listener` to verify correct operation.*
*Pure documentation changes can just be tested with `make html`
(see docs) and verification of the correct format in your
browser.*
**_PRs without testing information will not be accepted. We will
request test logs._**
--
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]