diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index 510d9dd..35ce8bf 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -130,6 +130,7 @@ static void spr_write_lr (void *opaque, int sprn, int gprn)
 }
 
 /* CFAR */
+#if defined(TARGET_PPC64) && !defined(CONFIG_USER_ONLY)
 static void spr_read_cfar (void *opaque, int gprn, int sprn)
 {
     tcg_gen_mov_tl(cpu_gpr[gprn], cpu_cfar);
@@ -139,6 +140,7 @@ static void spr_write_cfar (void *opaque, int sprn, int gprn)
 {
     tcg_gen_mov_tl(cpu_cfar, cpu_gpr[gprn]);
 }
+#endif /* defined(TARGET_PPC64) && !defined(CONFIG_USER_ONLY) */
 
 /* CTR */
 static void spr_read_ctr (void *opaque, int gprn, int sprn)
