Index: arch/sparc64/include/mm/page.h
===================================================================
--- arch/sparc64/include/mm/page.h	(revision 086d4fdc2702688cbbe860eb8b6fa914170b9d24)
+++ arch/sparc64/include/mm/page.h	(revision c7ec94a41807d5fd556f2d26b42c6b816b3da7c8)
@@ -42,14 +42,4 @@
 #define SET_PTL0_ADDRESS_ARCH(x)	/**< To be removed as situation permits. */
 
-/** Implementation of page hash table interface. */
-#define HT_WIDTH_ARCH			20	/* 1M */
-#define HT_HASH_ARCH(page, asid)	0
-#define HT_COMPARE_ARCH(page, asid, t)	0
-#define HT_SLOT_EMPTY_ARCH(t)		1
-#define HT_INVALIDATE_SLOT_ARCH(t)
-#define HT_GET_NEXT_ARCH(t)		0
-#define HT_SET_NEXT_ARCH(t, s)
-#define HT_SET_RECORD_ARCH(t, page, asid, frame, flags)
-
 union page_address {
 	__address address;
Index: arch/sparc64/include/types.h
===================================================================
--- arch/sparc64/include/types.h	(revision 086d4fdc2702688cbbe860eb8b6fa914170b9d24)
+++ arch/sparc64/include/types.h	(revision c7ec94a41807d5fd556f2d26b42c6b816b3da7c8)
@@ -45,5 +45,5 @@
 typedef __u64 __native;
 
-typedef __u64 pte_t;
+typedef struct pte pte_t;
 
 typedef __u8 asi_t;
Index: arch/sparc64/src/mm/frame.c
===================================================================
--- arch/sparc64/src/mm/frame.c	(revision 086d4fdc2702688cbbe860eb8b6fa914170b9d24)
+++ arch/sparc64/src/mm/frame.c	(revision c7ec94a41807d5fd556f2d26b42c6b816b3da7c8)
@@ -33,4 +33,10 @@
 void frame_arch_init(void)
 {
+	/*
+	 * Workaround to prevent slab allocator from allocating fram 0,
+	 * which is not, at that time, mapped.
+	 */
+	frame_region_not_free(0, FRAME_SIZE);
+	
 	zone_create_in_region(0, config.memory_size & ~(FRAME_SIZE - 1));
 }
