This sample demonstrates how demand paging can be leveraged to deal with firmware bigger than the available RAM if XIP is not possible. Select code can be tagged to be loaded into memory on demand, and also be automatically evicted for more code to be executed when memory is exhausted. Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
26 lines
667 B
YAML
26 lines
667 B
YAML
sample:
|
|
description: On-Demand paging of firmware larger than available memory
|
|
name: demand-paging
|
|
common:
|
|
tags:
|
|
- kernel
|
|
- mmu
|
|
- demand_paging
|
|
integration_platforms:
|
|
- qemu_cortex_a53
|
|
harness: console
|
|
harness_config:
|
|
type: multi_line
|
|
ordered: true
|
|
regex:
|
|
- "Calling huge body of code that doesn't fit in memory"
|
|
- "free memory pages: from (.*) to 0, (.*) page faults"
|
|
- "Calling it a second time"
|
|
- "free memory pages: from 0 to 0, (.*) page faults"
|
|
- "Done."
|
|
tests:
|
|
sample.demand_paging.ondemand_section:
|
|
platform_allow:
|
|
- qemu_cortex_a53
|
|
- qemu_cortex_a53/qemu_cortex_a53/smp
|