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 */
}
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);
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 */
initrd_base = 0;
initrd_size = 0;
}
- ppc_boot_device = 'm';
} else {
kernel_base = 0;
kernel_size = 0;
target_ulong ptem, mmask;
int access, ret, pteh, ptev, pp;
- access = 0;
ret = -1;
/* Check validity and table match */
#if defined(TARGET_PPC64)
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;
BATut = env->DBAT[0];
break;
}
- base = virtual & 0xFFFC0000;
for (i = 0; i < env->nb_BATs; i++) {
BATu = &BATut[i];
BATl = &BATlt[i];
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 */
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;