aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/ppc405_boards.c4
-rw-r--r--target-ppc/helper.c12
-rw-r--r--target-ppc/translate.c2
3 files changed, 10 insertions, 8 deletions
diff --git a/hw/ppc405_boards.c b/hw/ppc405_boards.c
index f40d618963..7c7075e0da 100644
--- a/hw/ppc405_boards.c
+++ b/hw/ppc405_boards.c
@@ -187,7 +187,6 @@ static void ref405ep_init (ram_addr_t ram_size,
target_ulong kernel_base, kernel_size, initrd_base, initrd_size;
int linux_boot;
int fl_idx, fl_sectors, len;
- int ppc_boot_device = boot_device[0];
DriveInfo *dinfo;
/* XXX: fix this */
@@ -326,7 +325,6 @@ static void ref405ep_init (ram_addr_t ram_size,
}
env->gpr[4] = initrd_base;
env->gpr[5] = initrd_size;
- ppc_boot_device = 'm';
if (kernel_cmdline != NULL) {
len = strlen(kernel_cmdline);
bdloc -= ((len + 255) & ~255);
@@ -508,7 +506,6 @@ static void taihu_405ep_init(ram_addr_t ram_size,
target_ulong kernel_base, kernel_size, initrd_base, initrd_size;
int linux_boot;
int fl_idx, fl_sectors;
- int ppc_boot_device = boot_device[0];
DriveInfo *dinfo;
/* RAM is soldered to the board so the size cannot be changed */
@@ -625,7 +622,6 @@ static void taihu_405ep_init(ram_addr_t ram_size,
initrd_base = 0;
initrd_size = 0;
}
- ppc_boot_device = 'm';
} else {
kernel_base = 0;
kernel_size = 0;
diff --git a/target-ppc/helper.c b/target-ppc/helper.c
index c28223bd29..a5479c4505 100644
--- a/target-ppc/helper.c
+++ b/target-ppc/helper.c
@@ -198,7 +198,6 @@ static inline int _pte_check(mmu_ctx_t *ctx, int is_64b, target_ulong pte0,
target_ulong ptem, mmask;
int access, ret, pteh, ptev, pp;
- access = 0;
ret = -1;
/* Check validity and table match */
#if defined(TARGET_PPC64)
@@ -493,7 +492,7 @@ static inline int get_bat(CPUState *env, mmu_ctx_t *ctx, target_ulong virtual,
int rw, int type)
{
target_ulong *BATlt, *BATut, *BATu, *BATl;
- target_ulong base, BEPIl, BEPIu, bl;
+ target_ulong BEPIl, BEPIu, bl;
int i, valid, prot;
int ret = -1;
@@ -509,7 +508,6 @@ static inline int get_bat(CPUState *env, mmu_ctx_t *ctx, target_ulong virtual,
BATut = env->DBAT[0];
break;
}
- base = virtual & 0xFFFC0000;
for (i = 0; i < env->nb_BATs; i++) {
BATu = &BATut[i];
BATl = &BATlt[i];
@@ -1755,11 +1753,15 @@ void ppc_store_dbatl (CPUPPCState *env, int nr, target_ulong value)
void ppc_store_ibatu_601 (CPUPPCState *env, int nr, target_ulong value)
{
target_ulong mask;
+#if defined(FLUSH_ALL_TLBS)
int do_inval;
+#endif
dump_store_bat(env, 'I', 0, nr, value);
if (env->IBAT[0][nr] != value) {
+#if defined(FLUSH_ALL_TLBS)
do_inval = 0;
+#endif
mask = (env->IBAT[1][nr] << 17) & 0x0FFE0000UL;
if (env->IBAT[1][nr] & 0x40) {
/* Invalidate BAT only if it is valid */
@@ -1792,11 +1794,15 @@ void ppc_store_ibatu_601 (CPUPPCState *env, int nr, target_ulong value)
void ppc_store_ibatl_601 (CPUPPCState *env, int nr, target_ulong value)
{
target_ulong mask;
+#if defined(FLUSH_ALL_TLBS)
int do_inval;
+#endif
dump_store_bat(env, 'I', 1, nr, value);
if (env->IBAT[1][nr] != value) {
+#if defined(FLUSH_ALL_TLBS)
do_inval = 0;
+#endif
if (env->IBAT[1][nr] & 0x40) {
#if !defined(FLUSH_ALL_TLBS)
mask = (env->IBAT[1][nr] << 17) & 0x0FFE0000UL;
diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index 3869c2401b..3d9d5eef4d 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -3398,7 +3398,7 @@ static void gen_b(DisasContext *ctx)
static inline void gen_bcond(DisasContext *ctx, int type)
{
uint32_t bo = BO(ctx->opcode);
- int l1 = gen_new_label();
+ int l1;
TCGv target;
ctx->exception = POWERPC_EXCP_BRANCH;