diff options
author | Artyom Tarasenko <atar4qemu@gmail.com> | 2016-03-03 14:03:41 +0100 |
---|---|---|
committer | Artyom Tarasenko <atar4qemu@gmail.com> | 2017-01-18 22:03:44 +0100 |
commit | 913b5f2827d83b573a23960ae2b15795c9b925cd (patch) | |
tree | 12e3ce8b3165948e1da9ede9d4a5eea936fe8dae /target/sparc | |
parent | e5673ee45e4ce57ca8d538cbdfd186189239d31b (diff) |
target-sparc: allow 256M sized pages
Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com>
Diffstat (limited to 'target/sparc')
-rw-r--r-- | target/sparc/mmu_helper.c | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/target/sparc/mmu_helper.c b/target/sparc/mmu_helper.c index 044e88c4c5..fa70dc08f4 100644 --- a/target/sparc/mmu_helper.c +++ b/target/sparc/mmu_helper.c @@ -456,23 +456,7 @@ static inline int ultrasparc_tag_match(SparcTLBEntry *tlb, uint64_t address, uint64_t context, hwaddr *physical) { - uint64_t mask; - - switch (TTE_PGSIZE(tlb->tte)) { - default: - case 0x0: /* 8k */ - mask = 0xffffffffffffe000ULL; - break; - case 0x1: /* 64k */ - mask = 0xffffffffffff0000ULL; - break; - case 0x2: /* 512k */ - mask = 0xfffffffffff80000ULL; - break; - case 0x3: /* 4M */ - mask = 0xffffffffffc00000ULL; - break; - } + uint64_t mask = -(8192ULL << 3 * TTE_PGSIZE(tlb->tte)); /* valid, context match, virtual address match? */ if (TTE_IS_VALID(tlb->tte) && |