diff --git a/README.md b/README.md index a932bc72013ece..19e705a97d9d5d 100644 --- a/README.md +++ b/README.md @@ -3,5 +3,9 @@ Contains patches for: * Support for virtio-watchdog -* Boot time performance reporting for x86_64 and aarch64 +* Boot time performance reporting for x86_64 + +The arm64 kernel does not write to Cloud Hypervisor's boot-timing MMIO register +at `0x09000f00`: the address is unmapped on other hypervisors, including Apple's +Virtualization.framework, where the write prevents booting on macOS 27. diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S index 32331e86c88ca1..cb68adcabe0789 100644 --- a/arch/arm64/kernel/head.S +++ b/arch/arm64/kernel/head.S @@ -82,7 +82,6 @@ * x21 primary_entry() .. start_kernel() FDT pointer passed at boot in x0 */ SYM_CODE_START(primary_entry) - bl trap_to_vmm bl record_mmu_state bl preserve_boot_args @@ -164,21 +163,6 @@ CPU_BE( tbz x19, #SCTLR_ELx_EE_SHIFT, 1f ) ret SYM_CODE_END(record_mmu_state) -/* - * By writing to mmio region, trap to vmm to print timestamp, - * but corrupt x7 and x8. - * 0x9000f00 is debug region of pl011 - * 0x40 is the code specified in cloud hypervisor indicating the first debug - * point of kernel. - */ -SYM_CODE_START(trap_to_vmm) - movz x7, 0x0900, lsl 16 - add x7, x7, 0xf00 - mov x8, 0x40 - str w8, [x7] - ret -SYM_CODE_END(trap_to_vmm) - /* * Preserve the arguments passed by the bootloader in x0 .. x3 */