locore: organize data by type

Program text, rodata, and data need different MMU
permissions. Split out rodata and data from the program
text, updating the linker script appropriately.

Region size symbols added to the linker script, so these
can later be used with MMU_BOOT_REGION().

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
Andrew Boie 2019-10-18 13:44:35 -07:00 committed by Andrew Boie
commit cdd721db3b
2 changed files with 187 additions and 172 deletions

View file

@ -27,10 +27,18 @@ SECTIONS
_locore_start = .;
*(.locore)
*(.locore.*)
_lorodata_start = .;
*(.lorodata)
_lodata_start = .;
*(.tss)
_locore_end = .;
*(.lodata)
_lodata_end = .;
}
_locore_size = _lorodata_start - _locore_start;
_lorodata_size = _lodata_start - _lorodata_start;
_lodata_size = _lodata_end - _lodata_start;
/*
* The rest of the system is loaded in "normal" memory (typically
* placed above 1MB to avoid the by memory hole at 0x90000-0xFFFFF).