aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-04-27target-arm: Make SETEND respect bswap_code (BE8) settingPeter Maydell
Make the SETEND instruction respect the setting of bswap_code, so that in BE8 mode we UNDEF for attempts to switch into little-endian mode and nop for attempts to stay in big-endian mode. (This is the inverse of the existing handling of SETEND in the more common little-endian setup, which we use since we don't implement the architecturally-mandated dynamic endianness switching.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-04-27target-arm: Move A9 config_base_address reset value to ARMCPUPeter Maydell
Move the A9 config_base_address cp15 register reset value to ARMCPU. This should become a QOM property so that the Highbank board can set it without having to pull in cpu-qom.h, but at least this avoids the implicit dependency on reset ordering that the previous workaround had. Cc: Mark Langsdorf <mark.langsdorf@calxeda.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-04-27target-arm: Change cpu_arm_init() return type to ARMCPUAndreas Färber
Make cpu_arm_init() return a QOM ARMCPU, so that we don't need to obtain an ARMCPU through arm_env_get_cpu() in machine init code. This requires to adjust the inclusion site of cpu-qom.h and in turn, forward-looking, to homogenize its include order. cpu_init() must still return a CPUARMState for backwards and cross-target compatibility, so adjust the cpu_init macro. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-04-26Revert "configure: Virtfs doesn't require libcap."Anthony Liguori
This reverts commit d10f9056bacf7991fd6a5f63ac2e0190e84ea3a7 due to a build breakage. See http://spunk.home.kraxel.org/bb/builders/ubuntu-default/builds/52 Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-26os-posix: Fix build on FreeBSDNathan Whitehorn
Add an include for a header required to build on recent FreeBSD. Signed-off-by: Nathan Whitehorn <nwhitehorn@freebsd.org> Signed-off-by: Andreas Färber <andreas.faerber@web.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-26main_loop_wait: block indefinitelyStefano Stabellini
- remove qemu_calculate_timeout; - explicitly size timeout to uint32_t; - introduce slirp_update_timeout; - pass NULL as timeout argument to select in case timeout is the maximum value; Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Paul Brook <paul@codesourcery.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-26qemu_next_alarm_deadline: check the expire time of a clock only if it is enabledStefano Stabellini
Also delta in qemu_next_alarm_deadline is a 64 bit value so set the default to INT64_MAX instead of INT32_MAX. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-26timers: the rearm function should be able to handle delta = INT64_MAXStefano Stabellini
Fix win32_rearm_timer and mm_rearm_timer: they should be able to handle INT64_MAX as a delta parameter without overflowing. Also, the next deadline in ms should be calculated rounding down rather than up (see unix_rearm_timer and dynticks_rearm_timer). Finally ChangeTimerQueueTimer takes an unsigned long and timeSetEvent takes an unsigned int as delta, so cast the ms delta to the appropriate unsigned integer. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-26target-i386: Fix x86_cpuid_set_model_id()Andreas Färber
Don't assume zeroed cpuid_model[] fields. This didn't break anything yet but QOM properties should be able to set the value to something else without setting an intermediate zero string. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-26qtest: Fix more format errors with qtest_sendfStefan Weil
After adding GCC_FMT_ATTR to qtest_sendf, more format errors are reported by the compiler. These are fixed here. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-26sdl: Add QEMU mascot icon for use with SDLStefan Weil
This is a bitmap file (32x32x4) derived from the official QEMU mascot (which was designed by Benoît Canet). I stripped the text from the SVG to get a nearly square image and converted the result to BMP without any manual optimization. The bitmap is currently used by QEMU's SDL interface and replaces the default X icon. v2: Add qemu-icon.bmp to Makefile. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-26qom: quick and dirty QOM filesystem based on FUSEAnthony Liguori
Here's an example session: anthony@titi:~/git/qemu/QMP$ QMP_SERVER=/tmp/server.sock ./qom-fuse tmp anthony@titi:~/git/qemu/QMP$ ls tmp machine sysbus type anthony@titi:~/git/qemu/QMP$ ls tmp/machine i440fx peripheral peripheral-anon type unattached anthony@titi:~/git/qemu/QMP$ ls tmp/machine/i440fx ioapic parent_bus pci.0 type anthony@titi:~/git/qemu/QMP$ ls tmp/machine/i440fx/pci.0 child[0] child[1] child[2] child[3] child[4] child[5] type anthony@titi:~/git/qemu/QMP$ ls tmp/machine/i440fx/pci.0/child[4] addr legacy-addr multifunction type command_serr_enable legacy-command_serr_enable parent_bus ide.0 legacy-multifunction rombar ide.1 legacy-romfile romfile anthony@titi:~/git/qemu/QMP$ cat tmp/machine/i440fx/pci.0/child[4]/type piix3-ide anthony@titi:~/git/qemu/QMP$ ls -al tmp/machine/i440fx/pci.0/child\[4\]/parent_bus lrwxr-xr-x 2 anthony anthony 4096 1969-12-31 18:00 tmp/machine/i440fx/pci.0/child[4]/parent_bus -> ../../../machine/i440fx/pci.0 Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-26pc-sysfw: make sure to call qdev_initAnthony Liguori
We're not actually calling qdev_init for the pc-sysfw device. Since we create the canonical path during realize, this was causing an assert to trigger when attempting to read a link pointing to pc-sysfw. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-26hda: fix codec idsGerd Hoffmann
Our hda codecs exist in two variants: With CONFIG_MIXEMU=y they expose amplifiers for volume control to the guest, with CONFIG_MIXEMU=n they don't. This patch changes the codec ids, they are different now for these two cases. This makes sure windows guests will notice the difference. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
2012-04-26hda: add hda-micro codecGerd Hoffmann
It's identical to the hda-duplex codec, except that it advertises the input as microphone instead of line-in and the output as speaker instead of line-out. Some guest apps (microsoft netmeeting being one) are picky when it comes to selecting the recording source and don't accept line-in, so give them what they expect. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
2012-04-26hda: move input widgets from duplex to commonGerd Hoffmann
Preparing for a new user of the input widget definitions. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
2012-04-25fix paaudio.c warningsGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
2012-04-24Limit ptimer rate to something achievablePeter Chubb
If a guest sets very short timeouts, and asks for a timer to be reloaded on timeout, QEMU can go to 100%CPU utilisation and become unresponsive, as it is spending all its time generating timeout interrupts. On real hardware this doesn't matter, as the interrupts are just coalesced, and the effect is to have the interrupt asserted all the time. This patch is a band-aid, that prevents timeouts less than 10 microseconds from being set. 10 microseconds is a limit that was determined empirically on a variety of machines as the shortest that allowed QEMU to pick up a control-a c sequence to get at the monitor. Reported-by: Anna Lyons <anna.lyons@nicta.com.au> Signed-off-by: Peter Chubb <peter.chubb@nicta.com.au> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24qom: Refine container_get() to allow using a custom rootAndreas Färber
Specify the root to search from as argument. This avoids hardcoding "/machine" in some places and makes it more flexible. Signed-off-by: Andreas Färber <afaerber@suse.de> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Anthony Liguori <anthony@codemonkey.ws> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24qtest: Fix tv_usec != longRichard Henderson
Sparc Debian 5.0.8 does not define __suseconds_t as long, but FMT_timeval expects %ld. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Richard Henderson <rth@twiddle.net> Cc: Anthony Liguori <aliguori@us.ibm.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24Remove extra pthread switchPeter Portante
remove the extra pthread switch which might be there from the package config check for gthreads. Signed-off-by: Peter Portante <peter.portante@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24configure: Virtfs doesn't require libcap.Kusanagi Kouichi
Only proxy helper does. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kusanagi Kouichi <slash@ac.auone-net.jp> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24qemu-char: Fix crash when switching consolesStefan Weil
qemu-system-arm (and other system emulations) crashes with SDL when the user switches consoles (Alt-Ctrl-F4). We already check for NULL pointers in qemu_chr_fe_ioctl, qemu_chr_be_can_write and other functions, so do this also for s->chr_read in qemu_chr_be_write. This fixes the crash. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24configure: add --with-confsuffix optionEduardo Habkost
This will allow the user to make Qemu use a different subdirectory name inside $datadir and $sysconfdir, instead of "/qemu". Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24configure: change meaning of --datadir to Autoconf conventionEduardo Habkost
Autoconf uses --datadir for the /usr/share directory, not the program-specific subdirectory inside /usr/share. This changes configure to match autoconf behavior. Note that this will break compatibility with existing build scripts. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24create_config: simplify prefix=* block, remove CONFIG_QEMU_PREFIXEduardo Habkost
As now that block handles only the prefix variable, the code can be much simpler. This also removes the CONFIG_QEMU_PREFIX define as it is not used by any C code. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24create_config: remove *dir blockEduardo Habkost
Now only the qemu_*dir variables will become #defines. The other directory names aren't used by the C code. That means the following #defines won't be available in C code anymore: - CONFIG_QEMU_BINDIR - CONFIG_QEMU_LIBDIR - CONFIG_QEMU_INCLUDEDIR - CONFIG_QEMU_MANDIR - CONFIG_QEMU_SYSCONFDIR - CONFIG_QEMU_LIBEXECDIR The following #defines are going to be kept because they are handled by the qemu_* block on create_config: - CONFIG_QEMU_CONFDIR - CONFIG_QEMU_DATADIR - CONFIG_QEMU_DOCDIR This one will be kept because it is set directly by ./configure: - CONFIG_QEMU_HELPERDIR This patch keeps the 'prefix=*' (CONFIG_QEMU_PREFIX) pattern because other variables may use $prefix on their config-host.mak definitions. The remaining code will be simplified on a further patch. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24config-host.mak: reorder variables a bitEduardo Habkost
Cosmetic change. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24config-host.mak: remove CONFIG_QEMU_SHAREDIREduardo Habkost
There is no code using that variable according to 'git grep', so kill it. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24config-host.mak: rename docdir to qemu_docdirEduardo Habkost
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24Makefile: use $(qemu_confdir) instead of $(sysconfdir)/qemuEduardo Habkost
Instead of hardcoding the directory suffix, use the qemu-specific directory variable. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24config-host.mak: rename confdir to qemu_confdirEduardo Habkost
$confdir is a confusing name, as it's not clear if it's "the system config dir" or "the Qemus-specific directory inside the config dir". $qemu_confdir makes it more clear. The current C code that uses CONFIG_QEMU_CONFDIR should be safe, as now create_config generates the same #define name (CONFIG_QEMU_CONFDIR) for both "confdir" and "qemu_confdir" variables. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24config-host.mak: rename datadir to qemu_datadirEduardo Habkost
Autoconf concept of "datadir" is supposed to be "$prefix/share", not "$prefix/share/PACKAGE", so using datadir for the Qemu-specific directory is confusing. The current C code that uses CONFIG_QEMU_DATADIR should be safe, as now create_config generates the same #define name (CONFIG_QEMU_DATADIR) for both "datadir" and "qemu_datadir" variables. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24create_config: separate section for qemu_*dir variables (v2)Eduardo Habkost
The generic *dir section will eventually go away and be replaced with qemu_* section. By now, both sections will be kept, while the variables get renamed on config-host.mak. With this patch, a XXXdir variable will become a CONFIG_QEMU_XXXDIR define, and a qemu_XXXdir variable will become CONFIG_QEMU_XXXDIR as well (instead of becoming a CONFIG_QEMU_QEMU_XXXDIR define). Changes v1 -> v2: - Rebase on top of newer qemu.git changes, that changed "tr '[:lower:]' '[:upper:]'" to "LC_ALL=C tr '[a-z]' '[A-Z]'". Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24configure: rename $confdir to $qemu_confdirEduardo Habkost
There's no "confdir" variable on Autoconf, but it's good to make it clear that it's a variable for the Qemu-specific subdirectory inside $sysconfdir. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24configure: rename $docdir to $qemu_docdirEduardo Habkost
The autoconf "docdir" variable is used for the program-specific subdirectory, but anyway it's better to make it clear that the variable is used for the qemu-specific subdirectory path. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24configure: rename $datadir to $qemu_datadirEduardo Habkost
The variable is used for the qemu-specific directory and has a different meaning of the autoconf "datadir" variable (that's used for the $prefix/share directory, not for $prefix/share/PACKAGE). This doesn't change behavior or interfaces, it's just an internal variable rename. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-04-24target-microblaze: QOM'ify CPU initAndreas Färber
Move code from cpu_mb_init() to a QOM initfn. Signed-off-by: Andreas Färber <afaerber@suse.de> Tested-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> [AF: Leave cpu_reset() call in cpu_mb_init()]
2012-04-24target-microblaze: QOM'ify CPU resetAndreas Färber
Move code from cpu_state_reset() to QOM mb_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Tested-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
2012-04-24target-microblaze: QOM'ify CPUAndreas Färber
Embed CPUMBState as first member of QOM MicroBlazeCPU. Let CPUClass::reset() call cpu_state_reset() for now. Signed-off-by: Andreas Färber <afaerber@suse.de> Tested-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> [AF: Updated cpu.c to include cpu-qom.h indirectly via cpu.h]
2012-04-24target-cris: Start QOM'ifying CPU initAndreas Färber
Move VR-independent code from cpu_cris_init() into an initfn. Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-04-24target-cris: QOM'ify CPU resetAndreas Färber
Move code from cpu_state_reset() into QOM cris_cpu_reset(). Let CPU init call cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-04-24target-cris: QOM'ify CPUAndreas Färber
Embed CPUCRISState as first member of QOM CRISCPU. Let CPUClass::reset() call cpu_state_reset() for now. Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-04-23Merge remote-tracking branch 'origin/master' into stagingAnthony Liguori
* origin/master: qtest: fix memread and memwrite on 32 bit hosts
2012-04-23Merge remote-tracking branch 'qmp/queue/qmp' into stagingAnthony Liguori
* qmp/queue/qmp: qapi: g_hash_table_find() instead of GHashTableIter. qmp: make block job command naming consistent
2012-04-23qtest: fix memread and memwrite on 32 bit hostsBlue Swirl
Use PRIx64 to print 64 bit values to avoid truncation on 32 bit hosts. Reviewed-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-04-23Merge remote-tracking branch 'kwolf/for-anthony' into stagingAnthony Liguori
* kwolf/for-anthony: (38 commits) qemu-iotests: Fix test 031 for qcow2 v3 support qemu-iotests: Add -o and make v3 the default for qcow2 qcow2: Zero write support qemu-iotests: Test backing file COW with zero clusters qemu-iotests: add a simple test for write_zeroes qcow2: Support for feature table header extension qcow2: Support reading zero clusters qcow2: Version 3 images qcow2: Ignore reserved bits in check_refcounts qcow2: Ignore reserved bits in refcount table entries qcow2: Simplify count_cow_clusters qcow2: Refactor qcow2_free_any_clusters qcow2: Ignore reserved bits in L1/L2 entries qcow2: Fail write_compressed when overwriting data qcow2: Ignore reserved bits in count_contiguous_clusters() qcow2: Ignore reserved bits in get_cluster_offset qcow2: Save disk size in snapshot header Specification for qcow2 version 3 qcow2: Fix refcount block allocation during qcow2_alloc_cluster_at() iotests: Resolve test failures caused by hostname ...
2012-04-23Merge remote-tracking branch 'origin/master' into stagingAnthony Liguori
* origin/master: fix BCD mask for date (Solaris 2.5 guest hang fix)
2012-04-23fix BCD mask for date (Solaris 2.5 guest hang fix)Artyom Tarasenko
Fix BCD mask for date. The most visible effect of this patch is Solaris 2.5.1 doesn't hang at boot if the day of month is >21. Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-04-23Merge remote-tracking branch 'origin/master' into stagingAnthony Liguori
* origin/master: (27 commits) target-arm: Move reset handling to arm_cpu_reset target-arm: Drop cpu_reset_model_id() target-arm: Move cache ID register setup to cpu specific init fns target-arm: Move OMAP cp15_i_{max,min} reset to cpu_state_reset target-arm: Move feature register setup to per-CPU init fns target-arm: Move iWMMXT wCID reset to cpu_state_reset target-arm: Drop JTAG_ID documentation target-arm: Move SCTLR reset value setup to per cpu init fns target-arm: Move CTR setup to per cpu init fns target-arm: Move MVFR* setup to per cpu init fns target-arm: Move FPSID config to cpu init fns target-arm: Move feature bit settings to CPU init fns target-arm: Add QOM subclasses for each ARM cpu implementation target-arm: remind to keep arm features in sync with linux-user/elfload.c tci: GETPC() macro must return an uintptr_t gdbstub: Synchronize CPU state unconditionally in gdb_set_cpu_pc softfloat: make USE_SOFTFLOAT_STRUCT_TYPES compile target-xtensa: add tests for LOOPNEZ and LOOPGTZ target-xtensa: fix LOOPNEZ/LOOPGTZ translation qtest: add m48t59 tests for Sparc ...