tcg/ppc64: Fix typo
Signed-off-by: malc <av1474@comtv.ru>
fix 100% cpu utilization when cpu is stopped
Hello, d6f4ade (disentangle tcg and deadline calculation, 2010-03-10)introduces following regression(s): 100% cpu utilization when QEMU is invoked like:qemu -S -s ... ditto when gdb takes control over the session via gdb-stub...
Hello,
d6f4ade (disentangle tcg and deadline calculation, 2010-03-10)introduces following regression(s):
100% cpu utilization when QEMU is invoked like:qemu -S -s ...
ditto when gdb takes control over the session via gdb-stub...
tcg/ppc: Fix typo
tcg/ppc: Implment bswap16/32
OHCI qdev conversion
Convert remaining OHCI devices to QDEV interface.
Signed-off-by: Paul Brook <paul@codesourcery.com>
Fix arm-linux-user
Only include hw/loader.h from target-arm/helper.c when building forsystem emulation.
ARMv7-M reset fixes
Move ARMv7-M PC/SP initialization to the CPU reset routine. Add a boardreset routine to call this. Also load values directly from ROM asimages have not been copied yet.
Avoid clearing the NVIC pointer on cpu reset.
tcg/mips: fix 64-bit linux-user on big endian MIPS
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
tcg/mips: use seb/seh instructions on MIPS32R2
tcg/ppc: Implement eqv, nand and nor
Split TLB addend and target_phys_addr_t
Historically the qemu tlb "addend" field was used for both RAM and IO accesses,so needed to be able to hold both host addresses (unsigned long) and guestphysical addresses (target_phys_addr_t). However since the introduction of...
UHCI spurious interrut fix
Only raise an interrupt if the TD has actually completed.
Revert "Compile usb-ohci only once"
This reverts commit f1698408f1dcb7548a21828a0b1e2b530fae3af3.
PCI is always little-endian. Having a user-visible "be" property is justplain wrong.
tcg/ppc: Fix not_i32
Thanks to Alexander Graf for bug report and a good reproducible testcase.
Make cpu_get_real_ticks use mfspr
PowerPC CPUs have had two ways to read the time base for quite some time now.They provide it using the mfspr instruction or - if a special bit is set inthat opcode - using mftb. For timekeeping we're currently using mftb....
sparc32: add IOMMU chipset doc links
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
sparc32: rename iommu.c to sun4m_iommu.c to make room for other IOMMUs
sparc32: improve timer implementation
Timer with zero period (free-run) will never match.
Timer counting starts with tick value of 0x200, not from 0,so the period must calculated from one tick less than the limit.
Fix build on mingw32
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/r2d: add a USB keyboard
The R2D board does not have a PS/2 port, and only support a keyboard onthe USB bus.
usb-bus: fix no params
After commit 702f3e0fb52c124c07f215426eeadb70a716643f, the params isnerver NULL. It should check *params instead of params to determinewhether the params is empty.
Signed-off-by: TeLeMan <geleman@gmail.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Update PowerPC OpenBIOS image to r721
win32: Fix compiler errors from u_int64_t
u_int64_t raises compiler error messages:
CC libhw32/virtio.o/qemu/ar7/hw/virtio.c: In function ‘virtio_queue_get_avail_size’:/qemu/ar7/hw/virtio.c:776: error: ‘u_int64_t’ undeclared (first use in this function)...
tcg/TODO: remove setcond
linux-user: fix page_unprotect when host page size > target page size
When the host page size is bigger that the target one, unprotecting apage should:- mark all the target pages corresponding to the host page as writable- invalidate all tb corresponding to the host page (and not the target...
ia64 disas support
Taken from binutils SVN, using last GPLv2 version.
tcg: align static_code_gen_buffer to CODE_GEN_ALIGN
On ia64, the default memory alignement is not enough for a codealignement. To fix that, force static_code_gen_buffer alignmentto CODE_GEN_ALIGN.
tcg: initial ia64 support
S390: Add stub for cpu_get_phys_page_debug
We don't implement any virtual memory in the S390 target so far, so let'sadd a stub for this now mandatory function.
Fixes building of S390 target.
Signed-off-by: Alexander Graf <agraf@suse.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
S390: Tell user why VM creation failed
The KVM kernel module on S390 refuses to create a VM when the switch_amodekernel parameter is not used.
Since that is not exactly obvious, let's give the user a nice warning.
Signed-off-by: Alexander Graf <agraf@suse.de>...
Fix compilation with missing inotify_init1
Commit c05c7a7306a23a4b01d1606172b142c45caffc92breaks cross compilation for mips (and othercompilations without CONFIG_INOTIFY1):
make1: Entering directory `/qemu/bin/mips' CC i386-linux-user/syscall.o...
linux-user/ia64: workaround ia64 strangenesses
ia64 has some strangenesses that need to be workaround:- it has a __clone2() syscall instead of the using clone() one, with different arguments, and which is not declared in the usual headers.- ucontext.uc_sigmask is declared with type long int, while it is...
tap: add interface to get device fd
Will be used by vhost to attach/detach to backend.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
kvm: add API to set ioeventfd
Comment on kvm usage: rather than require users to do if (kvm_enabled())and/or ifdefs, this patch adds an API that, internally, is defined tostub function on non-kvm build, and checks kvm_enabled for non-kvmrun.
While rest of qemu code still uses if (kvm_enabled()), I think this...
notifier: event notifier implementation
event notifiers are slightly generalized eventfd descriptors. Currentimplementation depends on eventfd because vhost is the only user, andvhost depends on eventfd anyway, but a stub is provided for non-eventfdcase....
virtio: notifier support + APIs for queue fields
vhost needs physical addresses for ring and other queue fields,so add APIs for these. In particular, add binding API to sethost/guest notifiers. Will be used by vhost.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>...
virtio: add set_status callback
vhost net backend needs to be notified whenfrontend status changes. Add a callback,similar to set_features.
virtio: move typedef to qemu-common
make it possible to use type without header include,simplifying header dependencies.
virtio-pci: fill in notifier support
Support host/guest notifiers in virtio-pci.The last one only with kvm, that's okaybecause vhost relies on kvm anyway.
Note on kvm usage: kvm ioeventfd APIis implemented on non-kvm systems as well,this is the reason we don't need if (kvm_enabled())...
vhost: vhost net support
This adds vhost net device support in qemu. Will be tied to tap deviceand virtio by following patches. Raw backend is currently missing,will be worked on/submitted separately.
tap: add vhost/vhostfd options
This adds vhost binary option to tap, to enable vhost net accelerator.Default is off for now, we'll be able to make default on long termwhen we know it's stable.
vhostfd option can be used by management, to pass in the fd. Assigning...
tap: add API to retrieve vhost net header
will be used by virtio-net for vhost net support
virtio-net: vhost net support
This connects virtio-net to vhost net backend.The code is structured in a way analogous to what we have with vnetheader capability in tap.
We start/stop backend on driver start/stop aswell as on save and vm start (for migration)....
virtio-pci: compile per-target
With vhost, virtio-pci needs to include kvm.h and kvm.h needs to be builtper-target.
Fix -enable-kvm
Make vl.o compiled per target and fix a thinko in hw/acpi.c. It's not trivialto make kvm.h consumable by compiled-once files.
Restore terminal monitor attributes - addition
Patch 2d753894c7553d6a05e8fdbed5f4704398919a35 was missing this check,when running monitor as /dev/tty and other serial device, i.e: qemu -monitor /dev/tty -serial /dev/pts/1
Without this patch any serial device will override the monitor stored...
usb: class specific interface requests
Mass Storage Reset and Get Max LUN are class specific requests, butthey were not marked as such in hw/usb-msd.c, moved thereforeClassInterfaceRequest and ClassInterfaceOutRequest from hw/usb-net.cto hw/usb.h.Furthermore there was a problem in hw/usb-ohci.c when using DEBUG...
Don't check for bus master for old guests
Older Linux guests don't activate the bus master enable bit. So for those wecan just try to be clever and track if they set the DEVICE_OK bit even thoughbus mastering is still disabled.
Under that condition we can disable the windows safety check. With that logic...
Add missing #include needed for madvise() on OpenBSD
Fix i386-bsd-user build
Get bsd-user host page protection code working on FreeBSD hosts
Use kinfo_getvmmap(3) on FeeBSD >= 7.x and /compat/linux/proc on olderFreeBSD. (kinfo_getvmmap is preferred since /compat/linux/proc isusually only mounted on hosts also using the Linuxolator.)...
Fix bsd-user qemu_vmalloc() host page protection code
Just do the same as linux-user does.
Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Fix some compilation warnings on FreeBSD hosts
Use sysctl instead of /proc to find executable path on FreeBSD
..since /proc usually isn't mounted on FreeBSD.
Compile most PPC devices only once
Make byte swapping unconditional since PPC is big endian.
Compile prep_pci only once
Compile qemu-timer only once
Arrange various declarations so that also non-CPU code can accessthem, adjust users.
Move CPU specific code to cpus.c.
Compile openpic only once
Replace TARGET_PAGE_SIZE with 4096. Make byte swapping unconditionalsince PPC is big endian.
Compile ide/macio only once
Compile pflash_cfi01 only once
Push TARGET_WORDS_BIGENDIAN dependency to board level.
Compile pflash_cfi02 only once
Refactor target specific handling, compile vl.c only once
Move target specific functions and RAM handling to arch_init.c.
Add a flag to QEMUOptions structure to indicate for whicharchitectures the option is allowed, check the flagin run time and remove conditional code in option handling....
Compile acpi only once
Use qemu_irqs to trigger CMOS S3 and SMI events.
Avoid using kvm.h, which uses CPUState.
Refactor a few architecture dependent pieces in vl.c
These will be moved later.
Refactor CPUState handling out of vl.c
Move KVM and Xen global flags to vl.c
Move cpu_exec_init_all() declaration to qemu-common.h
Let cpu_exec_init_all() be called from non-CPU code.
Allow various header files to be included from non-CPU code
Allow balloon.h, gdbstub.h and kvm.h to be included fromnon-CPU code.
Adjust debug handling
tcg/mips: fix branch offset during retranslation
Branch offsets should only be overwritten during relocation, to supportpartial retranslation.
exec: remove dead code
linux-user/ppc: use the Linux register layout
The dynamic linker converts the Linux layout to the AIX layout and isreentrant so it won't do it a second time if it's already beenconverted. In short it work just fine with either register layout.
OTOH, statically linked binaries expect a Linux layout....
qemu-io: fix aio help texts
Fix a few typos in the help texts for the various aio commands.
Signed-off-by: Christoph Hellwig <hch@lst.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
tcg/arm: Replace qemu_ld32u (left over from previous commit)
Commit 86feb1c860dc38e9c89e787c5210e8191800385edid not change all occurrences of INDEX_op_qemu_ld32ufor tcg/arm.
Please note that I could not test this patch(I have currently no arm system available)....
Fix driftfix option
Based on patch by Zachary Amsden.
Fix BSD and win32 builds
CC net/tap-bsd.o/src/qemu/net/tap-bsd.c: In function `tap_open':/src/qemu/net/tap-bsd.c:93: warning: implicit declaration of function `error_report'
CC sparc-softmmu/../net/tap-win32.occ1: warnings being treated as errors...
Refactor numa mode setting
pflash_cfi02: fix incorrect TARGET_FMT_lx/d use
Also use target_phys_addr_t for addresses.
Compile vmware_vga only once
tcg-mips: add guest base support
tcg/mips: implement the not_i32 op the same way as gcc
tcg-mips: implement nor
be more specific in -mem-path error messages
Signed-Off-By: Michael Tokarev <mjt@tls.msk.ru>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Add a missing #include for FreeBSD hosts
Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o
The location tracking interface is used by code shared with qemi-img,qemu-nbd and qemu-io, so it needs to be available there. Commit827b0813 provides it in a rather hamfisted way: it adds a dummy...
error: Move qerror_report() from qemu-error.[ch] to qerror.[ch]
Signed-off-by: Markus Armbruster <armbru@redhat.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
error: Trim includes after "Infrastructure to track locations..."
Missed in commit 827b0813.
error: Make use of error_set_progname() optional
error: Trim includes after "Move qemu_error & friends..."
Missed in commit 2f792016.
error: Trim includes in qerror.c
linux-user: Use RLIMIT_STACK for default stack size.
The current default stack limit of 512kB is far too small; a fairnumber of gcc testsuite failures (for all guests) are directlyattributable to this. Using the -s option in every invocation ofthe emulator is annoying to say the least....
target-arm: disable PAGE_EXEC for XN pages
Don't set PAGE_EXEC for XN pages, to avoid a bypass of XN protectionchecking if the page is already in the TLB.
Signed-off-by: Rabin Vincent <rabin@rab.in>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
fix race between timer firing vs. alarm_timer->pending = 0
The period for Win32 timers is very short and always the sameindependent of dynticks, so it's possible that the timer firesbefore qemu_run_all_timers has reset alarm_timer->pending to zero.Reset alarm_timer->pending before rearming....
qemu-io: Fix return value handling of bdrv_open
bdrv_open may return -errno so we have to checkif the return value is '< 0', not '== -1'.
Signed-off-by: Ryota Ozaki <ozaki.ryota@gmail.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
qemu-nbd: Fix invalid usage of the first argument of errx
errx takes the exit status of a process as the firstargument. Passing errno to it is wrong. Instead thepatch lets errx take EXIT_FAILURE.
qemu-nbd: Fix return value handling of bdrv_open
balloon: Fix overflow when reporting actual memory size
Beginning with its introduction, the virtio balloon has had an overflow errorthat causes 'info balloon' to misreport the actual memory size when the balloonitself becomes larger than 4G. Use a cast when converting dev->actual from...
json-parser: Output the content of invalid keyword
When input some invalid word 'unknowcmd' through QMP port, qemu outputsthis error message: "parse error: invalid keyword `%s'"
This patch makes qemu output the content of invalid keyword, like:
"parse error: invalid keyword `unknowcmd'"...
raw-posix: Better error return values for hdev_create
Now that we output an error message according to the returned error code inqemu-img, let's return the real error codes. "Input/output error" foreverything isn't helpful.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>...
qemu-options.hx: fix a typo