target-ppc: fix flags computation for tcg_gen_qemu_st
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5644 c046a42c-6fe2-441c-8c8c-71466251a162
Fix interrupt exclusion via SSTEP_NOIRQ
Commit #5620 revealed an issue of the SSTEP_NOIRQ masking that wasapplied on all interrupt sources (including internal ones) when singlestepping through the guest. Due to that commit, we now ended up in aninfinite loop when CPU_INTERRUPT_EXIT was pending on SSTEP resume. That...
User qemu profiling
- Makefile.target: re-enable profiling for user qemu. It seems profiling was (accidently?) removed by commit 3937
- syscall.c: * add an include to get _mcleanup prototype * add a call to _mcleanup for exit_group in a way similar to what is done for exit...
Remove unused reg_T2 definition
No longer used, remove it.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5641 c046a42c-6fe2-441c-8c8c-71466251a162
Make sure to resume the monitor only after flushing out outstandingnetwork traffic.
This was bug was reported by Chris Lalancette.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5640 c046a42c-6fe2-441c-8c8c-71466251a162
Win32: Fix warnings
Attached patch fixes some warnings which only happen on Windows.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5639 c046a42c-6fe2-441c-8c8c-71466251a162
target-alpha: Fix ret instruction
Hopefully pine doesn't corrupt this patch, I've had problems recently.
For an alpha "ret" instruction, of the type ret $26
The return was being ignored. This is because in translate.cregister $26 (the return address) was being over-written with the current...
Fix windows build after init_host_timer changes.
host_alarm_timer fires in a separate thread. The windows build currentuses SetEvent() and WaitEvent() to then notify the main thread. This isfunctionally equivalent to what we're doing in Unix with pipe(). So let's...
Run timers from host alarm timer callback
This further cleans up the main loop getting it a lot closer to what a mainloop should be.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5636 c046a42c-6fe2-441c-8c8c-71466251a162
Use qemu_set_fd_handler2() to determine when alarm timer fires.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5635 c046a42c-6fe2-441c-8c8c-71466251a162
Improve error reporting in init_timer_alarm
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5634 c046a42c-6fe2-441c-8c8c-71466251a162
Fix alarm_timer race with select - v3 (Jan Kiszka)
Changing the default IO timeout to 5 s (#5578) made a race visiblebetween the alarm_timer and select() in main_loop_wait(): If the timerfired before select was able to block, the full select() timeout could...
SM501 emulation for R2D-SH4
This patch adds minimum emulation of SM501 multifunction device,whose main feature is 2D graphics. It is one of the peripheralof R2D, the SH4 evaluation board. We can see TUX printed on theQEMU console.
Signed-off-by: Shin-ichiro KAWASAKI <kawasaki@juno.dti.ne.jp>...
Allow KVM to be used on either 32-bit or 64-bit x86
Inspired by a patch from Glauber Costa.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5631 c046a42c-6fe2-441c-8c8c-71466251a162
Use qemu_ram_alloc
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5630 c046a42c-6fe2-441c-8c8c-71466251a162
Add missing files to KVM commit.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5629 c046a42c-6fe2-441c-8c8c-71466251a162
Add --kerneldir configure argument
This allows a user to override the default search path and also makes crosscompilation work a bit nicer wrt KVM detection.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5628 c046a42c-6fe2-441c-8c8c-71466251a162
Add KVM support to QEMU
This patch adds very basic KVM support. KVM is a kernel module for Linux thatallows userspace programs to make use of hardware virtualization support. Itcurrent supports x86 hardware virtualization using Intel VT-x or AMD-V. It...
Split CPUID from op_helper
KVM needs to call CPUID from outside of the TCG code. This patchsplits out the CPUID logic into a separate helper that both the ophelper and KVM can call.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5626 c046a42c-6fe2-441c-8c8c-71466251a162
Add additional CPU flag definitions
Some x86 CPU definitions that KVM needs
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5625 c046a42c-6fe2-441c-8c8c-71466251a162
ETRAX-FS: Make etraxfs_dmac_run local.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5624 c046a42c-6fe2-441c-8c8c-71466251a162
Set default audio timer period to a sane value (otherwise qemu becomes unusable if -icount N is specified)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5623 c046a42c-6fe2-441c-8c8c-71466251a162
target-mips: use the new rotr/rotri instructions
Acked-by: Thiemo Seufer <ths@networkno.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5622 c046a42c-6fe2-441c-8c8c-71466251a162
ETRAX-FS: Fix DMA warnings.
Signed-off-by: Jan Kiszka <jan.kiszka@web.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5621 c046a42c-6fe2-441c-8c8c-71466251a162
Add safety net against potential infinite loop
cpu_interrupt might be called while translating the TB, but before itis linked into a potentially infinite loop and becomes env->current_tb.
Currently this can (and does) cause huge problems only when using...
Mention output overlaps.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5619 c046a42c-6fe2-441c-8c8c-71466251a162
Fix ARM default NaN.
Signed-off-by: Paul Brook <paul@codesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5618 c046a42c-6fe2-441c-8c8c-71466251a162
tc6393xb: non-accelerated FB support (Dmitry Baryshkov).
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5617 c046a42c-6fe2-441c-8c8c-71466251a162
Tosa: dummy lcd support (Dmitry Baryshkov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5616 c046a42c-6fe2-441c-8c8c-71466251a162
scoop: GPRR reports the state of GPIO lines (Dmitry Baryshkov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5615 c046a42c-6fe2-441c-8c8c-71466251a162
Tosa: disable pxafb as it's not used on tosa (Dmitry Baryshkov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5614 c046a42c-6fe2-441c-8c8c-71466251a162
Tosa: provide correct IRQ to tc6393xb init (Dmitry Baryshkov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5613 c046a42c-6fe2-441c-8c8c-71466251a162
Tosa: emulate LEDs (Dmitry Baryshkov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5612 c046a42c-6fe2-441c-8c8c-71466251a162
tc6393xb: initial support for nand control (Dmitry Baryshkov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5611 c046a42c-6fe2-441c-8c8c-71466251a162
VFP fnmsc negative zero fix.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5610 c046a42c-6fe2-441c-8c8c-71466251a162
Fix rotri_i64 typo.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5609 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: use the new rotr/rotri instructions
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5608 c046a42c-6fe2-441c-8c8c-71466251a162
tcg-ops.h: add rotl/rotli and rotr/rotri TCG instructions
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5607 c046a42c-6fe2-441c-8c8c-71466251a162
tcg-op.h: reorder _i64 instructions common to 32- and 64-bit targets
Use the same order as the _i32 version (pure code move). Suggested byLaurent Laurent Desnogues.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5606 c046a42c-6fe2-441c-8c8c-71466251a162
Fix RGBT 5:5:5 drawing on pxa2xx lcd (Lars Munch)
This patch fixes the misinterpretaion of the transparency bit forRGBT 5:5:5 mode on pxa2xx LCDC.
Signed-off-by: Lars Munch <lars@segv.dk>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5605 c046a42c-6fe2-441c-8c8c-71466251a162
More realistic max_cpus
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5604 c046a42c-6fe2-441c-8c8c-71466251a162
Fix loading of unstripped ELF PROM image
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5603 c046a42c-6fe2-441c-8c8c-71466251a162
64-bit target subfi fix.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5602 c046a42c-6fe2-441c-8c8c-71466251a162
Halt the CPU using a qemu_irq
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5601 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: use the new subfi wrapper
(...and fix rldnm)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5600 c046a42c-6fe2-441c-8c8c-71466251a162
tcg-ops.h: add a subfi wrapper
Add a subfi (subtract from immediate) wrapper, useful for the PPC target.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5599 c046a42c-6fe2-441c-8c8c-71466251a162
tcg-ops.h: _i64 TCG immediate instructions cleanup
Move addi_i64, muli_i64 and subi_i64 out of #if TCG_TARGET_REG_BITSas both implementations are strictly identical. Use the sameoptimisation (ie when imm == 0) for addi_i64 and subi_64 than the32-bit version....
target-ppc: simplify slw, srw, sld, srd
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5597 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: be more consistent with temp variables naming
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5596 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: fix srw on 64-bit targets
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5595 c046a42c-6fe2-441c-8c8c-71466251a162
Avoid ld flag --warn-common on Solaris
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5594 c046a42c-6fe2-441c-8c8c-71466251a162
Fix TCGv size mismatches
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5593 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: optimize popcntb
Suggested by Andrzej Zaborowski.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5592 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: convert 405 MAC instructions to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5591 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: convert arithmetic functions to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5590 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: xer access prototypes no more used & implemented
Revision 5500 of the qemu repository removed all code usingppc_load_xer & ppc_store_xer as well as their implementation.
Another patch fixes it's usage in kvm-userspace for powerpc, but I think...
target-ppc: fix XER accesses on 64-bit targets
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5588 c046a42c-6fe2-441c-8c8c-71466251a162
CVE-2008-4539: fix a heap overflow in Cirrus emulation
The code in hw/cirrus_vga.c has changed a lot between CVE-2007-1320 hasbeen announced and the patch has been applied. As a consequence it haswrongly applied and QEMU is still vulnerable to this bug if using VNC....
target-cris: access to TCG variables through GET_TCGV()
Fix build with DEBUG_TCGV enabled.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5586 c046a42c-6fe2-441c-8c8c-71466251a162
Malta & OMAP: add a name to char devices
(fixes regression introduced by r5575)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5585 c046a42c-6fe2-441c-8c8c-71466251a162
qemu-char: include hw/baum.h
Fix a warning introduced in r5580 when brlapi is enabled.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5584 c046a42c-6fe2-441c-8c8c-71466251a162
Remove dumb_refresh
It is safe not to set dpy_refresh and that's used to indicate that the displaydoesn't need updates. This saves us two wakeups per second.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5583 c046a42c-6fe2-441c-8c8c-71466251a162
Remove extraneous inline keyword.
Spotted by Blue Swirl.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5582 c046a42c-6fe2-441c-8c8c-71466251a162
Move network redirection code out of vl.c and into net.c
Mostly code motion.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5581 c046a42c-6fe2-441c-8c8c-71466251a162
Move CharDriverState code out of vl.c
The motivating goal behind this is to allow other tools to use the CharDrivercode. This patch is pure code motion except for the Makefile changes and thecopyright/header in qemu-char.c.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>...
Move some declarations around in the QEMU CharDriver code
The goal of this series is to move the CharDriverState code out of vl.c andinto its own file, qemu-char.c. This patch moves around some declarations sothe next patch can be pure code motion.
Increase default IO timeout from 10ms to 5s
With the recent changes to the main loop, we no longer have unconditionalpolling. This means we can now sleep in select() for much longer than wepreviously did. This patch increases our select() sleep time from 10ms to 5s...
Main loop fixes/cleanup
Tidy up win32 main loop bits, allow timeout >= 1s, and force timeout to 0 ifthere is a pending bottom half.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5577 c046a42c-6fe2-441c-8c8c-71466251a162
Clarify qemu_bh_schedule_idle() usage
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5576 c046a42c-6fe2-441c-8c8c-71466251a162
Implement "info chardev" command. (Gerd Hoffmann)
This patch makes qemu keep track of the character devices in use andimplements a "info chardev" monitor command to print a list.
qemu_chr_open() sticks the devices into a linked list now. It got a newargument (label), so there is a name for each device. It also assigns a...
fix bdrv_aio_read API breakage in qcow2 (Andrea Arcangeli)
I noticed the qemu_aio_flush was doing nothing at all. And a flood ofcmd_writeb commands leading to a noop-invocation of qemu_aio_flushwere executed.
In short all 'memset;goto redo' places must be fixed to use the bh and...
Make DMA bottom-half driven (v2)
The current DMA routines are driven by a call in main_loop_wait() after everyselect.
This patch converts the DMA code to be driven by a constantly rescheduledbottom half. The advantage of using a scheduled bottom half is that we can...
Make bottom halves more robust
Bottom halves are supposed to not complete until the next iteration of the mainloop. This is very important to ensure that guests can not cause stackoverflows in the block driver code. Right now, if you attempt to schedule a...
Use qemu_gettimeofday.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5571 c046a42c-6fe2-441c-8c8c-71466251a162
Fix restore of older snapshots for target-i386 on big endian hosts
A target_ulong may be 64-bit. Passing it to a function expecting a 32-bitpointer is wrong and unfortunately happens to work for x86. It won't work onbig endian hosts though. Change the code to work properly on all hosts....
Use locally defined structure.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5569 c046a42c-6fe2-441c-8c8c-71466251a162
Sun4c cleanups (Robert Reif)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5568 c046a42c-6fe2-441c-8c8c-71466251a162
fix off-by-one generating vmdk backing files (Avi Kivity)
Signed-off-by: Avi Kivity <avi@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5567 c046a42c-6fe2-441c-8c8c-71466251a162
Set default max_cpus to one.
Clean-up machine definitions.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5566 c046a42c-6fe2-441c-8c8c-71466251a162
Fix return value printing for shmat (Lauro Ramos Venancio).
The shmat syscall returns an address, so we must use theprint_syscall_ret_addr function.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5565 c046a42c-6fe2-441c-8c8c-71466251a162
Recvmsg must return the number of bytes received (Lauro Ramos Venancio).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5564 c046a42c-6fe2-441c-8c8c-71466251a162
page_check_range: fix wrap around test (Lauro Ramos Venancio).
Move up the warp around test because line'end = TARGET_PAGE_ALIGN(start+len);'can interfere with it.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5563 c046a42c-6fe2-441c-8c8c-71466251a162
Fix iovec for the case with invalid elements (Lauro Ramos Venancio).
We must call the writev even if an iovec element is invalid. Forexample, if the second element is invalid, the linux process the firstone.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5562 c046a42c-6fe2-441c-8c8c-71466251a162
Use the host exit syscall for exiting (Lauro Ramos Venancio).
We can't call the libc _exit function because it calls the exit_grouphost syscall. We must call directly the exit host syscall.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5561 c046a42c-6fe2-441c-8c8c-71466251a162
CRIS: Plug more temp leaks.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5560 c046a42c-6fe2-441c-8c8c-71466251a162
Control + i and [tab] share keycode in curses, simulate [tab].
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5559 c046a42c-6fe2-441c-8c8c-71466251a162
Fix cpuid ext_features value for Atom N270 (Blue Swirl).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5558 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: use consistent names for variables
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5557 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: indentation fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5556 c046a42c-6fe2-441c-8c8c-71466251a162
target-ppc: convert rotation instructions to TCG
Also fix rlwimi and rldimi for corner cases.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5555 c046a42c-6fe2-441c-8c8c-71466251a162
CRIS: Plug a few temp leaks.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5554 c046a42c-6fe2-441c-8c8c-71466251a162
ETRAX-FS: Process outgoing DMA channels until EOL.
For outgoing DMA channels, keep processing descriptors until hitting endof list.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5553 c046a42c-6fe2-441c-8c8c-71466251a162
CRIS: Remove cpu_T.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5552 c046a42c-6fe2-441c-8c8c-71466251a162
Ansify to please sparse
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5551 c046a42c-6fe2-441c-8c8c-71466251a162
CRIS: Avoid more cpu_T usage.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5550 c046a42c-6fe2-441c-8c8c-71466251a162
Move sun4c to its own hwdef (Robert Reif)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5549 c046a42c-6fe2-441c-8c8c-71466251a162
CRIS: Avoid cpu_T1 for move_r.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5548 c046a42c-6fe2-441c-8c8c-71466251a162
CRIS: Avoid using cpu_T0 for testing condition codes.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5547 c046a42c-6fe2-441c-8c8c-71466251a162
CRIS: Add branch-free versions of abs, lsl, lsr and asr.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5546 c046a42c-6fe2-441c-8c8c-71466251a162
CRIS: Correct tcg globals allocation for 64bit hosts.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5545 c046a42c-6fe2-441c-8c8c-71466251a162