Revision 5fafdf24 target-ppc/helper.c
b/target-ppc/helper.c | ||
---|---|---|
1 | 1 |
/* |
2 | 2 |
* PowerPC emulation helpers for qemu. |
3 |
*
|
|
3 |
* |
|
4 | 4 |
* Copyright (c) 2003-2007 Jocelyn Mayer |
5 | 5 |
* |
6 | 6 |
* This library is free software; you can redistribute it and/or |
... | ... | |
255 | 255 |
tlb = &env->tlb[nr].tlb6; |
256 | 256 |
#if defined (DEBUG_SOFTWARE_TLB) |
257 | 257 |
if (loglevel != 0) { |
258 |
fprintf(logfile, "Set TLB %d/%d EPN " ADDRX " PTE0 " ADDRX
|
|
258 |
fprintf(logfile, "Set TLB %d/%d EPN " ADDRX " PTE0 " ADDRX |
|
259 | 259 |
" PTE1 " ADDRX "\n", nr, env->nb_tlb, EPN, pte0, pte1); |
260 | 260 |
} |
261 | 261 |
#endif |
... | ... | |
383 | 383 |
bl = (*BATu & 0x00001FFC) << 15; |
384 | 384 |
#if defined (DEBUG_BATS) |
385 | 385 |
if (loglevel != 0) { |
386 |
fprintf(logfile, "%s: %cBAT%d v 0x" ADDRX " BATu 0x" ADDRX
|
|
386 |
fprintf(logfile, "%s: %cBAT%d v 0x" ADDRX " BATu 0x" ADDRX |
|
387 | 387 |
" BATl 0x" ADDRX "\n", |
388 | 388 |
__func__, type == ACCESS_CODE ? 'I' : 'D', i, virtual, |
389 | 389 |
*BATu, *BATl); |
... | ... | |
452 | 452 |
pte1 = ldl_phys(base + (i * 8) + 4); |
453 | 453 |
#if defined (DEBUG_MMU) |
454 | 454 |
if (loglevel > 0) { |
455 |
fprintf(logfile, "Load pte from 0x" ADDRX " => 0x" ADDRX
|
|
455 |
fprintf(logfile, "Load pte from 0x" ADDRX " => 0x" ADDRX |
|
456 | 456 |
" 0x" ADDRX " %d %d %d 0x" ADDRX "\n", |
457 | 457 |
base + (i * 8), pte0, pte1, |
458 | 458 |
pte0 >> 31, h, (pte0 >> 6) & 1, ctx->ptem); |
... | ... | |
528 | 528 |
((sr & 0x40000000) && msr_pr == 0)) ? 1 : 0; |
529 | 529 |
if ((sr & 0x80000000) == 0) { |
530 | 530 |
#if defined (DEBUG_MMU) |
531 |
if (loglevel > 0)
|
|
531 |
if (loglevel > 0) |
|
532 | 532 |
fprintf(logfile, "pte segment: key=%d n=0x" ADDRX "\n", |
533 | 533 |
ctx->key, sr & 0x10000000); |
534 | 534 |
#endif |
... | ... | |
709 | 709 |
ppcemb_tlb_t *tlb; |
710 | 710 |
target_phys_addr_t raddr; |
711 | 711 |
int i, ret, zsel, zpr; |
712 |
|
|
712 |
|
|
713 | 713 |
ret = -1; |
714 | 714 |
raddr = -1; |
715 | 715 |
for (i = 0; i < env->nb_tlb; i++) { |
... | ... | |
808 | 808 |
" %d %d\n", __func__, address, raddr, ctx->prot, |
809 | 809 |
ret); |
810 | 810 |
} |
811 |
|
|
811 |
|
|
812 | 812 |
return ret; |
813 | 813 |
} |
814 | 814 |
|
... | ... | |
825 | 825 |
target_ulong eaddr, int rw) |
826 | 826 |
{ |
827 | 827 |
int in_plb, ret; |
828 |
|
|
828 |
|
|
829 | 829 |
ctx->raddr = eaddr; |
830 | 830 |
ctx->prot = PAGE_READ; |
831 | 831 |
ret = 0; |
Also available in: Unified diff