Index: arch/ppc64/src/mm/page.c
===================================================================
--- arch/ppc64/src/mm/page.c	(revision 040542aa18c2031f9e751738ff84939e979b0d49)
+++ arch/ppc64/src/mm/page.c	(revision b31d18860feb425f02434cc29cf3afa379e0ef8f)
@@ -54,4 +54,5 @@
  * @param lock     Lock/unlock the address space.
  * @param badvaddr Faulting virtual address.
+ * @param access   Access mode that caused the fault.
  * @param istate   Pointer to interrupted state.
  * @param pfrc     Pointer to variable where as_page_fault() return code will be stored.
@@ -59,5 +60,6 @@
  *
  */
-static pte_t *find_mapping_and_check(as_t *as, bool lock, __address badvaddr, istate_t *istate, int *pfcr)
+static pte_t *find_mapping_and_check(as_t *as, bool lock, __address badvaddr, int access,
+				     istate_t *istate, int *pfcr)
 {
 	/*
@@ -79,5 +81,5 @@
 		 */
 		page_table_unlock(as, lock);
-		switch (rc = as_page_fault(badvaddr, istate)) {
+		switch (rc = as_page_fault(badvaddr, access, istate)) {
 			case AS_PF_OK:
 				/*
@@ -212,5 +214,5 @@
 	page_table_lock(as, lock);
 	
-	pte = find_mapping_and_check(as, lock, badvaddr, istate, &pfcr);
+	pte = find_mapping_and_check(as, lock, badvaddr, PF_ACCESS_READ /* FIXME */, istate, &pfcr);
 	if (!pte) {
 		switch (pfcr) {
