Add kernel memory functions & other memory-related changes (#590)

New Features

- Added policy-based memory allocation APIs with capability flags and optional alignment: `memory_alloc_with_policy`, `memory_realloc_with_policy`, `memory_calloc_with_policy`, and `memory_free`.
- Switched heap memory reporting to `memory_print_stats`.

Bug Fixes

- Improved allocation robustness with capability fallback behavior.
- Added overflow-safe handling for aligned zero-initialized allocations.
- Tightened const-correctness for generated device-tree device arrays.

Tests

- Added unit tests for default policy, alignment, zero-initialization, realloc preservation, freeing, and memory stats reporting.
This commit is contained in:
Ken Van Hoeylandt
2026-07-26 22:59:18 +02:00
committed by GitHub
parent f21c0df6fe
commit 03a6285328
14 changed files with 372 additions and 20 deletions
@@ -50,7 +50,7 @@ static struct Device bool_test_device = {
.internal = NULL
};
struct DtsDevice dts_devices[] = {
const struct DtsDevice dts_devices[] = {
{ &root, "test,root", DTS_DEVICE_STATUS_OKAY },
{ &test_device, "test,generic-device", DTS_DEVICE_STATUS_OKAY },
{ &bool_test_device, "test,bool-device", DTS_DEVICE_STATUS_OKAY },
@@ -59,7 +59,7 @@ struct DtsDevice dts_devices[] = {
extern struct Module data_module;
struct Module* dts_modules[] = {
struct Module* const dts_modules[] = {
&data_module,
NULL
};