+ stw r20,pfl2Size(r30) ; Set the L2 size
+
+ mfspr r11,hid0 ; Get original hid0
+ std r11,pfHID0(r30) ; Save original
+ mfspr r11,hid1 ; Get original hid1
+ std r11,pfHID1(r30) ; Save original
+ mfspr r11,hid4 ; Get original hid4
+ std r11,pfHID4(r30) ; Save original
+ mfspr r11,hid5 ; Get original hid5
+ std r11,pfHID5(r30) ; Save original
+
+ lis r0, hi16(dnapm) ; Create a mask for the dnap bit
+ sldi r0, r0, 32 ; Shift to the top half
+ ld r11,pfHID0(r30) ; Load the hid0 value
+ andc r11, r11, r0 ; Clear the dnap bit
+ isync
+ mtspr hid0,r11 ; Stuff it
+ mfspr r11,hid0 ; Get it
+ mfspr r11,hid0 ; Get it
+ mfspr r11,hid0 ; Get it
+ mfspr r11,hid0 ; Get it
+ mfspr r11,hid0 ; Get it
+ mfspr r11,hid0 ; Get it
+ isync
+
+ lis r0,(pcfValid|pcfLarge|pcfDedSeg)<<8 ; Set the valid bit, dedicated segment, and large page flags
+ ori r0,r0,(24<<8)|24 ; Add in the 16M page size
+ stw r0,lgpPcfg+(pcfSize*pcfLargePcfg)(0) ; Set the 16M primary large page configuration entry