diff options
author | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-28 20:54:33 +0000 |
---|---|---|
committer | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-28 20:54:33 +0000 |
commit | 3ebf5aafe562158b59aff2ee49cbcf54332cbb23 (patch) | |
tree | 49e70fa2f1bf2580b4f9ad16bf4096a2004a8551 /target-sparc | |
parent | 9c2b428ee169dfbc92664f06e466a8bb0f45c702 (diff) |
Use slavio base as boot prom address, rearrange sun4m init code
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3747 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-sparc')
-rw-r--r-- | target-sparc/cpu.h | 1 | ||||
-rw-r--r-- | target-sparc/helper.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/target-sparc/cpu.h b/target-sparc/cpu.h index 783a850c64..6f95d94699 100644 --- a/target-sparc/cpu.h +++ b/target-sparc/cpu.h @@ -218,6 +218,7 @@ typedef struct CPUSPARCState { uint32_t mmuregs[32]; uint64_t mxccdata[4]; uint64_t mxccregs[8]; + uint64_t prom_addr; #endif /* temporary float registers */ float32 ft0, ft1; diff --git a/target-sparc/helper.c b/target-sparc/helper.c index 0ebc365e26..a1daed8b7c 100644 --- a/target-sparc/helper.c +++ b/target-sparc/helper.c @@ -115,7 +115,7 @@ int get_physical_address (CPUState *env, target_phys_addr_t *physical, int *prot if ((env->mmuregs[0] & MMU_E) == 0) { /* MMU disabled */ // Boot mode: instruction fetches are taken from PROM if (rw == 2 && (env->mmuregs[0] & env->mmu_bm)) { - *physical = 0xff0000000ULL | (address & 0x3ffffULL); + *physical = env->prom_addr | (address & 0x3ffffULL); *prot = PAGE_READ | PAGE_EXEC; return 0; } |