xous-core/loader/src
Sean Cross b35d65c3e1 loader: skip zeroing when we hit a page boundary
Previously, we would unconditionally zero out the remainder of a page
when finished copying. We wrapped to PAGE_SIZE in order to avoid
corrupting another process' memory.

However, an issue was discovered under the following circumstances:

    1. There are fewer than 4096 bytes of `.bss`
    2. The `.bss` ends on a page boundary

Under these conditions, the loader would load the section before the
`.bss` into the page, then clear out the `.bss`, and finally clear the
entire page, overwriting the previous section.

Skip the remainder-of-page clearout when the `.bss` ends on a page
boundary, rather than clearing the entire page.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-10-20 11:27:48 +08:00
..
fonts initial attempt to move the font resources into the loader 2022-01-23 03:23:06 +08:00
args.rs repo: run cargo fmt 2021-01-03 18:31:51 +08:00
asm.S set the stage for simple signature validation on the kernel 2021-07-12 02:26:50 +08:00
debug.rs loader: debug: fix minor clippy warning 2021-08-06 11:55:56 +08:00
font6x12.png set the stage for simple signature validation on the kernel 2021-07-12 02:26:50 +08:00
font6x12_1bpp.raw set the stage for simple signature validation on the kernel 2021-07-12 02:26:50 +08:00
fonts.rs initial attempt to move the font resources into the loader 2022-01-23 03:23:06 +08:00
generate_fonts.py follow-on set of commits related to the previous revert 2022-01-17 23:52:58 +08:00
main.rs loader: skip zeroing when we hit a page boundary 2022-10-20 11:27:48 +08:00
murmur3.rs add some preliminary bits for the loader to detect suspend/resume 2021-04-29 00:22:38 +08:00
secboot.rs loader: move loader into main workspace 2022-03-22 02:09:18 +08:00
test.rs repo: run cargo fmt 2021-01-03 18:31:51 +08:00