aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-08-24cleanup cpu-exec.c, part 0/N: consolidate handle_cpu_signalNathan Froyd
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-08-24unify popen/fopen qemu wrappersPaolo Bonzini
While reading Chris's code for fd migration I noticed the duplication between QEMUFilePopen and QEMUFileStdio. This fixes it, and makes qemu_fopen more similar qemu_popen. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Only build osdep onceAnthony Liguori
We no longer need hackery to work around kqemu Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Unbreak large mem support by removing kqemuAnthony Liguori
kqemu introduces a number of restrictions on the i386 target. The worst is that it prevents large memory from working in the default build. Furthermore, kqemu is fundamentally flawed in a number of ways. It relies on the TSC as a time source which will not be reliable on a multiple processor system in userspace. Since most modern processors are multicore, this severely limits the utility of kqemu. kvm is a viable alternative for people looking to accelerate qemu and has the benefit of being supported by the upstream Linux kernel. If someone can implement work arounds to remove the restrictions introduced by kqemu, I'm happy to avoid and/or revert this patch. N.B. kqemu will still function in the 0.11 series but this patch removes it from the 0.12 series. Paul, please Ack or Nack this patch. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Add a configure switch to enable / disable all user targets. I felt ↵Zachary Amsden
compelled to do it for symmetry, mostly it is useful to disable user targets when you don't want to build them. Signed-off-by: Zachary Amsden <zamsden@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Migration via unix sockets.Chris Lalancette
Implement migration via unix sockets. While you can fake this using exec and netcat, this involves forking another process and is generally not very nice. By doing this directly in qemu, we can avoid the copy through the external nc command. This is useful for implementations (such as libvirt) that want to do "secure" migration; we pipe the data on the sending side into the unix socket, libvirt picks it up, encrypts it, and transports it, and then on the remote side libvirt decrypts it, dumps it to another unix socket, and feeds it into qemu. The implementation is straightforward and looks very similar to migration-exec.c and migration-tcp.c Signed-off-by: Chris Lalancette <clalance@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Route IOAPIC interrupts via ISA busAvi Kivity
Instead of calling the IOAPIC from the PIC, raise IOAPIC irqs via the ISA bus. As a side effect, IOAPIC lines 16-23 are enabled. Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Route PC irqs to ISA bus instead of i8259 directlyAvi Kivity
A PC has its motherboard IRQ lines connected to both the PIC and IOAPIC. Currently, qemu routes IRQs to the PIC which then calls the IOAPIC, an incestuous arrangement. In order to clean this up, create a new ISA IRQ abstraction, and have devices raise ISA IRQs (which in turn raise the i8259 IRQs as usual). Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Makefile: fixed rule TAGSAlexandre Bique
- still works if the build dir is not the src dir - use find instead of *.c block/*.c etc... Signed-off-by: Alexandre Bique <alexandre.bique@citrix.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24QEMU set irq0override in fw_cfgJes Sorensen
Hi, After discussing the issue with Avi, Gleb and a couple others on irq, we came to the conclusion that it is preferred to have QEMU request features from the BIOS, rather than notifying the BIOS that it is running on QEMU or KVM. This way memory ranges can change etc. and an older BIOS will continue to work on newer QEMU if it receives the info as a fw_cfg value. This one also matches what qemu-kvm does for irq0override, except I haven't made it configurable. I leave that as an exercise for whoever would be interested in switching off irq0override. Thanks, Jes Set irq0 override in fw_cfg, informing the BIOS that QEMU expects override on irq0. This matches qemu-kvm, and will help sharing a single BIOS binary. Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24SMART ATA FunctionalityBrian Wheeler
For the lulz I implemented basic SMART functionality in ide.c. smartctl on linux recognizes it just fine and starting self tests with it complete successfully. Signed-off-by: Brian Wheeler <bdwheele@indiana.edu> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Add missing linefeed in error messageStefan Weil
The error message for an unknown network device given to monitor command set_link looks better with a terminating linefeed. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Clean up VGA type selection; far too many variables being used to track one ↵Zachary Amsden
state leads to confusion if new variables are added. Signed-off-by: Zachary Amsden <zamsden@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24When using stdio monitor and VNC display, one can set or clear a VNC ↵Zachary Amsden
password; this should set or turn off VNC authentication as well. Signed-off-by: Zachary Amsden <zamsden@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Don't segfault when changing VNC password on an SDL display.Zachary Amsden
Signed-off-by: Zachary Amsden <zamsden@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Fix detached migration with exec.Chris Lalancette
When trying to do detached migration with exec, I found that the monitor wouldn't always return in a timely manner. I tracked this down to exec_start_outgoing_migration. It appeared we were setting the fd to NONBLOCK'ing, but in point of fact we weren't. This bugfix should also go onto the stable 0.10 branch Signed-off-by: Chris Lalancette <clalance@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Do not disable autostart for live migrationAvi Kivity
If the user does not want autostart, they can specify -S. Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24make vga screen_dump use DisplayState properlyStefano Stabellini
Hi all, currently the vga screen_dump code doesn't use the DisplayState interface properly and tries to replace it temporarily while taking the screenshot. A better approach is to register a DisplayChangeListener, call vga_hw_update, and finally write the ppm in the next call from dpy_update. Testing is appreciated. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-08-24Restore consistent formattingmalc
Signed-off-by: malc <av1474@comtv.ru>
2009-08-24es1370: Remove unused indirection of PCIES1370State and ES1370StateJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com>
2009-08-23Fix device name completion for 'eject'Blue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-23Revert my commit c00a9de060124a988bd9847c095e5836488c6f01Andrzej Zaborowski
was incorrect.
2009-08-23Fix segfault of qemu-system-arm with PXA targetTorsten Duwe
qemu-system-arm (0.10.5) segfaults when invoked with a PXA machine target, e.g. -M tosa. The reason is fairly obvious: Signed-off-by: Torsten Duwe <duwe@lst.de> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrzej Zaborowski <balrogg@gmail.com>
2009-08-23sdl.c: support 32 bpp cursorsReimar Döffinger
Hello, currently when a 32 bpp cursor gets defined the result is all-black in the areas that are not transparent (you'll get a 32 bpp cursor if you use my previous patch to allow vmware_vga to use a 32 bpp framebuffer). This is because the switch in sdl.c lacks a 32 bpp case. The thing I am unsure about though is which byte is the unused one and should be skipped, the first or the last - for the black-and-white cursors I tested it doesn't make a difference... Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de> Signed-off-by: Andrzej Zaborowski <balrogg@gmail.com>
2009-08-23Use corect depth from DisplaySurface in vmware_vga.cReimar Döffinger
Hello, for what I can tell, there is no way for vmware_vga to work correctly right now. It assumes that the framebuffer bits-per-pixel and the one from the DisplaySurface are identical (it uses directly the VRAM from vga.c), but it always assumes 3 bytes per pixel, which is never possible with the current version of DisplaySurface. Attached patch fixes that by using ds_get_bits_per_pixel.
2009-08-23Remove the unnecessary and only global in musicpal.cAndrzej Zaborowski
2009-08-23Merge with balrog@git.sv.gnu.org:/srv/git/qemu.gitAndrzej Zaborowski
2009-08-23Make musicpal.c use the I2C device and the Marvell 88w8618 audio deviceAndrzej Zaborowski
Signed-off-by: Benoit Canet <benoit.canet@gmail.com> Signed-off-by: Andrzej Zaborowski <balrogg@gmail.com>
2009-08-23Extract the Marvell 88w8618 audio device from musicpal.cAndrzej Zaborowski
Signed-off-by: Benoit Canet <benoit.canet@gmail.com> Signed-off-by: Andrzej Zaborowski <balrogg@gmail.com>
2009-08-23Extract musicpal.c I2C bitbanging code and make it gpio awareAndrzej Zaborowski
Signed-off-by: Benoit Canet <benoit.canet@gmail.com> Signed-off-by: Andrzej Zaborowski <balrogg@gmail.com>
2009-08-23Musicpal qdev conversion: gpio (except I2C part), keyboard and lcdBenoit Canet
Signed-off-by: Benoit Canet <benoit.canet@gmail.com> Signed-off-by: Andrzej Zaborowski <balrogg@gmail.com>
2009-08-23Sparc32: fix monitor commands 'info pic' and 'info irq'Blue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-23Rearrange to suppress gcc 3.3.5 warning about unused variableBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-22def-helper.h allow helpers returning pointersIgor Kovalenko
This change allows to define helpers returning pointers. This looks like a typo in original commit. Signed-off-by: igor.v.kovalenko@gmail.com Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-22ESP: implement Transfer PadBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-22ESP: Implement select without ATN, fix commentsBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-22ARM back-end: Handle all possible immediates for ALU opsLaurent Desnogues
this patch handles all possible constants for immediate operand of ALU ops. I'm not very satisfied by the implementation. Laurent Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
2009-08-22ARM back-end: Add TCG notLaurent Desnogues
this patch: - implements TCG not. Laurent Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
2009-08-22sparc32 remove an unnecessary cpu irq setBlue Swirl
Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-22Sparc32/64: fix jmpl followed by branchBlue Swirl
Fix a case where 'jmpl' instruction followed by a branch instruction was handled incorrectly. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-22Remove unneded ac97 indirection accessing its stateJuan Quintela
Searching for "inspiration" to convert another device to qdev, I got ac97. Once I understood a bit of qdev, found that ac97 used a not needed indirection. To protect the unaware, just fixed it. Later, Juan. Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
2009-08-18Sparc32/64: Fix user emulator breakageBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-18Fix breakage of alpha, mips64, ppc64 and x86_64 targets on non-amd64 hostBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-16Replace REGX with PRIx64Blue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-16Replace local ADDRX/PADDRX macros with TARGET_FMT_lx/plxBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-16Replace always_inline with inlineBlue Swirl
We define inline as always_inline. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-16user: compile host-utils.c only onceBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-16Simplify 5ba6531956b9b6486560cbd13604c2238a3542ddBlue Swirl
Thanks to Juan Quintela. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-15Fix desynchronization of condition code state when a memory access trapsBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-08-15PPC: clean up ppc405Blue Swirl
Rely on the subpage system instead of the local version. Make most functions "static". Fix wrong parameter passed to ppc4xx_pob_reset. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>