docs: fill out compat, lvglh, and toolchain documentation
continuous-integration/drone/push Build is failing
continuous-integration/drone/push Build is failing
Replace placeholder content in doc/compat/, doc/lvglh/, and doc/toolchain/ with comprehensive documentation derived from the source files. - compat: document Wasuro WASM VM compatibility shims - lvglh: document LVGL v9.2.2 configuration, fonts, and patches - toolchain: document all 13 build pipeline scripts
This commit is contained in:
1 parent
d059ff1ffb
commit
466173613f
19 files changed
+888
-32
No files matched your search
@@ -1 +1,94 @@
|
||||
# Placeholder
|
||||
# lmemorymanager
|
||||
|
||||
Compatibility shim that re-exports the `memory.heap` API under the legacy unit name.
|
||||
|
||||
## Overview
|
||||
|
||||
The Wasuro WASM VM project references the old unit name `lmemorymanager` for heap memory operations. Because the Wasuro source tree cannot be modified, this shim unit re-exports every public symbol from `memory.heap` so that `uses lmemorymanager` continues to compile without changes. All functions are thin inline wrappers that delegate directly to their `memory.heap` counterparts.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- `memory.heap` -- the canonical heap allocator implementation in the Asuro kernel.
|
||||
|
||||
## Constants
|
||||
|
||||
### ALLOC_UNIT
|
||||
Re-exported from `memory.heap.ALLOC_UNIT`. The base allocation unit size used by the heap allocator.
|
||||
|
||||
### DATA_OFFSET
|
||||
Re-exported from `memory.heap.DATA_OFFSET`. Byte offset from a heap block header to the start of user data.
|
||||
|
||||
### PAGE_SIZE_LMM
|
||||
Re-exported from `memory.heap.PAGE_SIZE_LMM`. Page size used by the lightweight memory manager.
|
||||
|
||||
### TOTAL_UNITS
|
||||
Re-exported from `memory.heap.TOTAL_UNITS`. Total number of allocation units per heap page.
|
||||
|
||||
### BITMAP_DWORDS
|
||||
Re-exported from `memory.heap.BITMAP_DWORDS`. Number of 32-bit words in the per-page allocation bitmap.
|
||||
|
||||
### SIZE_PREFIX
|
||||
Re-exported from `memory.heap.SIZE_PREFIX`. Size of the prefix stored before each allocation to record its length.
|
||||
|
||||
### LARGE_ALLOC_MAGIC
|
||||
Re-exported from `memory.heap.LARGE_ALLOC_MAGIC`. Magic value used to identify large (multi-page) allocations.
|
||||
|
||||
## Types
|
||||
|
||||
### PHeapPageHeader / THeapPageHeader
|
||||
Re-exported from `memory.heap`. Pointer and record types describing the header structure at the beginning of each heap page.
|
||||
|
||||
## Functions and Procedures
|
||||
|
||||
### init
|
||||
```pascal
|
||||
procedure init;
|
||||
```
|
||||
Initializes the heap memory manager by delegating to `memory.heap.init`.
|
||||
|
||||
### kalloc
|
||||
```pascal
|
||||
function kalloc(size: uint32): void;
|
||||
```
|
||||
Allocates `size` bytes from the kernel heap and returns a pointer to the allocated memory.
|
||||
|
||||
### klalloc
|
||||
```pascal
|
||||
function klalloc(size: uint32): void;
|
||||
```
|
||||
Performs a large kernel allocation of `size` bytes and returns a pointer to the allocated memory.
|
||||
|
||||
### klfree
|
||||
```pascal
|
||||
procedure klfree(address: uint32);
|
||||
```
|
||||
Frees a large allocation previously obtained via `klalloc`.
|
||||
|
||||
### kpalloc
|
||||
```pascal
|
||||
function kpalloc(address: uint32): void;
|
||||
```
|
||||
Allocates a heap page at the specified address and returns a pointer to it.
|
||||
|
||||
### kfree
|
||||
```pascal
|
||||
procedure kfree(area: void);
|
||||
```
|
||||
Frees a standard allocation previously obtained via `kalloc`.
|
||||
|
||||
### lmm_total_free
|
||||
```pascal
|
||||
function lmm_total_free: uint32;
|
||||
```
|
||||
Returns the total number of free bytes available across all heap pages.
|
||||
|
||||
### lmm_page_count
|
||||
```pascal
|
||||
function lmm_page_count: uint32;
|
||||
```
|
||||
Returns the current number of heap pages managed by the allocator.
|
||||
|
||||
## Notes
|
||||
|
||||
- Every function and procedure in the implementation section is marked `inline`, so the compiler eliminates the wrapper overhead entirely.
|
||||
- This unit exists solely for backward compatibility with the Wasuro WASM VM build. New kernel code should use `memory.heap` directly.
|
||||
+16
-1
@@ -1 +1,16 @@
|
||||
# Placeholder
|
||||
# types
|
||||
|
||||
Empty compatibility shim that satisfies `uses types` references from the Wasuro WASM VM project.
|
||||
|
||||
## Overview
|
||||
|
||||
Some units in the Wasuro WASM VM source tree include `uses types` to pull in shared type definitions from the Asuro kernel. In the kernel proper, those types may be declared elsewhere or may no longer be needed in the WASM context. This stub unit provides an empty `types` compilation unit so that `uses types` resolves without error during the Wasuro build.
|
||||
|
||||
## Dependencies
|
||||
|
||||
None.
|
||||
|
||||
## Notes
|
||||
|
||||
- The unit declares no constants, types, variables, or routines. Its only purpose is to exist as a valid compilation unit.
|
||||
- If Wasuro code is ever updated to remove the `uses types` dependency, this shim can be deleted.
|
||||
Reference in new issue
Block a user