pxa2xx_dma: drop unused pxa2xx_dma_handler_t/handler field
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
pxa2xx_timer: Store relevant irq line in each timer.
pxa2xx_timer: switch to using qdev/vmstate
pxa2xx_timer: change info struct name to comply with guidelines
It should be PXA2xxTimerInfo, not pxa2xx_timer_info. Replace alloccurences of old name with the new one.
pxa2xx_pic: Set base address for sysbus device.
Thid device's registration was broken sincee1f8c729fa890c67bb4532f22c22ace6fb0e1aaf, this should fix it.
vmstate: add VMSTATE_STRUCT_ARRAY_TEST
This is a _TEST variant of VMSTATE_STRUCT_ARRAY, necessary e.g.for future patch changing pxa2xx_timer to use vmstate.
microblaze: Correct copy+paste:o in defconfigs
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
HACKING: Update status of format checking
Hopefully all functions with printf like arguments now use format checking.
This was tested with default build configuration on linuxand windows hosts (including some cross compilations),so chances are good that there remain few (if any) functions...
vnc: fix a memory leak in threaded vnc server
VncJobQueue's buffer is intended to be used foras the output buffer for all operations in this queue,but unfortunatly.
vnc_async_encoding_start() is in charge of setting thisbuffer as the current output buffer, but...
Use sigwait instead of sigwaitinfo.
Fix compilation failure on Darwin.
Signed-off-by: Tristan Gingold <gingold@adacore.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
bitops: fix error on OpenBSD and mingw32
Fix this error: CC bitops.oIn file included from /src/qemu/bitops.c:14:/src/qemu/bitops.h:69: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'unsigned'
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
bitops: fix test_and_change_bit()
./bitops.h:192: warning: ‘old’ is used uninitialized in this function
Signed-off-by: Corentin Chary <corentincj@iksaif.net>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
slirp: Remove some type casts caused by bad declaration of x.tp_buf
x.tp_buf was declared as a uint8_t array, but always used asa char array (which needed a lot of type casts).
The patch includes these changes:
Fixing tap adapter for win32
This fix allows connection of internal VLAN to the external TAP interface.If tap_win32_write function always returns 0, the TAP network interfacein QEMU is disabled.
Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@gmail.com>...
Fixing network over sockets implementation for win32
MSDN includes the following in WSAEALREADY error description for connect()function: "To preserve backward compatibility, this error is reported asWSAEINVAL to Winsock applications that link to either Winsock.dll or...
pxa2xx_pic: update to use qdev
Use qdev/sysbus framework to handle pxa2xx-pic. Instead of exposing IRQsvia array, reference them via qdev_get_gpio_in().
Patch has been modified by the committer.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>...
mst_fpga: correct irq level settings
Final corrections for IRQ levels that are set by mst_fpga:
Add TAGS and *~ to .gitignore
Add the etags output generated by "make TAGS" and editor backup filesto .gitignore.
This patch has previously appeared in my series of patches to addpSeries emulation support. However, it obviously has no realconnection to that, and can be applied seperately....
virtio-serial: kill VirtIOSerialDevice
VirtIOSerialDevice is like VirtIOSerialPort with just the first twofields, which makes it pretty pointless. Using VirtIOSerialPortdirectly works equally well and is less confusing.
[Amit: - rebase - rename 'dev' to 'port' in function params in virtio-serial.h ]...
ui/vnc-enc-tight.c: Fix compile failure if CONFIG_VNC_JPEG not defined
Add some missing #ifdefs to fix compilation failures in the !CONFIG_VNC_JPEGcase introduced by commit ce702e93.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/sd.c: Add missing state change for SD_STATUS, SEND_NUM_WR_BLOCKS
The SD_STATUS and SEND_NUM_WR_BLOCKS commands are supposed to causethe card to send data back to the host. However sd.c was missing thestate change to sd_sendingdata_state for these commands, with the effect...
softfloat: move all default NaN definitions to softfloat.h.
These special values are needed to implement some helper functions,which return/use these values in some cases.
Signed-off-by: Christophe Lyon <christophe.lyon@st.com>Reviewed-by: Peter Maydell <peter.maydell@linaro.org>...
softfloat: add _set_sign(), _infinity and _half for 32 and 64 bits floats.
These constants and utility function are needed to implement somehelpers. Defining constants avoids the need to re-compute them atruntime.
Signed-off-by: Christophe Lyon <christophe.lyon@st.com>...
target-arm: Introduce float64_256 and float64_512 constants.
These two constants will be used by helper functions such as recpe_f32and rsqrte_f32.
target-arm: fix support for VRECPE.
Now use the same algorithm as described in the ARM ARM.
Signed-off-by: Christophe Lyon <christophe.lyon@st.com>Reviewed-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-arm: fix support for VRSQRTE.
vnc: fix lossy rect refreshing
The for loop in send_lossy_rect was totally wrong, and we can'tcall vnc_set_bits() because it does not really do what it should.Use vnc_set_bit() directly instead.
Signed-off-by: Corentin Chary <corentincj@iksaif.net>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
bitmap: add a generic bitmap and bitops library
Add most used bitmap and bitops functions into bitmap.c and bitops.c.Theses functions are mostly copied from Linux kernel source.
Some of these functions are already redefined in the VNC server. Someof them could be used for some block stuff. The yet yo be submitted...
vnc: use the new generic bitmap functions
Switch to bitmap.h and bitops.h instead of redefining our own bitmaphelpers.
vnc: don't try to send bigger updates that client height
Respect client size if it doesn't not support desktop resizing.
vnc: tight: tweak adaptive tight settings
The force_jpeg threshold was too low.
vnc: add a non-adaptive option
This option allow to disable adaptive behaviors in some encodings.
vnc: Fix fatal crash with vnc reverse mode
Reverse mode is unusable:
qemu -vnc localhost:5500,reverse
crashes in vnc_refresh_server_surface because some pointers are NULL.
Fix this by calling vnc_dpy_resize (which initializes these pointers)before calling vnc_refresh....
vnc: don't set the quality if lossy encoding are disabled
This should not change the current behavior, but if any newencoding try to use the tight quality, it will always be setto -1 when lossy encodings are disabled.
Signed-off-by: Corentin Chary <corentincj@iksaif.net>...
vnc: add a way to get the update frequency for a given region
This patch compute the update frequency (in Hz) for each 64x64 rects.Any adaptive encoding can get this value using vnc_update_freq(), andswitch to a lossy encoding if the value is too high....
vnc: refresh lossy rect after a given timeout
If an adaptive encoding has choosen to send a lossy updatebased on the result of vnc_update_freq(), then it should advertiseit with vnc_sent_lossy_rect(). This will allow to automatically refreshthis rect once it's static again....
vnc: tight: use the update frequency to choose between lossy and lossless
Use the new update frequency infrastructure to use jpeg for regions withhigh update frequency.
vnc: palette: use a pool to reduce memory allocations
We now that the palette will never have more than 256elements. Let's use a pool to reduce malloc calls.
vnc: palette: add palette_init calls
This allow to use palette on the stack instead of alwaysallocating them.
vnc: palette: and fill and color calls.
These two helpers are needed for zrle and zywrle.
vnc: Add ZRLE and ZYWRLE encodings.
Add ZRLE [1] and ZYWRLE [2] encodings. The code is inspire^W stolenfrom libvncserver (again), but have been rewriten to match QEMU codingstyle.
[1] http://www.realvnc.com/docs/rfbproto.pdf[2] http://micro-vnc.jp/research/remote_desktop_ng/ZYWRLE/publications/...
vnc: fix uint8_t comparisons with negative values
pls3adsp1800: Base load_elf endianness on target endianness
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@petalogix.com>
microblaze: Allow targeting little-endian mb
do not use qemu_icount_delta in the !use_icount case
The !use_icount code is the same for iothread and non-iothread,except that the timeout is different. Since the timeout might aswell be infinite and is only masking bugs, use the higher value.With this change the !use_icount code is handled equivalently...
hw/irq.h: Remove unused SetIRQFunc typedef
Remove the typedef SetIRQFunc, as it is not used by anything.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Revert "prep: Disable second IDE channel, as long as ISA IDE emulation doesn't support same irq for both channels"
This reverts commit 491e2a338fdf8310c84f6ebaed1683a871a0700e.
isa-bus: Remove bogus IRQ sharing check
Nothing prevented IRQ sharing on the ISA bus in principle. Not allboards supported this, neither each and every card nor driver and OS.Still, there existed valid IRQ sharing scenarios, (at least) two of themcan also be found in QEMU: >2 PC UARTs and the PREP IDE buses....
PS/2 keyboard Scancode Set 3 support
The following patch adds PS/2 keyboard Scancode Set 3 support.
Signed-off-by: Roy Tam <roytam@gmail.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-arm: Fix shift by immediate and narrow where src, dest overlap
For Neon shifts by immediate and narrow, correctly handle the casewhere the source registers and the destination registers overlap(the second pass should use the original register contents, not the...
target-arm: Refactor to pull narrowing decode into separate function
Pull the code which decodes narrowing operations as being eithersigned/unsigned saturate or plain out into its own function.
w32: Remove implementation of function ffs
This implementation is no longer needed.
ffs is either a built-in function (for compilations with optimisation)or taken from libiberty.a (which was added by the previous patch).
Cc: Anthony Liguori <aliguori@us.ibm.com>...
w32: Use additional library libiberty.a
libiberty.a is part of MinGW and provides useful functionslike ffs (MinGW) and getopt (MinGW-w64).
It is needed for w64 compilations and allows simpler code for w32.
Cc: Anthony Liguori <aliguori@us.ibm.com>Signed-off-by: Stefan Weil <weil@mail.berlios.de>...
Fix obvious mistake in pxa2xx i2s driver
RST bit is (1 << 4) bit, not (1 << 3), fix conditionthat enables i2s if ENB is set and RST is not set.
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
pxa2xx_keypad: Handle 0xe0xx keycodes
Add handling of 0xe0xx keycodes to pxa2xx_driver.Extended keycodes in keymap should be marked with most significantbit set (i.e. 0x80). Without this patch it's not possible to handlei.e. cursor keys.
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>...
pxa2xx_keypad: enhance emulation of KPAS, KPASMKP regs
Add emulation of KPAS register and proper emulation ofKPASMKP regs, so now driver supports multipresses and properlyworks with Linux driver.
qdev: Fix printout of bit device properties with bit index >= 8
Signed-off-by: David 'Digit' Turner <digit@google.com>Acked-by: Markus Armbruster <armbru@redhat.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
check-qdict: Fix possible crash
This warning is reported by cppcheck:
check-qdict.c:270: warning: scanf without field width limits can crash with huge input data
Fix it by limiting the field widths to 127 (both key and value take127 characters + a terminating '\0' byte)....
tests: Fix two memory leaks
Although both leaks are not really important, fix themto avoid cppcheck warnings:
tests/linux-test.c:433: error: Memory leak: stack1tests/linux-test.c:433: error: Memory leak: stack2
Signed-off-by: Stefan Weil <weil@mail.berlios.de>...
qemu-char: Check for missing backend name
Check if the backend option is missing before searching the backendtable. This fixes a NULL pointer dereference when QEMU is invoked withthe following invalid command-line:
$ qemu -chardev id=foo,path=/tmp/socket...
ppc405: Fix memory leak
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Acked-by: Andreas Färber <andreas.faerber@web.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
s390: Fix memory leak
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
pci: Fix memory leak
vhost: disable on tap link down
qemu makes it possible to disable link at tap which is not communicatedto the guest but causes all packets to be dropped.
When vhost-net is enabled, vhost needs to be aware of both the virtiolink_down and the peer link_down. we switch to userspace emulation when...
net: notify peer about link status change
This works for virtio userspace, as qemu stops giving it packets, butnot for virtio-net connected to vhost-net as that does not get notified...
w32: Fix arguments for GetProcessAffinityMask, SetProcessAffinityMask
These functions take arguments of type PDWORD_PTR which is apointer to a DWORD_PTR, not a pointer to a DWORD.
target-arm: Fix rounding constant addition for Neon shifts
Handle cases where adding the rounding constant could overflow in Neonshift instructions: VRSHR, VRSRA, VQRSHRN, VQRSHRUN, VRSHRN.
Signed-off-by: Christophe Lyon <christophe.lyon@st.com>[peter.maydell@linaro.org: fix handling of large shifts in rshl_s32,...
target-arm: Fix signed VRSHL by large shift counts
Correctly handle VRSHL of signed values by a shift count of thewidth of the data type or larger, which must be special-cased in thershl_s* helper functions.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>...
target-arm: Fix unsigned VRSHL.s8 and .s16 right shifts by type width
Fix handling of unsigned VRSHL.s8 and .s16 right shifts by the typewidth.
target-arm: fix unsigned 64 bit right shifts.
Fix range of shift amounts which always give 0 as result.
target-arm: Fix saturated values for Neon right shifts
Fix value returned by signed 8 and 16 bit qrshl helperswhen the result has saturated.
target-arm: fix Neon VQSHRN and VSHRN.
Call the normal shift helpers instead of the rounding ones.
target-arm: fix decoding of Neon 64 bit shifts.
Fix decoding of 64 bits variants of VSHRN, VRSHRN, VQSHRN, VQSHRUN,VQRSHRN, VQRSHRUN, taking into account whether inputs are unsignedor not.
target-arm: Fix signed VQRSHL by large shift counts
Handle the case of signed VQRSHL by a shift count of the width of thedata type or larger, which must be special cased in the qrshl_s*helper functions.
target-arm: Fix unsigned VQRSHL by large shift counts
Correctly handle VQRSHL of unsigned values by a shift count of thewidth of the data type or larger, which must be special-cased in theqrshl_u* helper functions.
target-arm: Move Neon VZIP to helper functions
Move the implementation of the Neon VUZP unzip instruction from inlinecode to helper functions. (At 50+ TCG ops it was well over therecommended limit for coding inline.) The helper implementations alsogive the correct answers where the inline implementation did not....
target-arm: Move Neon VUZP to helper functions
Move the implementation of the Neon VUZP unzip instruction from inlinecode to helper functions. (At 50+ TCG ops it was well over therecommended limit for coding inline.) The helper implementations alsofix the handling of the quadword version of the instruction....
target-arm: Correct conversion of Thumb Neon dp encodings into ARM
We handle Thumb Neon data processing instructions by converting theminto the equivalent ARM encoding, as the two are very close. Howeverthe ARM encoding should have bit 28 set, not clear. This wasn't causing...
target-arm: Fix Neon VQDMLSL instruction
For VQDMLSL, negation has to occur after saturation, not before.
target-arm: Refactor handling of VQDMULL
Refactor the handling of VQDMULL so that it is dealt with inits own if() case rather than together with the accumulatinginstructions.
target-arm: Implement VMULL.P8
Implement VMULL.P8 (the 32x32->64 version of the polynomial multiplyinstruction).
qemu-lock.h: Remove non-pthreads spinlock implementations
Since configure guarantees us that we have pthreads on all hostsexcept mingw (which doesn't support a USER_ONLY config), we canand should use the pthread_mutex based implementation of spin_lock()...
e1000: verify we have buffers, upfront
The spec says: Any descriptor with a non-zero status byte has beenprocessed by the hardware, and is ready to be handled by the software.
Thus, once we change a descriptor status to non-zero we shouldnever move the head backwards and try to reuse this...
e1000: clear EOP for multi-buffer descriptors
The e1000 spec says: if software statically allocatesbuffers, and uses memory read to check for completed descriptors, itsimply has to zero the status byte in the descriptor to make it readyfor reuse by hardware. This is not a hardware requirement (moving the...
e1000: multi-buffer packet support
e1000 supports multi-buffer packets larger than rxbuf_size.
This fixes the following (on linux):- in guest: ifconfig eth1 mtu 16110- in host: ifconfig tap0 mtu 16110 ping -s 16082 <guest-ip>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>...
pc: remove test on TARGET_PHYS_ADDR_BITS == 32
Both i386 and x86_64 targets are now using target_phys_bits=64. Removeuseless code.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-i386: set target_phys_bits to 64
qemu i386 used to support more than 4GB of RAM through PAE, but it hasbeen disabled for an unknown reason. Reenable it.
Note that simply running qemu x86_64 and emulating a 32-bit CPU is nota solution to this problem as it is about 15% slower (it needs to...
Merge branch 'linux-user-for-upstream' of git://gitorious.org/qemu-maemo/qemu
i8254: convert to qdev
Convert to qdev. Don't expose PITState.
vga-isa: make optional
Ignore failure with vga-isa device creation, but print a warningmessage.
vga-isa: convert to qdev
applesmc: make optional
Based on patch by David Ahern.
fdc: make optional
Ignore failure with fdc device creation.
fdc: refactor device creation
Turn fdc_init_isa into an inline function.
Get floppy geometry directly from the drives.
Don't expose FDCtrl.
fdc: use FDriveType for floppy drive type
fdc: move floppy geometry guessing to block.c
Other geometry guessing functions already reside in block.c.
Remove some unused or debugging only fields.
serial: make optional
Ignore failure with serial device creation.
serial: refactor device creation
Turn serial_init into an inline function.
ne2000_isa: make optional
Ignore failure with ne2000_isa device creation.
ne2000_isa: refactor device creation
Turn isa_ne2000_init into an inline function.