4 * Turn off MMU, then memmove the new kernel to its correct location
5 * in physical memory. Then jumps the to start of the kernel.
9 MOVL p1+0(FP), DI /* destination */
10 MOVL DI, AX /* entry point */
11 MOVL p2+4(FP), SI /* source */
12 MOVL n+8(FP), CX /* byte count */
18 ANDL $~0x80000000, DX /* ~(PG) */
23 /* stack below entry point */
26 /* park cpu for zero entry point */
31 * the source and destination may overlap.
32 * determine whether to copy forward or backwards
55 * JMP to kernel entry point. Note the true kernel entry point is
56 * the virtual address KZERO|AX, but this must wait until
57 * the MMU is enabled by the kernel in l.s
60 ORL AX, AX /* NOP: avoid link bug */