+ INVLPG_ALL();
+
+ // #3 Set Copy-On-Write to all user pages
+ for( i = 0; i < 256; i ++)
+ {
+ TMPMAPLVL4(i) = PAGEMAPLVL4(i);
+// Log_Debug("MM", "TMPMAPLVL4(%i) = 0x%016llx", i, TMPMAPLVL4(i));
+ if( TMPMAPLVL4(i) & 1 )
+ {
+ MM_RefPhys( TMPMAPLVL4(i) & PADDR_MASK );
+ TMPMAPLVL4(i) |= PF_COW;
+ TMPMAPLVL4(i) &= ~PF_WRITE;
+ }
+ }
+
+ // #4 Map in kernel pages
+ for( i = 256; i < 512; i ++ )
+ {
+ // Skip addresses:
+ // 320 0xFFFFA.... - Kernel Stacks
+ if( i == 320 ) continue;
+ // 509 0xFFFFFE0.. - Fractal mapping
+ if( i == 508 ) continue;
+ // 510 0xFFFFFE8.. - Temp fractal mapping
+ if( i == 509 ) continue;
+
+ TMPMAPLVL4(i) = PAGEMAPLVL4(i);
+ if( TMPMAPLVL4(i) & 1 )
+ MM_RefPhys( TMPMAPLVL4(i) & PADDR_MASK );
+ }