aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-11-17exec: Handle multipage ranges in invalidate_and_set_dirty()ranchu-virtserial-rebasedranchu-linaro-beta2Peter Maydell
The code in invalidate_and_set_dirty() needs to handle addr/length combinations which cross guest physical page boundaries. This can happen, for example, when disk I/O reads large blocks into guest RAM which previously held code that we have cached translations for. Unfortunately we were only checking the clean/dirty status of the first page in the range, and then were calling a tb_invalidate function which only handles ranges that don't cross page boundaries. Fix the function to deal with multipage ranges. The symptoms of this bug were that guest code would misbehave (eg segfault), in particular after a guest reboot but potentially any time the guest reused a page of its physical RAM for new code. [This is a cherry pick of upstream commit f874bf90] Cc: qemu-stable@nongnu.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1416167061-13203-1-git-send-email-peter.maydell@linaro.org
2014-11-14android_pipe: auto-detect PIPE_REG_ACCESS_PARAMS sizeAlex Bennée
The PIPE_REG_ACCESS_PARAMS structure can be one of two sizes depending on the type of host kernel. As the pipe code is shared between both 32 bit and 64 bit worlds it needs to be able to handle both. Introspecting the CPU type is impractical as a 64 bit CPU may be booting a 32 bit kernel. Fortunately due to the overlap of the structures it's possible to detect the use of a 64 bit structure as it implies a non-zero value of the (currently) unused flags field. This also opens the way to the 32 bit code using the 64 bit structure at a later date. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2014-10-28virtserial ping-pong devicePeter Maydell
Version of the android pipe pingpong test backend using virtserial
2014-10-28virtio: serial: expose a 'guest_writable' callback for usersAmit Shah
Users of virtio-serial may want to know when a port becomes writable. A port can stop accepting writes if the guest port is open but not being read from. In this case, data gets queued up in the virtqueue, and after the vq is full, writes to the port do not succeed. When the guest reads off a vq element, and adds a new one for the host to put data in, we can tell users the port is available for more writes, via the new ->guest_writable() callback. Signed-off-by: Amit Shah <amit.shah@redhat.com>
2014-10-28ranchu: Create console and ADB ports automaticallyPeter Maydell
On startup, start listening on the console and ADB ports automatically, using the same "start at 5554 and work up until we find a pair of ports which we can listen on" algorithm as the classic emulator. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-10-28android_adb: add Android ADB backendPeter Maydell
The Android adbd daemon running inside Android VMs on the emulator expect to be able to talk to a backend named "qemud:adb" (for historical reasons). The backend will carry out a handshake: 1. Listen for connections from the host adb server on adb_port = <5555 + (2 * emulator instance id)>. 2. Connect to the local adb server on port 5037 if it's available. 3. Listen for and accept the beginning of the handshake with the adbd daemon (adbd sends 'accept' over the write). 4. After the adb backend detects a connection on <adb_port>, it sends back an "ok" string to adbd. 5. The adb backend will not send any more data over the pipe until it recognizes a 'start' request, which means the adbd is ready to receive data from the host ADB server. Once the above process is complete, the adb backend will consume everything it receives on the socket connected on <adb_port> and send it over the adb pipe and will consume everything it receives over the adb pipe and send it on the socket connected on <adb_port>. Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> [AJB: Bunch of clean-up/re-factoring to GIOChannel code] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> [PMM: Listen for ADB connections on 127.0.0.1, not localhost] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-10-28android_adb_dbg: Add Android adb-debug backendChristoffer Dall
Add the adb-debug backend (identified by "qemud:adb-debug") which simply prints all chars send accross the pipe buffers from the guest to stderr. Reads are handled like the zero pipe. Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2014-10-28android_pipe: Factor out example/test pipes from android_pipeChristoffer Dall
The Android Pipe main implementation file should only contain the actual implementation. Keeping all that test backend implementation code in there just makes it confusing to grep in the file and figure out what is going on. This could be made dependent on some sort of debug flag to avoid compiling test code as part of shipped binaries in the future. Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2014-10-28android_pipe: import the qemu_pipe/goldfish_pipe codeAlex Bennée
This brings in the android emulator pipe code from the current aosp-qemu master branch. It works with and has been tested with the pingpong pipe device. Currently the device cannot save and restore. - remove dependency on android utils (ANEW/ASTRDUP/AFREE) - detach from the goldfish_device bus bits (inc irq raising) - import a few helper functions (uint64_set_high/low, goldfish_guest_is_64bit) - disable the VM save/restore code - use current_cpu for memory translation ops instead of cpu_single_env - fix debugging prints using portable formats - common code path for translating vaddr->qemu addr* - make some debug statments user-visible (unimp and guest errors) There is a hacking backlink between AndroidPipeState and the PipeDevice stuff (which should be merged cleanly later) just so we can get back to ->irq when we need to. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> [cdall: special casing "qemud:<name>"] Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2014-10-28android-console: Make 'help' output match the classic emulatorPeter Maydell
Implement the 'help' command ourselves rather than using the monitor's usual version, so we can make the output text match the format of the classic emulator. This might not be necessary but perhaps external tools are parsing the output to see what commands are supported. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-10-28android-console: Add KO: prefix to parser syntax error messagesPeter Maydell
Indirect all the syntax error messages from the command parser through a function pointer, so the Android console can override it to put the KO: prefix on them. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-10-28android-console: Implement quitPeter Maydell
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-10-28android-console: Add support for redir commandsPeter Maydell
Add support for the redir commands which allow addition, removal and listing of TCP and UDP port rediroctions. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-10-28monitor.c: Add support for Android consolePeter Maydell
Implement the Android console by hijacking the stock QEMU monitor and implementing a different command set. This commit provides the initial minimal framework and changes to the core monitor code; it implements only the two commands 'help' and 'kill'. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-10-28qemu-char: Add a chr_del_client method to char backendsPeter Maydell
Add a chr_del_client method to char backends. This makes sense mostly for TCP, where it means "close the current connection and then go back to listening for a new one"; the semantics are as if the remote end had closed the connection. This could for completeness be supported for other backends (eg pipe, fd, tty), but this patch only supports it in TCP. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-10-28slirp: Make slirp_lookup() a public function net_slirp_lookup()Peter Maydell
Make slirp_lookup() a public function so other files can look up the Slirp stack too. We improve the interface a bit so this is practical: * use Error arguments to report failures rather than calling monitor_printf() directly * return a Slirp* rather than a SlirpStack*, since the latter is a type local to this source file * rename to net_slirp_lookup() to match the other public functions in net/slirp.h Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-10-28hw/arm/ranchu: Add goldfish events devicePeter Maydell
Add the goldfish events device to the ranchu board. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-10-28hw/input/goldfish_events.c: Implement goldfish events devicePeter Maydell
Implement the goldfish 'events' device which provides a variety of input events including simulated touchscreen and hard buttons. This is a forward port and revamp of the goldfish/events_device from the classic Android emulator. Some features from the classic emulator are not supported: * multitouch * full keyboard Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-30hw/arm/ranchu: New machine model for 64-bit ARM Android emulatorPeter Maydell
Add a new machine model for the 64-bit ARM Android emulator. This is based heavily on the 'virt' machine model, and like that we also create a device tree to pass to the guest kernel. The major difference is that this board will have all the Android-specific devices in it. We leave space for putting in the goldfish_audio device but do not actually enable it for now, since audio is not an initial requirement and has not been tested. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> PMM: * updated to use MachineState * updated to handle PSCI 0.2
2014-09-30import goldfish_battery from androidPeter Maydell
Signed-off-by: Greg Hackmann <ghackmann@google.com> goldfish_battery: port to modern qemu apis Signed-off-by: Greg Hackmann <ghackmann@google.com>
2014-09-30import goldfish_audio from androidPeter Maydell
goldfish_audio: remove code to read audio input from disk Even on the android qemu, there are syntax errors when USE_QEMU_AUDIO_IN is defined to 0 or left undefined. No point in trying to port something that doesn't work. goldfish_audio: port to modern qemu apis Signed-off-by: Greg Hackmann <ghackmann@google.com>
2014-09-30Initial goldfish_fb display devicePeter Maydell
import goldfish_fb from android HACK: goldfish_fb: remove FB_GET_FORMAT register FB_GET_FORMAT and associated code poke at a bunch of display internals, but are never referenced by the kernel. Revisit on top of the new qemu display API if/when it's needed by the kernel. HACK: goldfish_fb: disable UI rotation events It's not clear how this worked or how to port it to the new display API, so disable it for now goldfish_fb: port to modern qemu apis The device/object APIs and display APIs have been significantly refactored. qemu also has a tracing API which can replace the debugging printfs. Signed-off-by: Greg Hackmann <ghackmann@google.com> Although the milkymist display device is indeed RGB565, it is bigendian, so we can't actually borrow its drawfn helpers. Implement our own instead. After an FB_SET_BASE write, the guest is waiting for us to complete an update cycle and notify it (via the FB_INT_BASE_UPDATE_DONE interrupt status bit). Force the graphics backend to actually do a redraw immediately; this avoids the guest timing out and producing periodic "goldfish_fb_pan_display: timeout waiting for base update" warnings on displays like VNC which make an effort to avoid redraw. goldfish_fb: Don't use uninitialized ymin if screen is blank Initialize ymin in the code path taken if the screen is blank, to avoid use of an uninitialized variable. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-30Merge remote-tracking branch ↵Peter Maydell
'remotes/pmaydell/tags/pull-target-arm-20140929' into staging target-arm: * more EL2/EL3 preparation work * don't handle c15_cpar changes via tb_flush() * fix some unused function warnings in ARM devices * build the GDB XML for 32 bit CPUs into qemu-*-aarch64 * implement guest breakpoint support # gpg: Signature made Mon 29 Sep 2014 19:25:37 BST using RSA key ID 14360CDE # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" * remotes/pmaydell/tags/pull-target-arm-20140929: target-arm: Add support for VIRQ and VFIQ target-arm: Add IRQ and FIQ routing to EL2 and 3 target-arm: A64: Emulate the SMC insn target-arm: Add a Hypervisor Trap exception type target-arm: A64: Emulate the HVC insn target-arm: A64: Correct updates to FAR and ESR on exceptions target-arm: Don't take interrupts targeting lower ELs target-arm: Break out exception masking to a separate func target-arm: A64: Refactor aarch64_cpu_do_interrupt target-arm: Add SCR_EL3 target-arm: Add HCR_EL2 target-arm: Don't handle c15_cpar changes via tb_flush() hw/input/tsc210x.c: Delete unused array tsc2101_rates hw/display/pxa2xx_lcd.c: Remove unused function pxa2xx_dma_rdst_set hw/intc/imx_avic.c: Remove unused function imx_avic_set_prio() hw/display/blizzard.c: Delete unused function blizzard_rgb2yuv configure: Build GDB XML for 32 bit ARM CPUs into qemu aarch64 binaries target-arm: Implement handling of breakpoint firing target-arm: Implement setting guest breakpoints Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29Merge remote-tracking branch 'remotes/spice/tags/pull-spice-20140929-1' into ↵Peter Maydell
staging add and use graphic_console_set_hwops # gpg: Signature made Mon 29 Sep 2014 11:18:37 BST using RSA key ID D3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" * remotes/spice/tags/pull-spice-20140929-1: qxl: use graphic_console_set_hwops console: add graphic_console_set_hwops Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29target-arm: Add support for VIRQ and VFIQpull-target-arm-20140929Edgar E. Iglesias
This only implements the external delivery method via the GIC. Acked-by: Greg Bellows <greg.bellows@linaro.org> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1411718914-6608-12-git-send-email-edgar.iglesias@gmail.com [PMM: adjusted following cpu-exec refactoring] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29target-arm: Add IRQ and FIQ routing to EL2 and 3Edgar E. Iglesias
Reviewed-by: Greg Bellows <greg.bellows@linaro.org> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1411718914-6608-11-git-send-email-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29target-arm: A64: Emulate the SMC insnEdgar E. Iglesias
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1411718914-6608-10-git-send-email-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29target-arm: Add a Hypervisor Trap exception typeEdgar E. Iglesias
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1411718914-6608-9-git-send-email-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29target-arm: A64: Emulate the HVC insnEdgar E. Iglesias
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1411718914-6608-8-git-send-email-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29target-arm: A64: Correct updates to FAR and ESR on exceptionsEdgar E. Iglesias
Not all exception types update both FAR and ESR. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Greg Bellows <greg.bellows@linaro.org> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1411718914-6608-7-git-send-email-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29target-arm: Don't take interrupts targeting lower ELsEdgar E. Iglesias
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Greg Bellows <greg.bellows@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1411718914-6608-6-git-send-email-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29target-arm: Break out exception masking to a separate funcEdgar E. Iglesias
Reviewed-by: Greg Bellows <greg.bellows@linaro.org> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1411718914-6608-5-git-send-email-edgar.iglesias@gmail.com [PMM: updated to account for recent cpu-exec refactoring] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29target-arm: A64: Refactor aarch64_cpu_do_interruptEdgar E. Iglesias
Introduce new_el and new_mode in preparation for future patches that add support for taking exceptions to and from EL2 and 3. No functional change. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1411718914-6608-4-git-send-email-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29target-arm: Add SCR_EL3Edgar E. Iglesias
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1411718914-6608-3-git-send-email-edgar.iglesias@gmail.com [PMM: apply offsetoflow32() to correct regdef] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29target-arm: Add HCR_EL2Edgar E. Iglesias
Reviewed-by: Greg Bellows <greg.bellows@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1411718914-6608-2-git-send-email-edgar.iglesias@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29target-arm: Don't handle c15_cpar changes via tb_flush()Peter Maydell
At the moment we try to handle c15_cpar with the strategy of: * emit generated code which makes assumptions about its value * when the register value changes call tb_flush() to throw away the now-invalid generated code This works because XScale CPUs are always uniprocessor, but it's confusing because it suggests that the same approach can be taken for other registers. It also means we do a tb_flush() on CPU reset, which makes multithreaded linux-user binaries even more likely to fail than would otherwise be the case. Replace it with a combination of TB flags for the access checks done on cp0/cp1 for the XScale and iwMMXt instructions, plus a runtime check for cp2..cp13 coprocessor accesses. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1411056959-23070-1-git-send-email-peter.maydell@linaro.org
2014-09-29hw/input/tsc210x.c: Delete unused array tsc2101_ratesPeter Maydell
The array tsc2101_rates[] is unused (and we don't implement the TSC2101 anyway, only the 2102); delete it. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1410723223-17711-5-git-send-email-peter.maydell@linaro.org
2014-09-29hw/display/pxa2xx_lcd.c: Remove unused function pxa2xx_dma_rdst_setPeter Maydell
The function pxa2xx_dma_rdst_set() is unused; delete it. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1410723223-17711-4-git-send-email-peter.maydell@linaro.org
2014-09-29hw/intc/imx_avic.c: Remove unused function imx_avic_set_prio()Peter Maydell
The function imx_avic_set_prio() is unused; delete it. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1410723223-17711-3-git-send-email-peter.maydell@linaro.org
2014-09-29hw/display/blizzard.c: Delete unused function blizzard_rgb2yuvPeter Maydell
The function blizzard_rgb2yuv() is unused; delete it. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1410723223-17711-2-git-send-email-peter.maydell@linaro.org
2014-09-29configure: Build GDB XML for 32 bit ARM CPUs into qemu aarch64 binariesPeter Maydell
The qemu-aarch64 and qemu-system-aarch64 binaries include support for all the 32 bit ARM CPUs as well as the 64 bit ones. This means we need to build in the GDB XML files for the 32 bit CPUs too. Otherwise gdb will complain: warning: while parsing target description (at line 1): Could not load XML document "arm-core.xml" when you try to connect to our gdbserver to debug a 32 bit CPU running in a qemu-aarch64 or qemu-system-aarch64 binary. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1410533739-13836-1-git-send-email-peter.maydell@linaro.org
2014-09-29target-arm: Implement handling of breakpoint firingPeter Maydell
Implement handling of breakpoint event firing to correctly inject the debug exception into the guest. Since the breakpoint and watchpoint control register format is very similar we adjust wp_matches() to also handle breakpoints as well rather than using a separate function. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1410523465-13400-3-git-send-email-peter.maydell@linaro.org
2014-09-29target-arm: Implement setting guest breakpointsPeter Maydell
This patch adds support for setting guest breakpoints based on values the guest writes to the DBGBVR and DBGBCR registers. (It doesn't include the code to handle when these breakpoints fire, so has no guest-visible effect.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1410523465-13400-2-git-send-email-peter.maydell@linaro.org
2014-09-29Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into stagingPeter Maydell
* remotes/qmp-unstable/queue/qmp: Add HMP command "info memory-devices" qemu-socket: Eliminate silly QERR_ macros qemu-socket: Polish errors for connect() and listen() failure qemu-iotests: Test missing "driver" key for blockdev-add tests: add QMP input visitor test for unions with no discriminator qapi: dealloc visitor, implement visit_start_union qapi: add visit_start_union and visit_end_union virtio-balloon: fix integer overflow in memory stats feature monitor: Reset HMP mon->rs in CHR_EVENT_OPEN Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29libqos: use microseconds instead of iterations for virtio timeoutStefan Hajnoczi
Some hosts are slow or overloaded so test execution takes a long time. Test cases use timeouts to protect against an infinite loop stalling the test forever (especially important in automated test setups). Commit 6cd14054b67774cc58a51fca6660cfa1d3c08059 ("libqos virtio: Increase ISR timeout") increased the clock_step() value in an attempt to lengthen the virtio interrupt wait timeout, but timeout failures are still occuring on the Travis automated testing platform. This is because clock_step() only affects the guest's virtual time. Virtio requests can be bottlenecked on host disk I/O latency - which cannot be improved by stepping the clock, so the fix was ineffective. This patch changes the qvirtio_wait_queue_isr() and qvirtio_wait_config_isr() timeout mechanism from loop iterations to microseconds. This way the test case can specify an absolute 30 second timeout. Number of loop iterations is not a reliable timeout mechanism since the speed depends on many factors including host performance. Tests should no longer timeout on overloaded Travis instances. Cc: Marc Marí <marc.mari.barcelo@gmail.com> Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29libqos: improve event_index test with timeoutStefan Hajnoczi
The virtio event_index feature lets the device driver tell the device how many requests to process before raising the next interrupt. virtio-blk-test.c tries to verify that the device does not raise an interrupt unnecessarily. Unfortunately the test has a race condition. It spins checking for an interrupt up to 100 times and then assumes the request has finished. On a slow host the I/O request could still be in flight and the test would fail. This patch waits for the request to complete, or until a 30-second timeout is reached. If an interrupt is raised while waiting the test fails since the device was not supposed to raise interrupts. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29raw-posix: Fix build without posix_fallocate()Kevin Wolf
Check for the presence of posix_fallocate() in configure and only compile in support for PREALLOC_MODE_FALLOC when it's there. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into stagingPeter Maydell
Block patches # gpg: Signature made Fri 26 Sep 2014 19:57:52 BST using RSA key ID C88F2FD6 # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" * remotes/kevin/tags/for-upstream: qemu-iotests: Fail test if explicit test case number is unknown block: Validate node-name vpc: fix beX_to_cpu() and cpu_to_beX() confusion docs: add blkdebug block driver documentation block: Catch simultaneous usage of options and their aliases block: Specify -drive legacy option aliases in array block: Improve message for device name clashing with node name qemu-nbd: Destroy the BlockDriverState properly block: Keep DriveInfo alive until BlockDriverState dies blockdev: Disentangle BlockDriverState and DriveInfo creation blkdebug: show an error for invalid event names Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-09-29qxl: use graphic_console_set_hwopsGerd Hoffmann
Simply switch function pointers when entering/leaving vga mode. Allows to remove wrapper functions which do nothing but dispatch calls depending on the current qxl mode. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2014-09-29console: add graphic_console_set_hwopsGerd Hoffmann
Add a function to allow display emulations to switch the hwops function pointers. This is useful for devices which have two completely different operation modes. Typical case is the vga compatibility mode vs. native mode in qxl and the upcoming virtio-vga device. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>