aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--exec-all.h6
-rw-r--r--translate-all.c3
-rw-r--r--vl.c2
3 files changed, 8 insertions, 3 deletions
diff --git a/exec-all.h b/exec-all.h
index d78224a070..fa407e94a6 100644
--- a/exec-all.h
+++ b/exec-all.h
@@ -541,7 +541,13 @@ static inline target_ulong get_phys_addr_code(CPUState *env, target_ulong addr)
int is_user, index;
index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);
+#if defined(TARGET_I386)
is_user = ((env->hflags & HF_CPL_MASK) == 3);
+#elif defined (TARGET_PPC)
+ is_user = msr_pr;
+#else
+#error "Unimplemented !"
+#endif
if (__builtin_expect(env->tlb_read[is_user][index].address !=
(addr & TARGET_PAGE_MASK), 0)) {
ldub_code((void *)addr);
diff --git a/translate-all.c b/translate-all.c
index c8f345735e..108a21f260 100644
--- a/translate-all.c
+++ b/translate-all.c
@@ -119,7 +119,7 @@ int cpu_gen_code(CPUState *env, TranslationBlock *tb,
gen_opc_buf, gen_opparam_buf);
*gen_code_size_ptr = gen_code_size;
#ifdef DEBUG_DISAS
- if (loglevel) {
+ if (loglevel && 0) {
fprintf(logfile, "OUT: [size=%d]\n", *gen_code_size_ptr);
disas(logfile, gen_code_buf, *gen_code_size_ptr, 1, 0);
fprintf(logfile, "\n");
@@ -203,7 +203,6 @@ int cpu_restore_state(TranslationBlock *tb,
case INDEX_op_ ## op ## _raw
#else
#define CASE3(op)\
- case INDEX_op_ ## op ## _raw:\
case INDEX_op_ ## op ## _user:\
case INDEX_op_ ## op ## _kernel
#endif
diff --git a/vl.c b/vl.c
index 7b52203a7e..cc49e333be 100644
--- a/vl.c
+++ b/vl.c
@@ -85,7 +85,7 @@
#define KERNEL_LOAD_ADDR 0x00100000
#elif defined (TARGET_PPC)
//#define USE_OPEN_FIRMWARE
-#if defined (USE_OPEN_FIRMWARE)
+#if !defined (USE_OPEN_FIRMWARE)
#define KERNEL_LOAD_ADDR 0x01000000
#define KERNEL_STACK_ADDR 0x01200000
#else