summaryrefslogtreecommitdiffstats
path: root/target-cris
Commit message (Collapse)AuthorAgeFilesLines
* cris, microblaze: use cpu_has_workPaolo Bonzini2011-02-081-3/+1
| | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: Replace tcg branch sequence with setcondEdgar E. Iglesias2011-01-251-9/+2
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: Set btaken when storing direct jumpsEdgar E. Iglesias2011-01-131-0/+3
| | | | | | | When storing a direct jmp from translation state into runtime state we should set the btaken flag. Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
* cris: Remove unused orig_flagsEdgar E. Iglesias2011-01-101-2/+2
| | | | | | Based on a patch by Blue Swirl <blauwirbel@gmail.com>. Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
* cris: Allow more TB chaining for crisv10Edgar E. Iglesias2011-01-102-14/+33
| | | | Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
* cris: Allow more TB chaningEdgar E. Iglesias2011-01-071-19/+22
| | | | Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
* cris: Avoid useless tmp in t_gen_cc_jmp()Edgar E. Iglesias2011-01-071-6/+1
| | | | Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
* target-xxx: Use fprintf_function (format checking)Stefan Weil2010-10-302-4/+3
| | | | | | | | | | | | | fprintf_function uses format checking with GCC_FMT_ATTR. Format errors were fixed in * target-i386/helper.c * target-mips/translate.c * target-ppc/translate.c Cc: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* cris: avoid a write only variableBlue Swirl2010-10-131-3/+2
| | | | | | | | | | | Compiling with GCC 4.6.0 20100925 produced a warning: In file included from /src/qemu/target-cris/translate.c:3154:0: /src/qemu/target-cris/translate_v10.c: In function 'dec10_prep_move_m': /src/qemu/target-cris/translate_v10.c:111:22: error: variable 'rd' set but not used [-Werror=unused-but-set-variable] Fix by deleting rd, adjust the only user. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* cris: Consider the TLB valid bit on writes to the TLBEdgar E. Iglesias2010-10-071-1/+3
| | | | | | | | | When updating the guest TLB we only need to flush previous mappings from the entry written if the entry was valid. Also fixes a compiler warning reported by Blue Swirl. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* target-cris: Use %td for ptrdiff_t arguments in debug messageStefan Weil2010-10-021-1/+1
| | | | | | | | | | According to ISO/IEC 9899:1999 7.19.6.1, the correct length modifier for ptrdiff_t is 't', not 'z'. Cc: Blue Swirl <blauwirbel@gmail.com> Cc: Markus Armbruster <armbru@redhat.com> Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: Fix watchdog resetsEdgar E. Iglesias2010-09-191-2/+3
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: Fix TLB exec bit protectionEdgar E. Iglesias2010-09-182-2/+2
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* Use gcc warning flag -Wempty-bodyBlue Swirl2010-09-181-1/+1
| | | | | | | | If the compiler supports the warning flag -Wempty-body, use it. Adjust the code to avoid the warnings. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* cris: Avoid spurios hw_abort on recursive bus faultsEdgar E. Iglesias2010-09-161-1/+7
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: Avoid debug clobbering for both I & D MMU state.Edgar E. Iglesias2010-07-053-20/+10
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@axis.com>
* cris: Dont clobber the MMU state across calls to cpu_get_phys_page_debug.Edgar E. Iglesias2010-07-051-0/+17
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: Break out rand LFSR update into a separate func.Edgar E. Iglesias2010-07-051-8/+13
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@axis.com>
* remove exec-all.h inclusion from cpu.hPaolo Bonzini2010-07-031-1/+0
| | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* move cpu_pc_from_tb to target-*/exec.hPaolo Bonzini2010-07-032-5/+6
| | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* remove unused stuff from */exec.hPaolo Bonzini2010-07-031-3/+0
| | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* cris: Move sign extension.Edgar E. Iglesias2010-06-161-13/+13
| | | | | | | Move it in preparation for further changes. No functional change. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@axis.com>
* cris: Centralize fetchingEdgar E. Iglesias2010-06-161-22/+44
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: Make the CRISv32 insn decoders return signed int.Edgar E. Iglesias2010-06-161-86/+86
| | | | | | Prepare to return error from the individual decoders. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@axis.com>
* cris: Break out image loading to hw/cris-boot.c.Edgar E. Iglesias2010-06-101-0/+2
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@axis.com>
* Fix %lld or %llx printf format useBlue Swirl2010-05-221-2/+2
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Fix __VA__ARGS__ typo in cris mmu.cRiccardo Magliocchetti2010-05-191-1/+1
| | | | | | | Fix compilation with DEBUG defined Signed-off-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: remove dead assignments, spotted by clang analyzerBlue Swirl2010-04-252-7/+2
| | | | | | Value stored is never read. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Replace assert(0) with abort() or cpu_abort()Blue Swirl2010-03-182-8/+10
| | | | | | | | | When building with -DNDEBUG, assert(0) will not stop execution so it must not be used for abnormal termination. Use cpu_abort() when in CPU context, abort() otherwise. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Large page TLB flushPaul Brook2010-03-171-2/+3
| | | | | | | | | | | | | | | | | | 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>
* Remove cpu_get_phys_page_debug from userspace emulationPaul Brook2010-03-121-5/+0
| | | | | | cpu_get_phys_page_debug makes no sense for userspace emulation, so remove it. Signed-off-by: Paul Brook <paul@codesourcery.com>
* Move TARGET_PHYS_ADDR_SPACE_BITS to target-*/cpu.h.Richard Henderson2010-03-121-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>
* Update to a hopefully more future proof FSF addressBlue Swirl2010-03-072-4/+2
| | | | | | | | See also 8167ee883931cb20c6264fc19d040ce2dc6ceaaa, 530e7615ce3c01882e582c84dc6304ab98a3d5c5 and fad6cb1a565bb73f83fc0e2654489457b489e436. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* cris: Mask interrupts on dslots for CRISv10.Edgar E. Iglesias2010-02-201-0/+4
| | | | | | | CRISv10 cores (unlike v32) do not take any interrupts while delayed jumps are pending (delay slots). Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* crisv10: Prettify.Edgar E. Iglesias2010-02-151-95/+91
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: Add support for CRISv10 translation.Edgar E. Iglesias2010-02-154-30/+1486
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: Use tcg_gen_movi_tl.Edgar E. Iglesias2010-02-151-2/+2
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: Add v10 style interrupts.Edgar E. Iglesias2010-02-151-5/+63
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* crisv10: Always clear the V and C flags on btst.Edgar E. Iglesias2010-02-151-0/+2
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: Prepare for CRISv10.Edgar E. Iglesias2010-02-151-1/+7
| | | | | | | | * Add prefix flag and special reg. * Add interrupt lockout. * Add CC_OP_MSTEP. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* cris: Prettify register dumps.Edgar E. Iglesias2010-01-311-2/+2
| | | | | | Use friendly names for registers in the dumps. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* kill regs_to_env and env_to_regsPaolo Bonzini2010-01-191-8/+0
| | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* CRIS: Segmented addressing only for kernel mode.Edgar E. Iglesias2009-10-102-3/+5
| | | | | | | | Segmented translation through the CRIS MMU is only done for accesses in kernel mode. In user-mode, all accesses are treated as paged regardless of the mode config in RW_MM_CFG. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* CRIS: Update PR_EDA on TLB faults.Edgar E. Iglesias2009-10-082-7/+5
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* Revert "Get rid of _t suffix"Anthony Liguori2009-10-011-2/+2
| | | | | | | | | | | | 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>
* Get rid of _t suffixmalc2009-10-011-2/+2
| | | | | | | Some not so obvious bits, slirp and Xen were left alone for the time being. Signed-off-by: malc <av1474@comtv.ru>
* Fix sys-queue.h conflict for goodBlue Swirl2009-09-121-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>
* cleanup cpu-exec.c, part 0/N: consolidate handle_cpu_signalNathan Froyd2009-08-241-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>
* Update to a hopefully more future proof FSF addressBlue Swirl2009-07-168-16/+8
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* cris: Remove unused internal flag.Edgar E. Iglesias2009-06-231-3/+0
| | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
OpenPOWER on IntegriCloud