I don’t have any changes in pl011, just reused things from arch/arm.
I did play around a bit with vm mapping. I will push the code somewhere after I clean it up somewhat.
Calling ExitBootServices. So long, EFI!
Boot services terminated.
Configuring TCR_EL1: 580103510
Already at EL1.
phys memory ranges:
0x40000000-0x41291000, length 0x01291000
0x43a68000-0x43b00000, length 0x00098000
0x44000000-0x44020000, length 0x00020000
0x441f4000-0x474d0000, length 0x032dc000
0x47560000-0x47570000, length 0x00010000
0x47690000-0x48000000, length 0x00970000
allocated phys memory ranges:
0x41286000-0x43a0f000, length 0x02789000
0x441f0000-0x441f4000, length 0x00004000
allocated virt memory ranges:
0xffff000002000000-0xffff00000255d000, length 0x0055d000
0xffffff0000000000-0xffffff8000000000, length 0x8000000000
0xffffffff80000000-0xffffffff80225000, length 0x00225000
Entering kernel!
Welcome to kernel debugger output!
Haiku revision: hrev55948+1+dirty, debug level: 2
INIT: init CPU
INIT: init interrupts
INIT: init VM
arch_vm_translation_map_init
vm config: MMFR1: 10211120, TCR: 580103510
TTBR0: 47fff000, TTBR1: 41290000
T0SZ: 16, T1SZ: 16, TG0: 0, TG1: 2, MAIR: ffbb4400
arch_vm_init
pulling page ffffff00441f5000
pulling page ffffff00443f6000
pulling page ffffff00445f7000
pulling page ffffff00447f8000
pulling page ffffff00449f9000
pulling page ffffff0044bfa000
mark_page_range_in_use(0x0, 0x40000): start page is before free list
VMSAv8TranslationMap
reserve_boot_loader_ranges(): Skipping range: 0xffffff0000000000, 549755813888
reserve_boot_loader_ranges(): Skipping range: 0xffffffff80000000, 2248704
arch_vm_translation_map_init_post_area
arch_vm_init_post_area
arch_vm_set_memory_type
INIT: init driver_settings
INIT: init notification services
INIT: init teams
INIT: init ELF loader
INIT: init modules
INIT: init semaphores
INIT: init interrupts post vm
INIT: init system info
INIT: init SMP
INIT: init timer
INIT: init real time clock
allocate_commpage_entry(2, 24) -> 0x0000000000000200
INIT: init condition variables
INIT: init VM semaphores
arch_vm_init_end
arch_vm_translation_map_init_post_sem
INIT: init generic syscall
INIT: init scheduler
scheduler_init: found 1 logical cpu and 0 cache levels
scheduler switches: single core: true, cpu load tracking: false, core load tracking: false
scheduler: switching to low latency mode
INIT: init threads
INIT: init kernel daemons
INIT: init stack protector
INIT: init I/O interrupts
INIT: init VM threads
INIT: init DPC
INIT: init VFS
INIT: init swap support
INIT: init POSIX semaphores
INIT: spawning main2 thread
INIT: waking up AP cpus
INIT: exiting kernel startup
INIT: starting scheduler on cpu 0 and enabling interrupts