aboutsummaryrefslogtreecommitdiff
path: root/target-microblaze
AgeCommit message (Collapse)AuthorFilesLines
2010-03-17Large page TLB flushPaul Brook1-3/+4
QEMU uses a fixed page size for the CPU TLB. If the guest uses large pages then we effectively split these into multiple smaller pages, and populate the corresponding TLB entries on demand. When the guest invalidates the TLB by virtual address we must invalidate all entries covered by the large page. However the address used to invalidate the entry may not be present in the QEMU TLB, so we do not know which regions to clear. Implementing a full vaiable size TLB is hard and slow, so just keep a simple address/mask pair to record which addresses may have been mapped by large pages. If the guest invalidates this region then flush the whole TLB. Signed-off-by: Paul Brook <paul@codesourcery.com>
2010-03-12Target specific usermode cleanupPaul Brook2-1/+3
Disable various target specific code that is only relevant to system emulation. Signed-off-by: Paul Brook <paul@codesourcery.com>
2010-03-12Remove cpu_get_phys_page_debug from userspace emulationPaul Brook1-5/+0
cpu_get_phys_page_debug makes no sense for userspace emulation, so remove it. Signed-off-by: Paul Brook <paul@codesourcery.com>
2010-03-12Move TARGET_PHYS_ADDR_SPACE_BITS to target-*/cpu.h.Richard Henderson1-0/+3
Removes a set of ifdefs from exec.c. Introduce TARGET_VIRT_ADDR_SPACE_BITS for all targets other than Alpha. This will be used for page_find_alloc, which is supposed to be using virtual addresses in the first place. Signed-off-by: Richard Henderson <rth@twiddle.net>
2010-02-20microblaze: Improve brk emulation.Edgar E. Iglesias1-5/+14
brk insns while in user mode raise priv insn exceptions. This commit makes gdbserver work on linux guests. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@petalogix.com>
2010-02-20microblaze: Dont segfault when singlestepping first insn.Edgar E. Iglesias1-0/+6
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@petalogix.com>
2010-01-19kill regs_to_env and env_to_regsPaolo Bonzini1-8/+0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-12-16microblaze: Print content of EAR registerMichal Simek2-4/+4
I need to see EAR register in output because I need to parse irqsoff problem. Signed-off-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-12-16microblaze: Update debug logs.Edgar E. Iglesias2-2/+14
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-12-13microblaze: Handle wdc flush and clear.Edgar E. Iglesias1-0/+3
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-12-13microblaze: Correct branch to registers.Paul Hartke1-1/+1
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-11-12microblaze: Restore env when raising unmapped bus access.Edgar E. Iglesias1-0/+2
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-11-12microblaze: Unbreak reset.Edgar E. Iglesias1-27/+26
Initialize synthesis config registers at reset to cope with the new cpu_reset sequences. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-10-01Revert "Get rid of _t suffix"Anthony Liguori3-4/+4
In the very least, a change like this requires discussion on the list. The naming convention is goofy and it causes a massive merge problem. Something like this _must_ be presented on the list first so people can provide input and cope with it. This reverts commit 99a0949b720a0936da2052cb9a46db04ffc6db29. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-10-01Get rid of _t suffixmalc3-4/+4
Some not so obvious bits, slirp and Xen were left alone for the time being. Signed-off-by: malc <av1474@comtv.ru>
2009-09-25gcc wants 1st static and then constJuan Quintela1-2/+2
Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-09-12Fix sys-queue.h conflict for goodBlue Swirl1-2/+2
Problem: Our file sys-queue.h is a copy of the BSD file, but there are some additions and it's not entirely compatible. Because of that, there have been conflicts with system headers on BSD systems. Some hacks have been introduced in the commits 15cc9235840a22c289edbe064a9b3c19c5f49896, f40d753718c72693c5f520f0d9899f6e50395e94, 96555a96d724016e13190b28cffa3bc929ac60dc and 3990d09adf4463eca200ad964cc55643c33feb50 but the fixes were fragile. Solution: Avoid the conflict entirely by renaming the functions and the file. Revert the previous hacks. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-09-11microblaze: Trap if QEMU finds an unknown insns.Edgar E. Iglesias1-0/+6
If PVR settings enable illegal insn trap, trap when QEMU finds an insn it knows nothing about. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-11microblaze: Correct prio between MMU and unaligned exceptions.Edgar E. Iglesias1-6/+25
The microblaze gives MMU faults priority. For stores we still have a flaw that the value leaks to memory in the case of an unaligned exception. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-11microblaze: HW Exception fixes.Edgar E. Iglesias2-19/+21
* Correct PVR checks for masking off individual exceptions. * Correct FPU exception code. * Set EAR on unaligned and unassigned exceptions. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-04microblaze: Trap on illegal load/store sizes.Edgar E. Iglesias1-0/+13
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-04microblaze: Correct FPU decoding masks.Edgar E. Iglesias1-2/+2
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03microblaze: Compute masks for alignment checks at translation time.Edgar E. Iglesias2-15/+6
Thanks to Blue Swirl for reporting. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03microblaze: Trap on bus accesses to unmapped areas.Edgar E. Iglesias2-0/+30
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03microblaze: MMU shows more respect to synthesis config.Edgar E. Iglesias3-6/+67
The microblaze MMU can be synthesized in different configurations. Have the MMU model show more respect to the chosen configuration. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03microblaze: Trap on unaligned data accesses.Edgar E. Iglesias3-2/+45
Untested... Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03microblaze: Trap on divizions by zero.Edgar E. Iglesias2-2/+6
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03microblaze: Correct mfs into r0.Edgar E. Iglesias1-0/+4
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03microblaze: Catch illegal insns and privilege violations.Edgar E. Iglesias2-1/+111
Raise illegal instruction exceptions when executing instructions that require units not available on the particulare microblaze configuration. Also trap priviliege violations made by userspace. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03microblaze: Add infrastructure for supporting hw exceptions.Edgar E. Iglesias2-3/+49
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03microblaze: Clear exception in dslot ESR bit if not in dslot.Edgar E. Iglesias1-0/+1
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-09-03microblaze: Correct MMU debug log.Edgar E. Iglesias1-1/+1
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-08-24cleanup cpu-exec.c, part 0/N: consolidate handle_cpu_signalNathan Froyd1-0/+1
handle_cpu_signal is very nearly copy-paste code for each target, with a few minor variations. This patch sets up appropriate defaults for a generic handle_cpu_signal and provides overrides for particular targets that did things differently. Fixing things like the persistent (XXX: use sigsetjmp) should now become somewhat easier. Previous comments on this patch suggest that the "activate soft MMU for this block" comments refer to defunct functionality. I have removed such blocks for the appropriate targets in this patch. Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16Update to a hopefully more future proof FSF addressBlue Swirl8-16/+8
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-05-27microblaze: Make writes to MMU_ZPR flush the TLB.Edgar E. Iglesias1-0/+7
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-05-27microblaze: Correct typo.Edgar E. Iglesias1-1/+1
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-05-26microblaze: Add petalogix s3a1800dsp MMU linux ref-design.Edgar E. Iglesias1-0/+11
This setup was designed by petalogix and is supported by upstream linux. The design targets a xilinx spartan-3a-1800 dsp board with MMU. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-05-26microblaze: Add MMU emulation.Edgar E. Iglesias2-0/+338
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2009-05-26microblaze: Add translation routines.Edgar E. Iglesias7-0/+2305
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>