fn copy_trampoline(cr3_phys: u64, stack_top_virt: u64)Expand description
Copy the trampoline to physical address 0x8000 and write the data area.
Data area layout (at smp_trampoline_end): +0: CR3 (PML4 physical address) +8: RSP (kernel stack top virtual address)
After writing, performs WBINVD to flush the cache hierarchy to RAM. This is essential on real hardware: the BSP writes the trampoline via HHDM (WB cacheable), but the AP boots in real mode where the effective memory type is determined by MTRRs. If MTRRs mark the region as UC, or if platform firmware does not guarantee cache coherency, the AP would read stale data from RAM without this flush.