mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2025-06-02 23:59:49 -04:00
kern: load initial process binary from user pool, rather than from pt heap
This commit is contained in:
parent
a1e137cc1c
commit
0f8b7be2d2
13 changed files with 350 additions and 184 deletions
|
@ -362,10 +362,9 @@ namespace ams::kern::init {
|
|||
/* NOTE: Nintendo does this only on 10.0.0+ */
|
||||
init_pt.PhysicallyRandomize(slab_region_start, slab_region_size, false);
|
||||
|
||||
/* Determine size available for kernel page table heaps, requiring > 8 MB. */
|
||||
/* Determine size available for kernel page table heaps. */
|
||||
const KPhysicalAddress resource_end_phys_addr = slab_start_phys_addr + resource_region_size;
|
||||
const size_t page_table_heap_size = GetInteger(resource_end_phys_addr) - GetInteger(slab_end_phys_addr);
|
||||
MESOSPHERE_INIT_ABORT_UNLESS(page_table_heap_size / 4_MB > 2);
|
||||
|
||||
/* Insert a physical region for the kernel page table heap region */
|
||||
MESOSPHERE_INIT_ABORT_UNLESS(KMemoryLayout::GetPhysicalMemoryRegionTree().Insert(GetInteger(slab_end_phys_addr), page_table_heap_size, KMemoryRegionType_DramKernelPtHeap));
|
||||
|
|
|
@ -53,7 +53,7 @@ __metadata_kernel_layout:
|
|||
.word __bss_start__ - _start /* rw_end_offset */
|
||||
.word __bss_start__ - _start /* bss_offset */
|
||||
.word __bss_end__ - _start /* bss_end_offset */
|
||||
.word __end__ - _start /* ini_load_offset */
|
||||
.word __end__ - _start /* resource_offset */
|
||||
.word _DYNAMIC - _start /* dynamic_offset */
|
||||
.word __init_array_start - _start /* init_array_offset */
|
||||
.word __init_array_end - _start /* init_array_end_offset */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue