Index: arch/mips32/src/mm/tlb.c
===================================================================
--- arch/mips32/src/mm/tlb.c	(revision 8c5e6c749daf4b1aaa266e21aed9b6fdc3809b02)
+++ arch/mips32/src/mm/tlb.c	(revision b07a8384c8bea740060aadf5554e0ec79727b3cc)
@@ -105,5 +105,5 @@
 
 	prepare_entry_hi(&hi, VM->asid, badvaddr);
-	prepare_entry_lo(&lo, pte->g, pte->v, pte->d, pte->c, pte->pfn);
+	prepare_entry_lo(&lo, pte->lo.g, pte->lo.v, pte->lo.d, pte->lo.c, pte->lo.pfn);
 
 	/*
@@ -178,5 +178,5 @@
 	pte->a = 1;
 
-	prepare_entry_lo(&lo, pte->g, pte->v, pte->d, pte->c, pte->pfn);
+	prepare_entry_lo(&lo, pte->lo.g, pte->lo.v, pte->lo.d, pte->lo.c, pte->lo.pfn);
 
 	/*
@@ -251,7 +251,7 @@
 	 */
 	pte->a = 1;
-	pte->d = 1;
-
-	prepare_entry_lo(&lo, pte->g, pte->v, pte->w, pte->c, pte->pfn);
+	pte->lo.d = 1;
+
+	prepare_entry_lo(&lo, pte->lo.g, pte->lo.v, pte->w, pte->lo.c, pte->lo.pfn);
 
 	/*
@@ -376,5 +376,5 @@
 	 * Handler cannot succeed if the mapping is marked as invalid.
 	 */
-	if (!pte->v) {
+	if (!pte->lo.v) {
 		printf("Invalid mapping.\n");
 		return NULL;
