Index: kernel/arch/ppc32/include/asm/regname.h
===================================================================
--- kernel/arch/ppc32/include/asm/regname.h	(revision 7b187ef6f8a1aeda140487a35c3664962045e88c)
+++ kernel/arch/ppc32/include/asm/regname.h	(revision 0fcfa488af4d5256b39dbabfae819c9a889745c1)
@@ -212,4 +212,7 @@
 #define dbat3u	542
 #define dbat3l	543
+#define tlbmiss	980
+#define ptehi	981
+#define ptelo	982
 #define hid0	1008
 
@@ -221,9 +224,9 @@
 
 /* HID0 bits */
+#define hid0_sten	(1 << 24)
 #define hid0_ice	(1 << 15)
 #define hid0_dce	(1 << 14)
 #define hid0_icfi	(1 << 11)
 #define hid0_dci	(1 << 10)
-#define hid0_sten	(1 << 7)
 
 #endif
Index: kernel/arch/ppc32/include/mm/tlb.h
===================================================================
--- kernel/arch/ppc32/include/mm/tlb.h	(revision 7b187ef6f8a1aeda140487a35c3664962045e88c)
+++ kernel/arch/ppc32/include/mm/tlb.h	(revision 0fcfa488af4d5256b39dbabfae819c9a889745c1)
@@ -59,7 +59,25 @@
 } phte_t;
 
+typedef struct {
+	unsigned v : 1;
+	unsigned vsid : 24;
+	unsigned reserved0 : 1;
+	unsigned api : 6;
+} ptehi_t;
+
+typedef struct {
+	unsigned rpn : 20;
+	unsigned xpn : 3;
+	unsigned reserved0 : 1;
+	unsigned c : 1;
+	unsigned wimg : 4;
+	unsigned x : 1;
+	unsigned pp : 2;
+} ptelo_t;
+
+extern void pht_init(void);
 extern void pht_refill(int n, istate_t *istate);
 extern bool pht_refill_real(int n, istate_t *istate) __attribute__ ((section("K_UNMAPPED_TEXT_START")));
-extern void pht_init(void);
+extern void tlb_refill_real(int n, uint32_t tlbmiss, ptehi_t ptehi, ptelo_t ptelo, istate_t *istate) __attribute__ ((section("K_UNMAPPED_TEXT_START")));
 
 #endif
