Move the system heap and the framebuffers to their own segments (#1488)

* make segments for the systemheap and the framebuffers

* define in the makefile

* undefined syms

* Make segments for the pre boot buffers too

* Update spec

Co-authored-by: Parker <20159000+jpburnett@users.noreply.github.com>

* review

* Update spec

Co-authored-by: Parker <20159000+jpburnett@users.noreply.github.com>

* Update Makefile

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* comments

* comment

* move comment about the hardcoded address to buffers.h

* rewrite SYSTEM_HEAP_END_ADDR in terms of other symbols

* Use `ALIGNED` on all the buffers

* Rename SYSTEM_HEAP_END_ADDR to FRAMEBUFFERS_START_ADDR

* Put ALIGNED at the right like the rest of the codebase

* merge

* gLoBuffer

* gHiBuffer

* Add a static assert to ensure the address of gHiBuffer haven't shifted without the user noticing

* smol include cleanup

---------

Co-authored-by: Parker <20159000+jpburnett@users.noreply.github.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
This commit is contained in:
Anghelo Carvajal
2023-11-26 09:47:21 -03:00
committed by GitHub
parent b25e64d1bd
commit 34492a4386
22 changed files with 152 additions and 49 deletions
+2 -2
View File
@@ -53,8 +53,8 @@ void Main(void* arg) {
Check_RegionIsSupported();
Check_ExpansionPak();
sysHeap = (intptr_t)gSystemHeap;
fb = 0x80780000;
sysHeap = (intptr_t)SEGMENT_START(system_heap);
fb = FRAMEBUFFERS_START_ADDR;
gSystemHeapSize = fb - sysHeap;
SystemHeap_Init((void*)sysHeap, gSystemHeapSize);