Revision 05f92404
b/hw/ppc405_boards.c | ||
---|---|---|
187 | 187 |
target_ulong kernel_base, kernel_size, initrd_base, initrd_size; |
188 | 188 |
int linux_boot; |
189 | 189 |
int fl_idx, fl_sectors, len; |
190 |
int ppc_boot_device = boot_device[0]; |
|
191 | 190 |
DriveInfo *dinfo; |
192 | 191 |
|
193 | 192 |
/* XXX: fix this */ |
... | ... | |
326 | 325 |
} |
327 | 326 |
env->gpr[4] = initrd_base; |
328 | 327 |
env->gpr[5] = initrd_size; |
329 |
ppc_boot_device = 'm'; |
|
330 | 328 |
if (kernel_cmdline != NULL) { |
331 | 329 |
len = strlen(kernel_cmdline); |
332 | 330 |
bdloc -= ((len + 255) & ~255); |
... | ... | |
508 | 506 |
target_ulong kernel_base, kernel_size, initrd_base, initrd_size; |
509 | 507 |
int linux_boot; |
510 | 508 |
int fl_idx, fl_sectors; |
511 |
int ppc_boot_device = boot_device[0]; |
|
512 | 509 |
DriveInfo *dinfo; |
513 | 510 |
|
514 | 511 |
/* RAM is soldered to the board so the size cannot be changed */ |
... | ... | |
625 | 622 |
initrd_base = 0; |
626 | 623 |
initrd_size = 0; |
627 | 624 |
} |
628 |
ppc_boot_device = 'm'; |
|
629 | 625 |
} else { |
630 | 626 |
kernel_base = 0; |
631 | 627 |
kernel_size = 0; |
b/target-ppc/helper.c | ||
---|---|---|
198 | 198 |
target_ulong ptem, mmask; |
199 | 199 |
int access, ret, pteh, ptev, pp; |
200 | 200 |
|
201 |
access = 0; |
|
202 | 201 |
ret = -1; |
203 | 202 |
/* Check validity and table match */ |
204 | 203 |
#if defined(TARGET_PPC64) |
... | ... | |
493 | 492 |
int rw, int type) |
494 | 493 |
{ |
495 | 494 |
target_ulong *BATlt, *BATut, *BATu, *BATl; |
496 |
target_ulong base, BEPIl, BEPIu, bl;
|
|
495 |
target_ulong BEPIl, BEPIu, bl; |
|
497 | 496 |
int i, valid, prot; |
498 | 497 |
int ret = -1; |
499 | 498 |
|
... | ... | |
509 | 508 |
BATut = env->DBAT[0]; |
510 | 509 |
break; |
511 | 510 |
} |
512 |
base = virtual & 0xFFFC0000; |
|
513 | 511 |
for (i = 0; i < env->nb_BATs; i++) { |
514 | 512 |
BATu = &BATut[i]; |
515 | 513 |
BATl = &BATlt[i]; |
... | ... | |
1755 | 1753 |
void ppc_store_ibatu_601 (CPUPPCState *env, int nr, target_ulong value) |
1756 | 1754 |
{ |
1757 | 1755 |
target_ulong mask; |
1756 |
#if defined(FLUSH_ALL_TLBS) |
|
1758 | 1757 |
int do_inval; |
1758 |
#endif |
|
1759 | 1759 |
|
1760 | 1760 |
dump_store_bat(env, 'I', 0, nr, value); |
1761 | 1761 |
if (env->IBAT[0][nr] != value) { |
1762 |
#if defined(FLUSH_ALL_TLBS) |
|
1762 | 1763 |
do_inval = 0; |
1764 |
#endif |
|
1763 | 1765 |
mask = (env->IBAT[1][nr] << 17) & 0x0FFE0000UL; |
1764 | 1766 |
if (env->IBAT[1][nr] & 0x40) { |
1765 | 1767 |
/* Invalidate BAT only if it is valid */ |
... | ... | |
1792 | 1794 |
void ppc_store_ibatl_601 (CPUPPCState *env, int nr, target_ulong value) |
1793 | 1795 |
{ |
1794 | 1796 |
target_ulong mask; |
1797 |
#if defined(FLUSH_ALL_TLBS) |
|
1795 | 1798 |
int do_inval; |
1799 |
#endif |
|
1796 | 1800 |
|
1797 | 1801 |
dump_store_bat(env, 'I', 1, nr, value); |
1798 | 1802 |
if (env->IBAT[1][nr] != value) { |
1803 |
#if defined(FLUSH_ALL_TLBS) |
|
1799 | 1804 |
do_inval = 0; |
1805 |
#endif |
|
1800 | 1806 |
if (env->IBAT[1][nr] & 0x40) { |
1801 | 1807 |
#if !defined(FLUSH_ALL_TLBS) |
1802 | 1808 |
mask = (env->IBAT[1][nr] << 17) & 0x0FFE0000UL; |
b/target-ppc/translate.c | ||
---|---|---|
3398 | 3398 |
static inline void gen_bcond(DisasContext *ctx, int type) |
3399 | 3399 |
{ |
3400 | 3400 |
uint32_t bo = BO(ctx->opcode); |
3401 |
int l1 = gen_new_label();
|
|
3401 |
int l1; |
|
3402 | 3402 |
TCGv target; |
3403 | 3403 |
|
3404 | 3404 |
ctx->exception = POWERPC_EXCP_BRANCH; |
Also available in: Unified diff