revert to the plan9-style of putcr3 rather than cr3put because the extra work reading diffs isn't worth the change. Reference: /n/atom/patch/applied2013/nixcrput Date: Sat Sep 14 21:54:34 CES 2013 Signed-off-by: quanstro@quanstro.net --- /sys/src/nix/k10/main.c Sat Sep 14 21:53:38 2013 +++ /sys/src/nix/k10/main.c Sat Sep 14 21:53:39 2013 @@ -435,7 +435,7 @@ // m->pdp[0] = 0 | PtePS | PteP | PteRW; m->pml4[0] = m->pml4[PTLX(KZERO, 3)]; - cr3put(PADDR(m->pml4)); + putcr3(PADDR(m->pml4)); // f = (void*)REBOOTADDR; // memmove(f, rebootcode, sizeof(rebootcode)); --- /sys/src/nix/k10/trap.c Sat Sep 14 21:53:41 2013 +++ /sys/src/nix/k10/trap.c Sat Sep 14 21:53:43 2013 @@ -453,9 +453,9 @@ * CR4. If there is a CR4 and machine check extensions, read the machine * check address and machine check type registers if RDMSR supported. */ - iprint("cr0\t%#16.16llux\n", cr0get()); - iprint("cr2\t%#P\n", cr2get()); - iprint("cr3\t%#16.16llux\n", cr3get()); + iprint("cr0\t%#16.16llux\n", getcr0()); + iprint("cr2\t%#P\n", getcr2()); + iprint("cr3\t%#16.16llux\n", getcr3()); // archdumpregs(); } @@ -566,7 +566,7 @@ int read, user, insyscall; char buf[ERRMAX]; - addr = cr2get(); + addr = getcr2(); user = userureg(ureg); if(!user && vmapsync(addr) == 0) return; --- /sys/src/nix/k10/mmu.c Sat Sep 14 21:53:46 2013 +++ /sys/src/nix/k10/mmu.c Sat Sep 14 21:53:49 2013 @@ -95,7 +95,7 @@ memset(UINT2PTR(m->pml4->va), 0, m->pml4->daddr*sizeof(PTE)); m->pml4->daddr = 0; } - cr3put(m->pml4->pa); + putcr3(m->pml4->pa); } void @@ -283,7 +283,7 @@ } tssrsp0(STACKALIGN(PTR2UINT(proc->kstack+KSTACK))); - cr3put(m->pml4->pa); + putcr3(m->pml4->pa); splx(pl); } @@ -310,7 +310,7 @@ proc->mmuptp[0] = nil; tssrsp0(STACKALIGN(m->stack+MACHSTKSZ)); - cr3put(m->pml4->pa); + putcr3(m->pml4->pa); } static void @@ -719,7 +719,7 @@ // kseg2map(pa, sz, 0); if(active.thunderbirdsarego == 0){ kseg2map(pa, sz, 0); - cr3put(m->pml4->pa); + putcr3(m->pml4->pa); }else{ // wait for all other maches to reload cr3 } @@ -827,7 +827,7 @@ nxeon(); patinit(); - cr3put(m->pml4->pa); + putcr3(m->pml4->pa); DBG("m %#p pml4 %#p\n", m, m->pml4); } @@ -841,7 +841,7 @@ DBG("mach%d: %#p pml4 %#p npgsz %d\n", m->machno, m, m->pml4, m->npgsz); page = &mach0pml4; - page->pa = cr3get(); + page->pa = getcr3(); page->va = PTR2UINT(KADDR(page->pa)); m->pml4 = page; --- /sys/src/nix/k10/fpu.c Sat Sep 14 21:53:52 2013 +++ /sys/src/nix/k10/fpu.c Sat Sep 14 21:53:53 2013 @@ -490,14 +490,14 @@ /* * It's assumed there is an integrated FPU, so Em is cleared; */ - r = cr0get(); + r = getcr0(); r &= ~(Ts|Em); r |= Ne|Mp; - cr0put(r); + putcr0(r); - r = cr4get(); + r = getcr4(); r |= Osxmmexcpt|Osfxsr; - cr4put(r); + putcr4(r); _fninit(); fxsave = (Fxsave*)((PTR2UINT(buf) + 15) & ~15); --- /sys/src/nix/k10/fns.h Sat Sep 14 21:53:56 2013 +++ /sys/src/nix/k10/fns.h Sat Sep 14 21:53:58 2013 @@ -125,13 +125,13 @@ void vsvminit(int); void vunmap(void*, usize); -u64int cr0get(void); -void cr0put(u64int); -u64int cr2get(void); -u64int cr3get(void); -void cr3put(u64int); -u64int cr4get(void); -void cr4put(u64int); +u64int getcr0(void); +void putcr0(u64int); +u64int getcr2(void); +u64int getcr3(void); +void putcr3(u64int); +u64int getcr4(void); +void putcr4(u64int); void gdtget(void*); void gdtput(int, u64int, u16int); void idtput(int, u64int); --- /sys/src/nix/k10/l64v.s Sat Sep 14 21:54:00 2013 +++ /sys/src/nix/k10/l64v.s Sat Sep 14 21:54:02 2013 @@ -135,33 +135,33 @@ /* * Read/write various system registers. */ -TEXT cr0get(SB), 1, $-4 /* Processor Control */ +TEXT getcr0(SB), 1, $-4 /* Processor Control */ MOVQ CR0, AX RET -TEXT cr0put(SB), 1, $-4 +TEXT putcr0(SB), 1, $-4 MOVQ RARG, AX MOVQ AX, CR0 RET -TEXT cr2get(SB), 1, $-4 /* #PF Linear Address */ +TEXT getcr2(SB), 1, $-4 /* #PF Linear Address */ MOVQ CR2, AX RET -TEXT cr3get(SB), 1, $-4 /* PML4 Base */ +TEXT getcr3(SB), 1, $-4 /* PML4 Base */ MOVQ CR3, AX RET -TEXT cr3put(SB), 1, $-4 +TEXT putcr3(SB), 1, $-4 MOVQ RARG, AX MOVQ AX, CR3 RET -TEXT cr4get(SB), 1, $-4 /* Extensions */ +TEXT getcr4(SB), 1, $-4 /* Extensions */ MOVQ CR4, AX RET -TEXT cr4put(SB), 1, $-4 +TEXT putcr4(SB), 1, $-4 MOVQ RARG, AX MOVQ AX, CR4 RET