[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 8b9dfe: block/iscsi: use a bh to schedule co
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 8b9dfe: block/iscsi: use a bh to schedule co reentrance |
Date: |
Fri, 10 Jan 2014 11:30:11 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 8b9dfe9098d91e06a3dd6376624307fe5fa13be8
https://github.com/qemu/qemu/commit/8b9dfe9098d91e06a3dd6376624307fe5fa13be8
Author: Peter Lieven <address@hidden>
Date: 2013-12-16 (Mon, 16 Dec 2013)
Changed paths:
M block/iscsi.c
Log Message:
-----------
block/iscsi: use a bh to schedule co reentrance
this fixes a potential segfault and performance regression.
If the coroutine is reentered directly in the iscsi_co_generic_cb
iscsi_process_{read,write} are interrupted and reentered any
time later. One the one hand this could happen after an iscsi_close
where the iscsi context is already gone (segfault). On the
other hand this limits the number of processed callbacks
in each aio_dispatch to one (potential performance regression).
Cc: address@hidden
Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: e50d7607f1800c9f9c576229c6119e4c82f456d6
https://github.com/qemu/qemu/commit/e50d7607f1800c9f9c576229c6119e4c82f456d6
Author: Liu Yuan <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M block/sheepdog.c
Log Message:
-----------
sheepdog: fix dynamic grow for running qcow2 format
When running qcow2 over sheepdog, we might meet following problem
qemu-system-x86_64: shrinking is not supported
And cause IO errors to Guest. This is because we abuse bs->total_sectors, which
is manipulated by generic block layer and race with sheepdog code.
We should directly check if offset > vdi_size to dynamically enlarge the volume
instead of 'offset > bs->total_sectors', which will cause problem when following
case happens:
vdi_size > offset > bs->total_sectors
# then trigger sd_truncate() to shrink the volume wrongly.
Cc: address@hidden
Cc: Kevin Wolf <address@hidden>
Cc: Stefan Hajnoczi <address@hidden>
Reported-by: Hadrien KOHL <address@hidden>
Signed-off-by: Liu Yuan <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 4d684832e54afe971fd8f94cb830ec1e135648e7
https://github.com/qemu/qemu/commit/4d684832e54afe971fd8f94cb830ec1e135648e7
Author: Paolo Bonzini <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M hw/virtio/dataplane/vring.c
Log Message:
-----------
vring: create a common function to parse descriptors
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 781c117f3758bdb21e982d2aebba81febceccfe5
https://github.com/qemu/qemu/commit/781c117f3758bdb21e982d2aebba81febceccfe5
Author: Paolo Bonzini <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M hw/block/dataplane/virtio-blk.c
M hw/virtio/dataplane/vring.c
Log Message:
-----------
vring: factor common code for error exits
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 8c1b566fd165af6cb12d6ef69eb554a347641e20
https://github.com/qemu/qemu/commit/8c1b566fd165af6cb12d6ef69eb554a347641e20
Author: Paolo Bonzini <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M hw/block/dataplane/virtio-blk.c
M hw/virtio/dataplane/vring.c
M include/hw/virtio/dataplane/vring.h
Log Message:
-----------
dataplane: change vring API to use VirtQueueElement
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 87b7f2f8c8da4d2da2728f0f1ad207973f1ea834
https://github.com/qemu/qemu/commit/87b7f2f8c8da4d2da2728f0f1ad207973f1ea834
Author: Paolo Bonzini <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M hw/virtio/dataplane/Makefile.objs
R hw/virtio/dataplane/hostmem.c
M hw/virtio/dataplane/vring.c
R include/hw/virtio/dataplane/hostmem.h
M include/hw/virtio/dataplane/vring.h
Log Message:
-----------
dataplane: replace hostmem with memory_region_find
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: c27de2a3e9c8664116287d639bacd600e61a6b45
https://github.com/qemu/qemu/commit/c27de2a3e9c8664116287d639bacd600e61a6b45
Author: Stefan Hajnoczi <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M qapi-schema.json
Log Message:
-----------
qapi-schema: fix QEMU 1.8 references
We are moving boldly on to QEMU 2.0 in the next release. Some patches
written at a time where we assumed 1.8 would be the next version number
managed to sneak in.
s/1.8/2.0/ in qapi-schema.json
Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Commit: 219c252193862898430e5dea5efb7447877aaa85
https://github.com/qemu/qemu/commit/219c252193862898430e5dea5efb7447877aaa85
Author: Stefan Weil <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M block/iscsi.c
M configure
Log Message:
-----------
block/iscsi: Fix compilation for libiscsi 1.4.0 (API change)
Function iscsi_read10_task got additional parameters starting with version
libiscsi 1.5.0.
libiscsi 1.4.0 is still widely used (Debian wheezy, jessie and other Linux
distributions currently provide packages for QEMU which use it), so we
still need support for this older API.
Reviewed-by: Peter Lieven <address@hidden>
Signed-off-by: Stefan Weil <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 7e30e6a6746b417c7e0dbc9af009560fbb63f336
https://github.com/qemu/qemu/commit/7e30e6a6746b417c7e0dbc9af009560fbb63f336
Author: Jeff Cody <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M block/vhdx-log.c
M block/vhdx.c
M block/vhdx.h
Log Message:
-----------
block: vhdx - improve error message, and .bdrv_check implementation
If there is a dirty log file to be replayed in a VHDX image, it is
replayed in .vhdx_open(). However, if the file is opened read-only,
then a somewhat cryptic error message results.
This adds a more helpful error message for the user. If an image file
contains a log to be replayed, and is opened read-only, the user is
instructed to run 'qemu-img check -r all' on the image file.
Running qemu-img check -r all will cause the image file to be opened
r/w, which will replay the log file. If a log file replay is detected,
this is flagged, and bdrv_check will increase the corruptions_fixed
count for the image.
[Fixed typo in error message that was pointed out by Eric Blake
<address@hidden>.
--Stefan]
Signed-off-by: Jeff Cody <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 8282db1b2e7394574cb55fcc608c5cb0df159d8f
https://github.com/qemu/qemu/commit/8282db1b2e7394574cb55fcc608c5cb0df159d8f
Author: Jeff Cody <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M qemu-doc.texi
M qemu-img.texi
Log Message:
-----------
docs: updated qemu-img man page and qemu-doc to reflect VHDX support.
The man page for qemu-img, and the qemu-doc, did not mention VHDX
as a supported format. This adds in reference to VHDX in those
documents.
[Stefan Weil <address@hidden> suggested s/Block Size/Block size/ for
consistency. I have made this change.
--Stefan]
Signed-off-by: Jeff Cody <address@hidden>
Reviewed-by: Stefan Weil <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: b47053bd0359c68094d7a25a65687c0844771e34
https://github.com/qemu/qemu/commit/b47053bd0359c68094d7a25a65687c0844771e34
Author: Fam Zheng <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M block/vmdk.c
M tests/qemu-iotests/059
M tests/qemu-iotests/059.out
Log Message:
-----------
vmdk: Check VMFS extent line field number
VMFS extent line in description file should be with 4 fields:
RW <size> VMFS "file-name.vmdk"
Check the number explicitly and report error if offset is appended as
FLAT, which should be invalid format.
Reported-by: Paolo Bonzini <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 917703c179d4483d050fe112a2a81acec3d6ffd7
https://github.com/qemu/qemu/commit/917703c179d4483d050fe112a2a81acec3d6ffd7
Author: Fam Zheng <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M block/vmdk.c
Log Message:
-----------
vmdk: Allow vmdk_create to work with protocol
This improves vmdk_create to use bdrv_* functions to replace qemu_open
and other fd functions. The error handling are improved as well. One
difference is that bdrv_pwrite will round up buffer to sectors, so for
description file, an extra bdrv_truncate is used in the end to drop
inding zeros.
Notes:
- A bonus bug fix is correct endian is used in initializing GD entries.
- ROUND_UP and DIV_ROUND_UP are used where possible.
I tested that new code produces exactly the same file as previously.
Signed-off-by: Fam Zheng <address@hidden>
Tested-by: Peter Lieven <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: de99c417f6208a64b68e3b35d2aecbca1f60eae0
https://github.com/qemu/qemu/commit/de99c417f6208a64b68e3b35d2aecbca1f60eae0
Author: Stefan Hajnoczi <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M tests/qemu-iotests/051.out
Log Message:
-----------
qemu-iotests: drop duplicate virtio-blk initialization failure
Commit 75884afd5c6c42e523b08565e289dbe319e17ad9 ("virtio-blk: Convert to
QOM realize") dropped a duplicate error_report() call. Now we no longer
get the following error message twice:
QEMU_PROG: -drive if=virtio: Device initialization failed.
Update qemu-iotests 051.
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: f95c625ce4cb7863795fcc36502ac58a44fdb2f1
https://github.com/qemu/qemu/commit/f95c625ce4cb7863795fcc36502ac58a44fdb2f1
Author: Fam Zheng <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M block/mirror.c
Log Message:
-----------
mirror: Don't close target
Let reference count manage target and don't call bdrv_close here.
Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 5bc361b8134eff68e2c40916d1cf58b3523d223b
https://github.com/qemu/qemu/commit/5bc361b8134eff68e2c40916d1cf58b3523d223b
Author: Fam Zheng <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M block/mirror.c
Log Message:
-----------
mirror: Move base to MirrorBlockJob
This allows setting the base before entering mirror_run, commit will
make use of it.
Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 03544a6e9ecc1be115e8a29bd929f83b467d4816
https://github.com/qemu/qemu/commit/03544a6e9ecc1be115e8a29bd929f83b467d4816
Author: Fam Zheng <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M block/mirror.c
M include/block/block_int.h
Log Message:
-----------
block: Add commit_active_start()
commit_active_start is implemented in block/mirror.c, It will create a
job with "commit" type and designated base in block-commit command. This
will be used for committing active layer of device.
Sync mode is removed from MirrorBlockJob because there's no proper type
for commit. The used information is is_none_mode.
The common part of mirror_start and commit_active_start is moved to
mirror_start_job().
Fix the comment wording for commit_start.
Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 20a63d2cec838c2dde4d246c4d7abe747d9b7a11
https://github.com/qemu/qemu/commit/20a63d2cec838c2dde4d246c4d7abe747d9b7a11
Author: Fam Zheng <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M block/mirror.c
M blockdev.c
M qapi-schema.json
Log Message:
-----------
commit: Support commit active layer
If active is top, it will be mirrored to base, (with block/mirror.c
code), then the image is switched when user completes the block job.
QMP documentation is updated.
Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 4de43470f2f35762b4b3e6a59b4aed55e239024a
https://github.com/qemu/qemu/commit/4de43470f2f35762b4b3e6a59b4aed55e239024a
Author: Fam Zheng <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M tests/qemu-iotests/040
Log Message:
-----------
qemu-iotests: Update test cases for commit active
Factor out commit test common logic into super class, and update test
of committing the active image.
Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 18da7f94cdce130f2a71387de4980ffa817181a1
https://github.com/qemu/qemu/commit/18da7f94cdce130f2a71387de4980ffa817181a1
Author: Fam Zheng <address@hidden>
Date: 2013-12-20 (Fri, 20 Dec 2013)
Changed paths:
M block/commit.c
Log Message:
-----------
commit: Remove unused check
We support top == active for commit now, remove the check and add an
assertion here.
Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 8a1bd2973ed5f99a3c37c9afdff823c4a22152b1
https://github.com/qemu/qemu/commit/8a1bd2973ed5f99a3c37c9afdff823c4a22152b1
Author: Paolo Bonzini <address@hidden>
Date: 2013-12-22 (Sun, 22 Dec 2013)
Changed paths:
M hw/scsi/scsi-disk.c
Log Message:
-----------
scsi-disk: add UNMAP limits to block limits VPD page
Linux prefers WRITE SAME to UNMAP if the limits are zero, and WRITE
SAME does not discard anything unless the device can guarantee that
the resulting block is zero.
Setting the maximum unmap block and descriptor counts to non-zero
makes Linux choose UNMAP and fixes thin provisioning on glusterfs.
While the maximum unmap block count can have some effect on performance,
the (suggested) maximum number of descriptors is not particularly
important so I didn't add a customization option. SCSI drivers are
used to online firmware updates so I'm not yet adding versioning support
for SCSI, but we're probably getting close to the point when it's worth
thinking about it.
Reported-by: Bharata B Rao <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: bb43d3839c29b17a2f5c122114cd4ca978065a18
https://github.com/qemu/qemu/commit/bb43d3839c29b17a2f5c122114cd4ca978065a18
Author: Gerd Hoffmann <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/i386/pc_piix.c
Log Message:
-----------
piix: gigabyte alignment for ram
Map 3G (i440fx) of memory below 4G, so the RAM pieces
are nicely aligned to gigabyte borders.
Keep old memory layout for (a) old machine types and (b) in case all
memory fits below 4G and thus we don't have to split RAM into pieces
in the first place. The later makes sure this change doesn't take
away memory from 32bit guests.
So, with i440fx and up to 3.5 GB of memory, all of it will be mapped
below 4G. With more than 3.5 GB of memory 3 GB will be mapped below
4G and the remaining amount will be mapped above 4G.
Signed-off-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: ecdbfceb0f20a3ef784bf522ed7264660aa3d150
https://github.com/qemu/qemu/commit/ecdbfceb0f20a3ef784bf522ed7264660aa3d150
Author: Michael S. Tsirkin <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/i386/pc_piix.c
Log Message:
-----------
pc_piix: document gigabyte_align
Document the logic behind the below/above 4G split.
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 637a5acb46b36a25b506ba6545e9a53350585b03
https://github.com/qemu/qemu/commit/637a5acb46b36a25b506ba6545e9a53350585b03
Author: Laszlo Ersek <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/i386/pc_sysfw.c
Log Message:
-----------
hw/i386/pc_sysfw: support two flash drives
This patch allows the user to usefully specify
-drive file=img_1,if=pflash,format=raw,readonly \
-drive file=img_2,if=pflash,format=raw
on the command line. The flash images will be mapped under 4G in their
reverse unit order -- that is, with their base addresses progressing
downwards, in increasing unit order.
(The unit number increases with command line order if not explicitly
specified.)
This accommodates the following use case: suppose that OVMF is split in
two parts, a writeable host file for non-volatile variable storage, and a
read-only part for bootstrap and decompressible executable code.
The binary code part would be read-only, centrally managed on the host
system, and passed in as unit 0. The variable store would be writeable,
VM-specific, and passed in as unit 1.
00000000ffe00000-00000000ffe1ffff (prio 0, R-): system.flash1
00000000ffe20000-00000000ffffffff (prio 0, R-): system.flash0
(If the guest tries to write to the flash range that is backed by the
read-only drive, pflash_update() is never called; various flash
programming/erase errors are returned to the guest instead. See the
callers of pflash_update(), and the initialization of "pfl->ro", in
"hw/block/pflash_cfi01.c".)
Signed-off-by: Laszlo Ersek <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: b817e3fb5401bfab49e3c212e6daa1ff1f5a4c9a
https://github.com/qemu/qemu/commit/b817e3fb5401bfab49e3c212e6daa1ff1f5a4c9a
Author: Laszlo Ersek <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M tests/i440fx-test.c
Log Message:
-----------
i440fx-test: qtest_start() should be paired with qtest_end()
Similarly to commit 1d9358e6
("libqtest: New qtest_end() to go with qtest_start()").
Signed-off-by: Laszlo Ersek <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: c37805b6724e5d4c3ad41653630b72b43619474e
https://github.com/qemu/qemu/commit/c37805b6724e5d4c3ad41653630b72b43619474e
Author: Laszlo Ersek <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M tests/i440fx-test.c
Log Message:
-----------
i440fx-test: give each GTest case its own qtest
The current two GTest cases, /i440fx/defaults and /i440fx/pam can share a
qemu process, but the next two cases will need dedicated instances. It is
messy (and order-dependent) to dynamically configure GTest cases one by
one to start, stop, or keep the current qtest (*); let's just have each
GTest work with its own qtest. The performance difference should be
negligible.
(*) As g_test_run() can be invoked at most once per process startup, and
it runs GTest cases in sequence, we'd need clumsy data structures to
control each GTest case to start/stop/keep the qemu instance. Or, we'd
have to code the same information into the test methods themselves, which
would make them even more order-dependent.
Signed-off-by: Laszlo Ersek <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 27d59ccd89a5b112e5a5804250440ea30dbfb891
https://github.com/qemu/qemu/commit/27d59ccd89a5b112e5a5804250440ea30dbfb891
Author: Laszlo Ersek <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M tests/i440fx-test.c
Log Message:
-----------
i440fx-test: generate temporary firmware blob
The blob is 64K in size and contains 0x00..0xFF repeatedly.
The client code added to main() wouldn't make much sense in the long term.
It helps with debugging and it silences gcc about create_blob_file() being
unused, and we'll replace it in the next patch anyway.
Signed-off-by: Laszlo Ersek <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 3bcc77ae9935c8c3d10f63492af81f1d7d99d492
https://github.com/qemu/qemu/commit/3bcc77ae9935c8c3d10f63492af81f1d7d99d492
Author: Laszlo Ersek <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M tests/i440fx-test.c
Log Message:
-----------
i440fx-test: verify firmware under 4G and 1M, both -bios and -pflash
Check whether the firmware is not hidden by other memory regions.
Qemu is started in paused mode: it shouldn't try to interpret generated
garbage.
Signed-off-by: Laszlo Ersek <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: e4f308bbf9f360ee2af5b94b87aef170d8f20dc4
https://github.com/qemu/qemu/commit/e4f308bbf9f360ee2af5b94b87aef170d8f20dc4
Author: Igor Mammedov <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/acpi/piix4.c
Log Message:
-----------
acpi: piix4: remove not needed GPE0 mask
Hardcoded GPE0 mask isn't really needed. Since GPE0_STS initialized
with all bits cleared and only QEMU itself can set bits there (i.e.
guest can only clear bits in it). So guest can't triger SCI
by setting _STS & _EN bits and there is not reason to mask out not
supported _STS bits since they shouldn't be set by QEMU in the first
place.
Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 063135032808700a5a6b0b4a781f31252da2e762
https://github.com/qemu/qemu/commit/063135032808700a5a6b0b4a781f31252da2e762
Author: Igor Mammedov <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/acpi/core.c
M hw/acpi/ich9.c
M hw/acpi/piix4.c
M include/hw/acpi/acpi.h
Log Message:
-----------
acpi: factor out common pm_update_sci() into acpi core
... and rename it into acpi_update_sci() since it changes
SCI on only on PM registers status.
Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 2c047956f3b27048883350c071bcd33ef8331d13
https://github.com/qemu/qemu/commit/2c047956f3b27048883350c071bcd33ef8331d13
Author: Igor Mammedov <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/acpi/ich9.c
Log Message:
-----------
acpi: ich9: allow guest to clear SCI rised by GPE
it fixes IRQ storm since guest isn't able to lower SCI IRQ
after it has been handled when it clears GPE event.
Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: c1a1af87d8d5dce93328bbe8c3db70ff29275069
https://github.com/qemu/qemu/commit/c1a1af87d8d5dce93328bbe8c3db70ff29275069
Author: Igor Mammedov <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/i386/q35-acpi-dsdt.dsl
Log Message:
-----------
ACPI: Q35 DSDT: fix CPU hotplug GPE0.2 handler
Fix bogus CPU hotplug GPE handler.
Make Q35 CPU hotplug GPE handler match PIIX4 one, since
CPU hotplug event is triggered by GPE0.2 register.
Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: aef52ee87f324fb03e0dcd88a84bdd50c8339a5f
https://github.com/qemu/qemu/commit/aef52ee87f324fb03e0dcd88a84bdd50c8339a5f
Author: Igor Mammedov <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/i386/acpi-dsdt-cpu-hotplug.dsl
Log Message:
-----------
ACPI/DSDT-CPU: cleanup bogus comment
Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 81e3e75b6461c53724fe7c7918bc54468fcdaf9d
https://github.com/qemu/qemu/commit/81e3e75b6461c53724fe7c7918bc54468fcdaf9d
Author: Paolo Bonzini <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/pci/pci.c
M hw/pci/pci_bridge.c
M include/hw/pci/pci.h
Log Message:
-----------
pci: do not export pci_bus_reset
qbus_reset_all can be used instead. There is no semantic change
because pcibus_reset returns 1 and takes care of the device
tree traversal.
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 9bdbbfc3a04c28dc43af5afffb32066623cb0022
https://github.com/qemu/qemu/commit/9bdbbfc3a04c28dc43af5afffb32066623cb0022
Author: Paolo Bonzini <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/pci/pci.c
Log Message:
-----------
pci: clean up resetting of IRQs
pci_device_reset will deassert the INTX pins, and this will make the
irq_count array all-zeroes. Check that this is the case, and remove
the existing loop which might even unsync irq_count and irq_state.
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 0293214b8c5bf56a095d0a39c5821c9da66dd566
https://github.com/qemu/qemu/commit/0293214b8c5bf56a095d0a39c5821c9da66dd566
Author: Paolo Bonzini <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/core/qdev.c
M include/hw/qdev-core.h
Log Message:
-----------
qdev: allow both pre- and post-order vists in qdev walking functions
Resetting should be done in post-order, not pre-order. However,
qdev_walk_children and qbus_walk_children do not allow this. Fix
it by adding two extra arguments to the functions.
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: dcc209314afdaeec42f1e2a7bbf37eec3ace23de
https://github.com/qemu/qemu/commit/dcc209314afdaeec42f1e2a7bbf37eec3ace23de
Author: Paolo Bonzini <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/core/qdev.c
M hw/pci/pci.c
M hw/s390x/virtio-ccw.c
M include/hw/qdev-core.h
Log Message:
-----------
qdev: switch reset to post-order
Post-order is the only sensible direction for the reset signals.
For example, suppose pre-order is used and the parent has some data
structures that cache children state (for example a list of active
requests). When the reset method is invoked on the parent, these caches
could be in any state.
If post-order is used, on the other hand, these will be in a known state
when the reset method is invoked on the parent.
This change means that it is no longer possible to block the visit of
the devices, so the callback is changed to return void. This is not
a problem, because PCI was returning 1 exactly in order to achieve the
same ordering that this patch implements.
PCI can then rely on the qdev core having sent a "reset signal" (whatever
that means) to the device, and only do the PCI-specific initialization
with pci_do_device_reset.
MST: fixed up virtio-ccw
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 4fadb3bb570c5a665bd6f7e300d63c306e67b668
https://github.com/qemu/qemu/commit/4fadb3bb570c5a665bd6f7e300d63c306e67b668
Author: Richard Henderson <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M cputlb.c
Log Message:
-----------
cputlb: Use memset() when flushing entries
The size of tlb_table is 4k on a 64-bit host. For overwriting
memory at this size, cacheline tricks can help.
Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: eb2535f411c2201cd6f79e8d2b4e3f4c5b765729
https://github.com/qemu/qemu/commit/eb2535f411c2201cd6f79e8d2b4e3f4c5b765729
Author: Richard Henderson <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M cputlb.c
M translate-all.c
Log Message:
-----------
cputlb: Tidy memset() of arrays
Don't duplicate the array length computation in the memset()
when plain sizeof() can produce the correct results.
Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 02e51483341a371b508c1a529782d83064c93596
https://github.com/qemu/qemu/commit/02e51483341a371b508c1a529782d83064c93596
Author: Chen Fan <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M cpu-exec.c
M cpus.c
M hw/i386/kvmvapic.c
M hw/i386/pc.c
M target-i386/cpu-qom.h
M target-i386/cpu.c
M target-i386/cpu.h
M target-i386/helper.c
M target-i386/kvm.c
M target-i386/misc_helper.c
Log Message:
-----------
target-i386: Move apic_state field from CPUX86State to X86CPU
This motion is preparing for refactoring vCPU APIC subsequently.
Signed-off-by: Chen Fan <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: ddaaefb4dd427d6d2e41c1cfbe0cd8d8e8d6aad9
https://github.com/qemu/qemu/commit/ddaaefb4dd427d6d2e41c1cfbe0cd8d8e8d6aad9
Author: Gerd Hoffmann <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/i386/pc_piix.c
M hw/pci-host/piix.c
M include/hw/i386/pc.h
Log Message:
-----------
piix: fix 32bit pci hole
Make the 32bit pci hole start at end of ram, so all possible address
space is covered.
We used to try and make addresses aligned so they are easier to cover
with MTRRs, but since they are cosmetic on KVM, this is probably not
worth worrying about.
Of course the firmware can use less than that. Leaving space unused is
no problem, mapping pci bars outside the hole causes problems though.
Signed-off-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Laszlo Ersek <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 83d0704734955bf1aa7697af7be2a50e11a80a42
https://github.com/qemu/qemu/commit/83d0704734955bf1aa7697af7be2a50e11a80a42
Author: Paolo Bonzini <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M hw/virtio/virtio.c
Log Message:
-----------
virtio: add back call to virtio_bus_device_unplugged
This got lost in a rebase.
Reported-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 5bf58abf1cb7220d9f7d8e18f113a353cd6f260d
https://github.com/qemu/qemu/commit/5bf58abf1cb7220d9f7d8e18f113a353cd6f260d
Author: Michael S. Tsirkin <address@hidden>
Date: 2013-12-23 (Mon, 23 Dec 2013)
Changed paths:
M target-arm/cpu64.c
Log Message:
-----------
target-arm: fix build with gcc 4.8.2
commit 5ce4f35781028ce1aee3341e6002f925fdc7aaf3
"target-arm: A64: add set_pc cpu method"
introduces an array aarch64_cpus which is zero
size if this code is built without CONFIG_USER_ONLY.
In particular an attempt to iterate over this array produces a warning
under gcc 4.8.2:
CC aarch64-softmmu/target-arm/cpu64.o
/scm/qemu/target-arm/cpu64.c: In function ‘aarch64_cpu_register_types’:
/scm/qemu/target-arm/cpu64.c:124:5: error: comparison of unsigned
expression < 0 is always false [-Werror=type-limits]
for (i = 0; i < ARRAY_SIZE(aarch64_cpus); i++) {
^
cc1: all warnings being treated as errors
This is the result of ARRAY_SIZE being an unsigned type,
causing "i" to be promoted to unsigned int as well.
As zero size arrays are a gcc extension, it seems
cleanest to add a dummy element with NULL name,
and test for it during registration.
We'll be able to drop this when we add more CPUs.
Cc: Alexander Graf <address@hidden>
Cc: Peter Maydell <address@hidden>
Cc: Richard Henderson <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Reviewed-by: Stefan Weil <address@hidden>
Commit: 693fa551f96cc4b7a6647f6f55636ee0b6d3a04b
https://github.com/qemu/qemu/commit/693fa551f96cc4b7a6647f6f55636ee0b6d3a04b
Author: Andreas Färber <address@hidden>
Date: 2013-12-24 (Tue, 24 Dec 2013)
Changed paths:
M cpu-exec.c
Log Message:
-----------
cpu-exec: Optimize X86CPU usage in cpu_exec()
Replace growing numbers of inline x86_env_get_cpu() with x86_cpu variable.
Reviewed-by: Chen Fan <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 89314504197b305173e3f2d23ce541898ef2691c
https://github.com/qemu/qemu/commit/89314504197b305173e3f2d23ce541898ef2691c
Author: Igor Mammedov <address@hidden>
Date: 2013-12-24 (Tue, 24 Dec 2013)
Changed paths:
M target-i386/cpu.c
Log Message:
-----------
target-i386: Convert 'hv_relaxed' to static property
Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 0f46685d1b03efaaf5189f0e9af8754cb8f8979c
https://github.com/qemu/qemu/commit/0f46685d1b03efaaf5189f0e9af8754cb8f8979c
Author: Igor Mammedov <address@hidden>
Date: 2013-12-24 (Tue, 24 Dec 2013)
Changed paths:
M target-i386/cpu.c
Log Message:
-----------
target-i386: Convert 'hv_vapic' to static property
Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: c8f0f88e2a4cf27bde27a31a98badd61fe212652
https://github.com/qemu/qemu/commit/c8f0f88e2a4cf27bde27a31a98badd61fe212652
Author: Igor Mammedov <address@hidden>
Date: 2013-12-24 (Tue, 24 Dec 2013)
Changed paths:
M target-i386/cpu.c
Log Message:
-----------
target-i386: Convert 'hv_spinlocks' to static property
Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 912ffc479c0008bd983f5733daa52438b359be6f
https://github.com/qemu/qemu/commit/912ffc479c0008bd983f5733daa52438b359be6f
Author: Igor Mammedov <address@hidden>
Date: 2013-12-24 (Tue, 24 Dec 2013)
Changed paths:
M target-i386/cpu-qom.h
M target-i386/cpu.c
Log Message:
-----------
target-i386: Convert 'check' and 'enforce' to static properties
* Additionally convert check_cpuid & enforce_cpuid to bool and make them
members of X86CPU
* Make 'enforce' feature independent from 'check'
Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 258f5abe9a8786c410f98367e9e042ee16c249f2
https://github.com/qemu/qemu/commit/258f5abe9a8786c410f98367e9e042ee16c249f2
Author: Igor Mammedov <address@hidden>
Date: 2013-12-24 (Tue, 24 Dec 2013)
Changed paths:
M target-i386/cpu.c
Log Message:
-----------
target-i386: Cleanup 'foo' feature handling
Features check, enforce, hv_relaxed and hv_vapic are treated as boolean
set to 'on' when passed from command line, so it's not necessary to
handle each of them separately. Collapse them to one catch-all branch
which will treat any feature in format 'foo' as boolean set to 'on'.
Any unknown feature will be rejected by CPU property setter so there is no
need to check for unknown feature in cpu_x86_parse_featurestr(), therefore
it's replaced by above mentioned catch-all handler.
Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: d024d209045b912eb6127861fab2af6c64880efd
https://github.com/qemu/qemu/commit/d024d209045b912eb6127861fab2af6c64880efd
Author: Igor Mammedov <address@hidden>
Date: 2013-12-24 (Tue, 24 Dec 2013)
Changed paths:
M target-i386/cpu.c
Log Message:
-----------
target-i386: Cleanup 'foo=val' feature handling
Features family, model, stepping, level, hv_spinlocks are treated similarly
when passed from command line, so it's not necessary to handle each of them
individually. Collapse them to one catch-all branch which will treat
any not explicitly handled feature in format 'foo=val'.
Any unknown feature will be rejected by property setter so there is no
need to check for unknown feature in cpu_x86_parse_featurestr(), therefore
it's replaced by above mentioned catch-all handler.
Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Commit: 19917791fd1433b79d20b26440ec321d71dcfc01
https://github.com/qemu/qemu/commit/19917791fd1433b79d20b26440ec321d71dcfc01
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M linux-user/aarch64/target_cpu.h
M linux-user/arm/target_cpu.h
M linux-user/main.c
M target-arm/cpu.h
M target-arm/helper.c
Log Message:
-----------
target-arm: Widen thread-local register state fields to 64 bits
The common pattern for system registers in a 64-bit capable ARM
CPU is that when in AArch32 the cp15 register is a view of the
bottom 32 bits of the 64-bit AArch64 system register; writes in
AArch32 leave the top half unchanged. The most natural way to
model this is to have the state field in the CPU struct be a
64 bit value, and simply have the AArch32 TCG code operate on
a pointer to its lower half.
For aarch64-linux-user the only registers we need to share like
this are the thread-local-storage ones. Widen their fields to
64 bits and provide the 64 bit reginfo struct to make them
visible in AArch64 state. Note that minor cleanup of the AArch64
system register encoding space means We can share the TPIDR_EL1
reginfo but need split encodings for TPIDR_EL0 and TPIDRRO_EL0.
Since we're touching almost every line in QEMU that uses the
c13_tls* fields in this patch anyway, we take the opportunity
to rename them in line with the standard ARM architectural names
for these registers.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 03468633b16e96176ffbe7fd1943f7014e63ccde
https://github.com/qemu/qemu/commit/03468633b16e96176ffbe7fd1943f7014e63ccde
Author: Claudio Fontana <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: add support for add/sub with carry
This patch adds support for C3.5.3 Add/subtract (with carry):
instructions ADC, ADCS, SBC, SBCS.
Signed-off-by: Claudio Fontana <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: fc514b094e8f5aa211a36925b62348ab52243762
https://github.com/qemu/qemu/commit/fc514b094e8f5aa211a36925b62348ab52243762
Author: Claudio Fontana <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: add support for conditional compare insns
this patch adds support for C3.5.4 - C3.5.5
Conditional compare (both immediate and register)
Signed-off-by: Claudio Fontana <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 66759c063c3472fe70df0c8489ecc6fd7dc1a843
https://github.com/qemu/qemu/commit/66759c063c3472fe70df0c8489ecc6fd7dc1a843
Author: Alexander Graf <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: aarch64: add support for ld lit
Adds support for Load Register (literal), both normal
and SIMD/FP forms.
Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 90ba562c61b15f418f284751faa81aca25de2d95
https://github.com/qemu/qemu/commit/90ba562c61b15f418f284751faa81aca25de2d95
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M linux-user/main.c
M target-arm/cpu.h
M target-arm/machine.c
M target-arm/translate.c
Log Message:
-----------
target-arm: Widen exclusive-access support struct fields to 64 bits
In preparation for adding support for A64 load/store exclusive instructions,
widen the fields in the CPU state struct that deal with address and data values
for exclusives from 32 to 64 bits. Although in practice AArch64 and AArch32
exclusive accesses will be generally separate there are some odd theoretical
corner cases (eg you should be able to do the exclusive load in AArch32, take
an exception to AArch64 and successfully do the store exclusive there), and it's
also easier to reason about.
The changes in semantics for the variables are:
exclusive_addr -> extended to 64 bits; -1ULL for "monitor lost",
otherwise always < 2^32 for AArch32
exclusive_val -> extended to 64 bits. 64 bit exclusives in AArch32 now
use the high half of exclusive_val instead of a separate exclusive_high
exclusive_high -> is no longer used in AArch32; extended to 64 bits as
it will be needed for AArch64's pair-of-64-bit-values exclusives.
exclusive_test -> extended to 64 bits, as it is an address. Since this is
a linux-user-only field, in arm-linux-user it will always have the top
32 bits zero.
exclusive_info -> stays 32 bits, as it is neither data nor address, but
simply holds register indexes etc. AArch64 will be able to fit all its
information into 32 bits as well.
Note that the refactoring of gen_store_exclusive() coincidentally fixes
a minor bug where ldrexd would incorrectly update the first CPU register
even if the load for the second register faulted.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 2df7566445c8b0934030627dff2c2417ec6d8e27
https://github.com/qemu/qemu/commit/2df7566445c8b0934030627dff2c2417ec6d8e27
Author: Michael Matz <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M linux-user/main.c
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: support for ld/st/cl exclusive
This implement exclusive loads/stores for aarch64 along the lines of
arm32 and ppc implementations. The exclusive load remembers the address
and loaded value. The exclusive store throws an an exception which uses
those values to check for equality in a proper exclusive region.
This is not actually the architecture mandated semantics (for either
AArch32 or AArch64) but it is close enough for typical guest code
sequences to work correctly, and saves us from having to monitor all
guest stores. It's fairly easy to come up with test cases where we
don't behave like hardware - we don't for example model cache line
behaviour. However in the common patterns this works, and the existing
32 bit ARM exclusive access implementation has the same limitations.
AArch64 also implements new acquire/release loads/stores (which may be
either exclusive or non-exclusive). These imposes extra ordering
constraints on memory operations (ie they act as if they have an implicit
barrier built into them). As TCG is single-threaded all our barriers
are no-ops, so these just behave like normal loads and stores.
Signed-off-by: Michael Matz <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 749c7970d00cdb2be71ce66d65b9eb2ade668832
https://github.com/qemu/qemu/commit/749c7970d00cdb2be71ce66d65b9eb2ade668832
Author: Claudio Fontana <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M linux-user/aarch64/syscall.h
Log Message:
-----------
linux-user: AArch64: define TARGET_CLONE_BACKWARDS
The AArch64 linux-user support was written before but merged after
commit 4ce6243dc621 which cleaned up the handling of the clone()
syscall argument order, so we failed to notice that AArch64 also needs
TARGET_CLONE_BACKWARDS to be defined. Add this define so that clone
and fork syscalls work correctly.
Signed-off-by: Claudio Fontana <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: e0350d0c17d31b276812e659d8bdf9fc48a59951
https://github.com/qemu/qemu/commit/e0350d0c17d31b276812e659d8bdf9fc48a59951
Author: Will Newton <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M linux-user/signal.c
Log Message:
-----------
linux-user: AArch64: Use correct values for FPSR/FPCR in sigcontext
Use the helpers provided for getting the correct FPSR and FPCR
values for the signal context.
Signed-off-by: Will Newton <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 2d123ad256fb47bac33c38f90dafb4280879aee5
https://github.com/qemu/qemu/commit/2d123ad256fb47bac33c38f90dafb4280879aee5
Author: Alex Bennée <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M .travis.yml
Log Message:
-----------
.travis.yml: Add aarch64-* targets
Now the AArch64 targets are in mainline we can include them in our
Travis test matrix.
Signed-off-by: Alex Bennée <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: 0f64fdaf7bd11a9165cc4b7461fb5a316819d257
https://github.com/qemu/qemu/commit/0f64fdaf7bd11a9165cc4b7461fb5a316819d257
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
A default-configs/aarch64-linux-user.mak
Log Message:
-----------
default-configs: Add config for aarch64-linux-user
Add a config for aarch64-linux-user, thereby enabling it as
a valid target.
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 83d210fb670862e9df5ca19d260fd7628cd67843
https://github.com/qemu/qemu/commit/83d210fb670862e9df5ca19d260fd7628cd67843
Author: Alexander Graf <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: Add support for dumping AArch64 VFP register state
When dumping the current CPU state, we can also get a request
to dump the FPU state along with the CPU's integer state.
Add support to dump the VFP state when that flag is set, so that
we can properly debug code that modifies floating point registers.
Signed-off-by: Alexander Graf <address@hidden>
[WN: Commit message tweak, rebased. Output all registers, two per-line.]
Signed-off-by: Will Newton <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 76afb0d5967ebee59efbf3bfc6a2a042f3cb06f6
https://github.com/qemu/qemu/commit/76afb0d5967ebee59efbf3bfc6a2a042f3cb06f6
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: Fix vector register access on bigendian hosts
The A64 128 bit vector registers are stored as a pair of
uint64_t values in the register array. This means that if
we're directly loading or storing a value of size less than
64 bits we must adjust the offset appropriately to account
for whether the host is bigendian or not. Provide utility
functions to abstract away the offsetof() calculations for
the FP registers.
For do_fp_st() we can sidestep most of the issues for 64 bit
and smaller reg-to-mem transfers by always doing a 64 bit
load from the register and writing just the piece we need
to memory.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 286cb8b9cb04048b940bd9f385404781a42c6cff
https://github.com/qemu/qemu/commit/286cb8b9cb04048b940bd9f385404781a42c6cff
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/helper.c
M target-arm/helper.h
M target-arm/neon_helper.c
M target-arm/translate.c
Log Message:
-----------
target-arm: Use VFP_BINOP macro for min, max, minnum, maxnum
Use the VFP_BINOP macro to provide helpers for min, max, minnum
and maxnum, rather than hand-rolling them. (The float64 max
version is not used by A32 but will be needed for A64.)
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 459cc34290b2823403f9820345c8a83f66495e1d
https://github.com/qemu/qemu/commit/459cc34290b2823403f9820345c8a83f66495e1d
Author: Alexander Graf <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: Add "Floating-point data-processing (2 source)" insns
This patch adds emulation for the "Floating-point data-processing (2 source)"
group of instructions.
Signed-off-by: Alexander Graf <address@hidden>
[WN: Commit message tweak, merge single and double precision patches. Rebase
and update to new infrastructure. Incorporate FMIN/FMAX support patch by
Michael Matz.]
Signed-off-by: Will Newton <address@hidden>
[PMM:
* added convenience accessors for FP s and d regs
* pulled the field decode and opcode validity check up a level]
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: cd54be5fdbded3346a94fcf71f4a1d9aed340d40
https://github.com/qemu/qemu/commit/cd54be5fdbded3346a94fcf71f4a1d9aed340d40
Author: Alexander Graf <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: Add "Floating-point data-processing (3 source)" insns
This patch adds emulation for the "Floating-point data-processing (3 source)"
group of instructions.
Signed-off-by: Alexander Graf <address@hidden>
[WN: Commit message tweak, merged single and double precision patches.
Implement using muladd as suggested by Richard Henderson.]
Signed-off-by: Will Newton <address@hidden>
[PMM: pull field decode up a level, use register accessors]
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 624490c33ccd803b730d3600d943472bfcc5fa59
https://github.com/qemu/qemu/commit/624490c33ccd803b730d3600d943472bfcc5fa59
Author: Alexander Graf <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: Add fmov (scalar, immediate) instruction
This patch adds emulation for the fmov instruction working on scalars
with an immediate payload.
Signed-off-by: Alexander Graf <address@hidden>
[WN: Commit message tweak, rebase and use new infrastructure.]
Signed-off-by: Will Newton <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 244976576d47543901c8d5ccb7f1f191f74b46f5
https://github.com/qemu/qemu/commit/244976576d47543901c8d5ccb7f1f191f74b46f5
Author: Claudio Fontana <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/helper-a64.c
M target-arm/helper-a64.h
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: Add support for floating point compare
Add decoding support for C3.6.22 Floating-point compare.
Signed-off-by: Claudio Fontana <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 32ca04a60fa1ab1b08bcdb9474af3ecf036f8f0f
https://github.com/qemu/qemu/commit/32ca04a60fa1ab1b08bcdb9474af3ecf036f8f0f
Author: Claudio Fontana <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: Add support for floating point conditional compare
This adds decoding support for C3.6.23 FP Conditional Compare.
Signed-off-by: Claudio Fontana <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 7b2440e4384e59a3d5228cbd53b76089075e9e71
https://github.com/qemu/qemu/commit/7b2440e4384e59a3d5228cbd53b76089075e9e71
Author: Claudio Fontana <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: Add support for floating point cond select
This adds decoding support for C3.6.24 FP conditional select.
Signed-off-by: Claudio Fontana <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: f9dfa55857f4f172d4c23011d18f260c875e4bfb
https://github.com/qemu/qemu/commit/f9dfa55857f4f172d4c23011d18f260c875e4bfb
Author: Alexander Graf <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/cpu.h
M target-arm/helper.c
Log Message:
-----------
target-arm: Give the FPSCR rounding modes names
When setting rounding modes we currently just hardcode the numeric values
for rounding modes in a big switch statement.
With AArch64 support coming, we will need to refer to these rounding modes
at different places throughout the code though, so let's better give them
names so we don't get confused by accident.
Signed-off-by: Alexander Graf <address@hidden>
[WN: Commit message tweak, use names from ARM ARM.]
Signed-off-by: Will Newton <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 2c7fd04c9348abada0be331b04f9e5cbeeb2ac18
https://github.com/qemu/qemu/commit/2c7fd04c9348abada0be331b04f9e5cbeeb2ac18
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/char/cadence_uart.c
Log Message:
-----------
char/cadence_uart: Mark struct fields as public/private
As per current QOM conventions.
Signed-off-by: Peter Crosthwaite <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 362f656878345e9e50b6f7c676a1961d9ecaa355
https://github.com/qemu/qemu/commit/362f656878345e9e50b6f7c676a1961d9ecaa355
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/char/cadence_uart.c
Log Message:
-----------
char/cadence_uart: Add missing uart_update_state
This should be rechecked on bus write accesses as such accesses may
change the underlying state that generates the interrupt. Particular
relevant for when the guest touches the interrupt status or mask.
Signed-off-by: Peter Crosthwaite <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: b56fab8847e5746085c46a5bf6b5903b3b9fe957
https://github.com/qemu/qemu/commit/b56fab8847e5746085c46a5bf6b5903b3b9fe957
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/char/cadence_uart.c
Log Message:
-----------
char/cadence_uart: Fix reset.
Don't reset the uart as an init step. Register the reset function as a
proper reset fn instead.
Signed-off-by: Peter Crosthwaite <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 8998a3c0ceb174d1c6089361efe870bb4f40a27c
https://github.com/qemu/qemu/commit/8998a3c0ceb174d1c6089361efe870bb4f40a27c
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/char/cadence_uart.c
Log Message:
-----------
char/cadence_uart: s/r_fifo/rx_fifo
Rename this field to match the many other uses of "rx". Xilinx
docmentation (UG585) also refers to this as "RxFIFO".
Signed-off-by: Peter Crosthwaite <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: a24234cad03d70612e30494f21062fcee5eb9f0e
https://github.com/qemu/qemu/commit/a24234cad03d70612e30494f21062fcee5eb9f0e
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/char/cadence_uart.c
Log Message:
-----------
char/cadence_uart: Simplify status generation
The status register bits are always pure functions of other device
state. Move the generation of these bits to the update_status()
function to simplify. Makes developing much easier as theres now no need
to recheck status bits on all the changes to rx/tx fifo state.
Signed-off-by: Peter Crosthwaite <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 2c628d98989fa224dc3c07033ba4d89562a9bb5f
https://github.com/qemu/qemu/commit/2c628d98989fa224dc3c07033ba4d89562a9bb5f
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/char/cadence_uart.c
Log Message:
-----------
char/cadence_uart: Define Missing SR/ISR fields
Some (interrupt) status register bits relating to the TxFIFO path were
not defined. Define them. This prepares support for proper Tx data path
flow control.
Signed-off-by: Peter Crosthwaite <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: faa79359cdb28916b102024e49916af212b344bf
https://github.com/qemu/qemu/commit/faa79359cdb28916b102024e49916af212b344bf
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/char/cadence_uart.c
Log Message:
-----------
char/cadence_uart: Remove TX timer & add TX FIFO state
This tx timer implementation is flawed. Despite the controller
attempting to time the guest visable assertion of the TX-empty status
bit (and corresponding interrupt) the controller is still transmitting
characters instantaneously. There is also no sense of multiple character
delay.
The only side effect of this timer is assertion of tx-empty status. So
just remove the timer completely and hold tx-empty as permanently
asserted (its reset status). This matches the actual behaviour of
instantaneous transmission.
While we are VMSD version bumping, add the tx_fifo as device state to
prepare for upcomming TxFIFO flow control. Implement the interrupt
generation logic for the TxFIFO occupancy.
Signed-off-by: Peter Crosthwaite <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 61654c77413d1bccb69b384d891d0c688a31430b
https://github.com/qemu/qemu/commit/61654c77413d1bccb69b384d891d0c688a31430b
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/char/cadence_uart.c
Log Message:
-----------
char/cadence_uart: Fix can_receive logic
The can_receive logic was only taking into account the RxFIFO
occupancy. RxFIFO population is only used for the echo and normal modes
however. Improve the logic to correctly return the true number of
receivable characters based on the current mode:
Normal mode: RxFIFO vacancy.
Remote loopback: TxFIFO vacancy.
Echo mode: The min of the TxFIFO and RxFIFO vacancies.
Local Loopback: Return non-zero (to implement droppage)
Signed-off-by: Peter Crosthwaite <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 9e263f73912ba35510d7d7be4c40ba871d4b57e2
https://github.com/qemu/qemu/commit/9e263f73912ba35510d7d7be4c40ba871d4b57e2
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/char/cadence_uart.c
Log Message:
-----------
char/cadence_uart: Use the TX fifo for transmission
Populate the TxFIFO with the Tx data before sending. Prepares
support for proper Tx flow control implementation.
Signed-off-by: Peter Crosthwaite <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: a33f37a1784691556ed6fd3f58badfce22b761ad
https://github.com/qemu/qemu/commit/a33f37a1784691556ed6fd3f58badfce22b761ad
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/char/cadence_uart.c
Log Message:
-----------
char/cadence_uart: Delete redundant rx rst logic
uart_rx_reset() called immediately above already does this. Remove.
Signed-off-by: Peter Crosthwaite <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 294cdac2a02d3172b69c84dec727d6ac6006bb59
https://github.com/qemu/qemu/commit/294cdac2a02d3172b69c84dec727d6ac6006bb59
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/char/cadence_uart.c
Log Message:
-----------
char/cadence_uart: Implement Tx flow control
If the UART back-end blocks, buffer in the Tx FIFO to try again later.
This stops the IO-thread busy waiting on char back-ends (which causes
all sorts of performance problems).
Signed-off-by: Peter Crosthwaite <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: d045815a5712afbeb8d2c76d8b624c91cfda777c
https://github.com/qemu/qemu/commit/d045815a5712afbeb8d2c76d8b624c91cfda777c
Author: Sergey Fedorov <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/helper.c
Log Message:
-----------
target-arm: use c13_context field for CONTEXTIDR
Use c13_context field instead of c13_fcse for CONTEXTIDR register
definition.
Signed-off-by: Sergey Fedorov <address@hidden>
Reviewed-by: Peter Crosthwaite <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 8455bc76c76c5246694290a28c6ebd6797011c18
https://github.com/qemu/qemu/commit/8455bc76c76c5246694290a28c6ebd6797011c18
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/helper.c
Log Message:
-----------
target-arm: remove raw_read|write duplication
There is an inline duplication of the raw_read and raw_write function
bodies. Fix by just calling raw_read/raw_write instead.
Signed-off-by: Peter Crosthwaite <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: ec0e68ef1da316b3ead1943d8f607cc68b13e0d1
https://github.com/qemu/qemu/commit/ec0e68ef1da316b3ead1943d8f607cc68b13e0d1
Author: Peter Crosthwaite <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/arm/xilinx_zynq.c
Log Message:
-----------
arm/xilinx_zynq: Always instantiate the GEMs
Don't conditionalise GEM instantiation on networking attachments. The
device should always be present even if not attached to a network.
This allows for probing of the device by expectant guests (such as
OS's). This is needed because sysbus (or AXI in Xilinx's real hw case)
is not self identifying so the guest has no dynamic way of detecting
device absence.
Also allows for testing of the GEM in loopback mode with -net none.
Signed-off-by: Peter Crosthwaite <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 455e1e14bbfaf72275efeddaa7bc5d6294253eff
https://github.com/qemu/qemu/commit/455e1e14bbfaf72275efeddaa7bc5d6294253eff
Author: Michael S. Tsirkin <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/cpu64.c
Log Message:
-----------
target-arm: fix build with gcc 4.8.2
commit 5ce4f35781028ce1aee3341e6002f925fdc7aaf3
"target-arm: A64: add set_pc cpu method"
introduces an array aarch64_cpus which is zero
size if this code is built without CONFIG_USER_ONLY.
In particular an attempt to iterate over this array produces a warning
under gcc 4.8.2:
CC aarch64-softmmu/target-arm/cpu64.o
/scm/qemu/target-arm/cpu64.c: In function ‘aarch64_cpu_register_types’:
/scm/qemu/target-arm/cpu64.c:124:5: error: comparison of unsigned
expression < 0 is always false [-Werror=type-limits]
for (i = 0; i < ARRAY_SIZE(aarch64_cpus); i++) {
^
cc1: all warnings being treated as errors
This is the result of ARRAY_SIZE being an unsigned type,
causing "i" to be promoted to unsigned int as well.
As zero size arrays are a gcc extension, it seems
cleanest to add a dummy element with NULL name,
and test for it during registration.
We'll be able to drop this when we add more CPUs.
Cc: Alexander Graf <address@hidden>
Cc: Peter Maydell <address@hidden>
Cc: Richard Henderson <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Stefan Weil <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 07c935087a5541fb167fecf3bef810de2605f93f
https://github.com/qemu/qemu/commit/07c935087a5541fb167fecf3bef810de2605f93f
Author: Christoffer Dall <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/intc/arm_gic.c
M hw/intc/arm_gic_common.c
M hw/intc/gic_internal.h
M include/hw/intc/arm_gic_common.h
Log Message:
-----------
arm_gic: Rename GIC_X_TRIGGER to GIC_X_EDGE_TRIGGER
TRIGGER can really mean mean anything (e.g. was it triggered, is it
level-triggered, is it edge-triggered, etc.). Rename to EDGE_TRIGGER to
make the code comprehensible without looking up the data structure.
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Christoffer Dall <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: e3d8cc0536699b66f58b0e3a13a70ee007f61647
https://github.com/qemu/qemu/commit/e3d8cc0536699b66f58b0e3a13a70ee007f61647
Author: Christoffer Dall <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M hw/intc/arm_gic.c
M hw/intc/gic_internal.h
Log Message:
-----------
hw: arm_gic: Introduce gic_set_priority function
To make the code slightly cleaner to look at and make the save/restore
code easier to understand, introduce this function to set the priority of
interrupts.
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Christoffer Dall <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Commit: 1bf6beec8a012cae4bb6fbc89c465127e9650c92
https://github.com/qemu/qemu/commit/1bf6beec8a012cae4bb6fbc89c465127e9650c92
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
Log Message:
-----------
softfloat: Fix exception flag handling for float32_to_float16()
Our float32 to float16 conversion routine was generating the correct
numerical answers, but not always setting the right set of exception
flags. Fix this, mostly by rearranging the code to more closely
resemble RoundAndPackFloat*, and in particular:
* non-IEEE halfprec always raises Invalid for input NaNs
* we need to check for the overflow case before underflow
* we weren't getting the tininess-detected-after-rounding
case correct (somewhat academic since only ARM uses halfprec
and it is always tininess-detected-before-rounding)
* non-IEEE halfprec overflow raises only Invalid, not
Invalid + Inexact
* we weren't setting Inexact when we should
Also add some clarifying comments about what the code is doing.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: e0a2db7128626a795c3657ffcaff40514e998e2f
https://github.com/qemu/qemu/commit/e0a2db7128626a795c3657ffcaff40514e998e2f
Author: Will Newton <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
M include/fpu/softfloat.h
Log Message:
-----------
softfloat: Add float to 16bit integer conversions.
ARMv8 requires support for converting 32 and 64bit floating point
values to signed and unsigned 16bit integers.
Signed-off-by: Will Newton <address@hidden>
[PMM: updated not to incorrectly set Inexact for Invalid inputs]
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 44e09132cae159ce1e2f3d0aebd62c8298224a6d
https://github.com/qemu/qemu/commit/44e09132cae159ce1e2f3d0aebd62c8298224a6d
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M include/fpu/softfloat.h
Log Message:
-----------
softfloat: Add 16 bit integer to float conversions
Add the float to 16 bit integer conversion routines. These can be
trivially implemented in terms of the int32_to_float* routines, but
providing them makes our API more symmetrical and can simplify callers.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 564658dc8c5fabdc73702967590a5652bc45107f
https://github.com/qemu/qemu/commit/564658dc8c5fabdc73702967590a5652bc45107f
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
M include/fpu/softfloat.h
Log Message:
-----------
softfloat: Make the int-to-float functions take exact-width types
Currently the int-to-float functions take types which are specified
as "at least X bits wide", rather than "exactly X bits wide". This is
confusing and unhelpful since it means that the callers have to include
an explicit cast to [u]intXX_t to ensure the correct behaviour. Fix
them all to take the exactly-X-bits-wide types instead.
Note that this doesn't change behaviour at all since at the moment
we happen to define the 'int32' and 'uint32' types as exactly 32 bits
wide, and the 'int64' and 'uint64' types as exactly 64 bits wide.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: f883b3896ed5e180f234613aadca019fdbe7c49c
https://github.com/qemu/qemu/commit/f883b3896ed5e180f234613aadca019fdbe7c49c
Author: Tom Musta <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
Log Message:
-----------
softfloat: Fix float64_to_uint64
The comment preceding the float64_to_uint64 routine suggests that
the implementation is broken. And this is, indeed, the case.
This patch properly implements the conversion of a 64-bit floating
point number to an unsigned, 64 bit integer.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: f2e933d20d5fd6c38bda227359b79bcc81654f99
https://github.com/qemu/qemu/commit/f2e933d20d5fd6c38bda227359b79bcc81654f99
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
Log Message:
-----------
softfloat: Only raise Invalid when conversions to int are out of range
We implement a number of float-to-integer conversions using conversion
to an integer type with a wider range and then a check against the
narrower range we are actually converting to. If we find the result to
be out of range we correctly raise the Invalid exception, but we must
also suppress other exceptions which might have been raised by the
conversion function we called.
This won't throw away exceptions we should have preserved, because for
the 'core' exception flags the IEEE spec mandates that the only valid
combinations of exception that can be raised by a single operation are
Inexact + Overflow and Inexact + Underflow. For the non-IEEE softfloat
flag for input denormals, we can guarantee that that flag won't have
been set for out of range float-to-int conversions because a squashed
denormal by definition goes to plus or minus zero, which is always in
range after conversion to integer zero.
This bug has been fixed for some of the float-to-int conversion routines
by previous patches; fix it for the remaining functions as well, so
that they all restore the pre-conversion status flags prior to raising
Invalid.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Aurelien Jarno <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 0ace25a5676af233a9b5abf48599dbcc45f92dcf
https://github.com/qemu/qemu/commit/0ace25a5676af233a9b5abf48599dbcc45f92dcf
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
Log Message:
-----------
softfloat: Fix factor 2 error for scalbn on denormal inputs
If the input to float*_scalbn() is denormal then it represents
a number 0.[mantissabits] * 2^(1-exponentbias) (and the actual
exponent field is all zeroes). This means that when we convert
it to our unpacked encoding the unpacked exponent must be one
greater than for a normal number, which represents
1.[mantissabits] * 2^(e-exponentbias) for an exponent field e.
This meant we were giving answers too small by a factor of 2 for
all denormal inputs.
Note that the float-to-int routines also have this behaviour
of not adjusting the exponent for denormals; however there it is
harmless because denormals will all convert to integer zero anyway.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Aurelien Jarno <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 47a34e009de2f4a99862e71e1d15d178dac5f259
https://github.com/qemu/qemu/commit/47a34e009de2f4a99862e71e1d15d178dac5f259
Author: Tom Musta <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
M include/fpu/softfloat.h
Log Message:
-----------
softfloat: Add float32_to_uint64()
This patch adds the float32_to_uint64() routine, which converts a
32-bit floating point number to an unsigned 64 bit number.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
[PMM: removed harmless but silly int64_t casts]
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: a757f1c2deb6c8eac4a75f8e817fa2d7c8cd2527
https://github.com/qemu/qemu/commit/a757f1c2deb6c8eac4a75f8e817fa2d7c8cd2527
Author: Tom Musta <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
Log Message:
-----------
softfloat: Fix float64_to_uint64_round_to_zero
The float64_to_uint64_round_to_zero routine is incorrect.
For example, the following test pattern:
46697351FF4AEC29 / 0x1.97351ff4aec29p+103
currently produces 8000000000000000 instead of FFFFFFFFFFFFFFFF.
This patch re-implements the routine to temporarily force the
rounding mode and use the float64_to_uint64 routine.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 8d551c988e96ac4cfe462e6b34d513bba2da572f
https://github.com/qemu/qemu/commit/8d551c988e96ac4cfe462e6b34d513bba2da572f
Author: Tom Musta <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
Log Message:
-----------
softfloat: Fix float64_to_uint32
The float64_to_uint32 has several flaws:
- for numbers between 2**32 and 2**64, the inexact exception flag
may get incorrectly set. In this case, only the invalid flag
should be set.
test pattern: 425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38
- for numbers between 2**63 and 2**64, incorrect results may
be produced:
test pattern: 43EAAF73F1F0B8BD / 0x1.aaf73f1f0b8bdp+63
This patch re-implements float64_to_uint32 to re-use the
float64_to_uint64 routine (instead of float64_to_int64). For the
saturation case, we ignore any flags which the conversion routine
has set and raise only the invalid flag.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 2958f14d75b9c2ef9a68f41a3101884af307e4f8
https://github.com/qemu/qemu/commit/2958f14d75b9c2ef9a68f41a3101884af307e4f8
Author: Tom Musta <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
Log Message:
-----------
softfloat: Fix float64_to_uint32_round_to_zero
The float64_to_uint32_round_to_zero routine is incorrect.
For example, the following test pattern:
425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38
will erroneously set the inexact flag.
This patch re-implements the routine to use the float64_to_uint64_round_to_zero
routine. If saturation occurs we ignore any flags set by the
conversion function and raise only Invalid.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: e9ef30c079354db6a8eb5bd6574b948288a55b94
https://github.com/qemu/qemu/commit/e9ef30c079354db6a8eb5bd6574b948288a55b94
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
M include/fpu/softfloat.h
Log Message:
-----------
softfloat: Provide complete set of accessors for fp state
Tidy up the get/set accessors for the fp state to add missing ones
and make them all inline in softfloat.h rather than some inline and
some not.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 84c6b75d8557a6e638dc72343428b0a78b66923f
https://github.com/qemu/qemu/commit/84c6b75d8557a6e638dc72343428b0a78b66923f
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
Log Message:
-----------
softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal
In preparation for adding conversions between float16 and float64,
factor out code currently done inline in the float16<=>float32
conversion functions into functions RoundAndPackFloat16 and
NormalizeFloat16Subnormal along the lines of the existing versions
for the other float types.
Note that we change the handling of zExp from the inline code
to match the API of the other RoundAndPackFloat functions; however
we leave the positioning of the binary point between bits 22 and 23
rather than shifting it up to the high end of the word.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 7b378119bd67609f25bd78b714d0fab922600f40
https://github.com/qemu/qemu/commit/7b378119bd67609f25bd78b714d0fab922600f40
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
M include/fpu/softfloat.h
Log Message:
-----------
softfloat: Add float16 <=> float64 conversion functions
Add the conversion functions float16_to_float64() and
float64_to_float16(), which will be needed for the ARM
A64 instruction set.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 01a0b83cdb1c29a0066cfee3445a34280b3ac03a
https://github.com/qemu/qemu/commit/01a0b83cdb1c29a0066cfee3445a34280b3ac03a
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
Log Message:
-----------
softfloat: Refactor code handling various rounding modes
Refactor the code in various functions which calculates rounding
increments given the current rounding mode, so that instead of a
set of nested if statements we have a simple switch statement.
This will give us a clean place to add the case for the new
tiesAway rounding mode.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: dcc69632089fece07a0bb4fd859b010659569fda
https://github.com/qemu/qemu/commit/dcc69632089fece07a0bb4fd859b010659569fda
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M fpu/softfloat.c
M include/fpu/softfloat.h
Log Message:
-----------
softfloat: Add support for ties-away rounding
IEEE754-2008 specifies a new rounding mode:
"roundTiesToAway: the floating-point number nearest to the infinitely
precise result shall be delivered; if the two nearest floating-point
numbers bracketing an unrepresentable infinitely precise result are
equally near, the one with larger magnitude shall be delivered."
Implement this new mode (it is needed for ARM). The general principle
is that the required code is exactly like the ties-to-even code,
except that we do not need to do the "in case of exact tie clear LSB
to round-to-even", because the rounding operation naturally causes
the exact tie to round up in magnitude.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 59af2dc86866dc14a42eec596f3d100dd3a24d1e
https://github.com/qemu/qemu/commit/59af2dc86866dc14a42eec596f3d100dd3a24d1e
Author: Will Newton <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/helper.c
Log Message:
-----------
target-arm: Prepare VFP_CONV_FIX helpers for A64 uses
Make the VFP_CONV_FIX helpers a little more flexible in
preparation for the A64 uses. This requires two changes:
* use the correct softfloat conversion function based on itype
rather than always the int32 one; this is possible now that
softfloat provides int16 versions and necessary for the
future conversion-to-int64 A64 variants. This also allows
us to drop the awkward 'sign' macro argument.
* split the 'fsz' argument which currently controls both
width of the input float type and width of the output
integer type into two; this will allow us to specify the
A64 64-bit-int-to-single conversion function, where the
two widths are different.
We can also drop the (itype##_t) cast now that softfloat
guarantees that all the itype##_to_float* functions take
an integer argument of exactly the correct type.
Signed-off-by: Will Newton <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 6ab748af130912b92decfb1fa411ebdfd7cf8d87
https://github.com/qemu/qemu/commit/6ab748af130912b92decfb1fa411ebdfd7cf8d87
Author: Will Newton <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/helper.c
M target-arm/helper.h
M target-arm/translate.c
Log Message:
-----------
target-arm: Rename A32 VFP conversion helpers
The VFP conversion helpers for A32 round to zero as this is the only
rounding mode supported. Rename these helpers to make it clear that
they round to zero and are not suitable for use in the AArch64 code.
Signed-off-by: Will Newton <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 39905e53db75b6df0cfdb65644056a9f1cd10069
https://github.com/qemu/qemu/commit/39905e53db75b6df0cfdb65644056a9f1cd10069
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/helper.c
Log Message:
-----------
target-arm: Ignore most exceptions from scalbn when doing fixpoint conversion
The VFP fixed point conversion helpers first call float_scalbn and
then convert the result to an integer. This scalbn operation may
set floating point exception flags for:
* overflow & inexact (if it overflows to infinity)
* input denormal squashed to zero
* output denormal squashed to zero
Of these, we only care about the input-denormal flag, since
the output of the whole scale-and-convert operation will be
an integer (so squashed-output-denormal and overflow don't
apply). Suppress the others by saving the pre-scalb exception
flags and only copying across a potential input-denormal flag.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 8fe2a36f33f44e9d1333c851762ac463ad528233
https://github.com/qemu/qemu/commit/8fe2a36f33f44e9d1333c851762ac463ad528233
Author: Will Newton <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/helper.c
M target-arm/helper.h
Log Message:
-----------
target-arm: A64: Add extra VFP fixed point conversion helpers
Define the full set of floating point to fixed point conversion
helpers required to support AArch64.
Signed-off-by: Will Newton <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 3617f86ba87a0f54b74dbaed0d92da13beb14e45
https://github.com/qemu/qemu/commit/3617f86ba87a0f54b74dbaed0d92da13beb14e45
Author: Alexander Graf <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/helper.c
M target-arm/helper.h
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: Add floating-point<->fixed-point instructions
This patch adds emulation for the instruction group labeled
"Floating-point <-> fixed-point conversions" in the ARM ARM.
Namely this includes the instructions SCVTF, UCVTF, FCVTZS, FCVTZU
(scalar, fixed-point).
Signed-off-by: Alexander Graf <address@hidden>
[WN: Commit message tweak, rebased, updated to new infrastructure.
Applied bug fixes from Michael Matz and Janne Grunau.]
Signed-off-by: Will Newton <address@hidden>
[PMM: significant cleanup]
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 6a7413385d731a97cbd45c7c4b1c2cbd73d94409
https://github.com/qemu/qemu/commit/6a7413385d731a97cbd45c7c4b1c2cbd73d94409
Author: Will Newton <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: Add floating-point<->integer conversion instructions
Add support for the AArch64 floating-point <-> integer conversion
instructions to disas_fpintconv. In the process we can rearrange
and simplify the detection of unallocated encodings a little.
We also correct a typo in the instruction encoding diagram for this
instruction group: bit 21 is 1, not 0.
Signed-off-by: Will Newton <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: e97db91cbf7df456a35996d7243cd0f55d23ca1a
https://github.com/qemu/qemu/commit/e97db91cbf7df456a35996d7243cd0f55d23ca1a
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/helper.c
M target-arm/helper.h
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions
This patch adds support for those instructions in the "Floating-point
data-processing (1 source)" group which are simple 32-bit-to-32-bit
or 64-bit-to-64-bit operations (ie everything except FCVT between
single/double/half precision).
We put the new round-to-int helpers in helper.c because they will
also be used by the new ARMv8 A32/T32 rounding instructions.
Signed-off-by: Alexander Graf <address@hidden>
[WN: Commit message tweak, merged single and double precision patches,
updated to new infrastructure.]
Signed-off-by: Will Newton <address@hidden>
[PMM: reworked decode, split FCVT out into their own patch]
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: 096fc768184d5e9c47ccc4dd95d9f983fa83b9e1
https://github.com/qemu/qemu/commit/096fc768184d5e9c47ccc4dd95d9f983fa83b9e1
Author: Peter Maydell <address@hidden>
Date: 2014-01-07 (Tue, 07 Jan 2014)
Changed paths:
M target-arm/helper.c
M target-arm/helper.h
M target-arm/translate-a64.c
Log Message:
-----------
target-arm: A64: Add support for FCVT between half, single and double
Add support for FCVT between half, single and double precision.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Commit: b9d36eb2c7d73875ef44182f18d625f1bc4c7fda
https://github.com/qemu/qemu/commit/b9d36eb2c7d73875ef44182f18d625f1bc4c7fda
Author: André Hentschel <address@hidden>
Date: 2014-01-09 (Thu, 09 Jan 2014)
Changed paths:
M linux-user/syscall.c
M linux-user/syscall_defs.h
Log Message:
-----------
linux-user: Support the accept4 socketcall
Cc: Riku Voipio <address@hidden>
Signed-off-by: André Hentschel <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Reviewed-by: Erik de Castro Lopo <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: f0116c5458dc3be398ee7ef8daeaa02ba738bdc1
https://github.com/qemu/qemu/commit/f0116c5458dc3be398ee7ef8daeaa02ba738bdc1
Author: Will Newton <address@hidden>
Date: 2014-01-09 (Thu, 09 Jan 2014)
Changed paths:
M linux-user/elfload.c
M linux-user/flatload.c
M linux-user/linuxload.c
M linux-user/qemu.h
Log Message:
-----------
linux-user: Remove regs parameter of load_elf_binary and load_flt_binary
The regs parameter is not used anywhere, so remove it.
Signed-off-by: Will Newton <address@hidden>
Reviewed-by: Erik de Castro Lopo <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: 205b6b617519d53f17ef2158ff18cb0fe50f5d6c
https://github.com/qemu/qemu/commit/205b6b617519d53f17ef2158ff18cb0fe50f5d6c
Author: Anthony Liguori <address@hidden>
Date: 2014-01-10 (Fri, 10 Jan 2014)
Changed paths:
M linux-user/elfload.c
M linux-user/flatload.c
M linux-user/linuxload.c
M linux-user/qemu.h
M linux-user/syscall.c
M linux-user/syscall_defs.h
Log Message:
-----------
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
* riku/linux-user-for-upstream:
linux-user: Remove regs parameter of load_elf_binary and load_flt_binary
linux-user: Support the accept4 socketcall
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
Commit: 62a6a1fb895b881a938426fadb808f78a86ee222
https://github.com/qemu/qemu/commit/62a6a1fb895b881a938426fadb808f78a86ee222
Author: Anthony Liguori <address@hidden>
Date: 2014-01-10 (Fri, 10 Jan 2014)
Log Message:
-----------
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20140107' into
staging
target-arm queue:
* further A64 decoder patches, including enabling the aarch64-linux-user
target; this includes full floating point support. Neon is not yet
supported.
* cadence UART model fixes.
* some minor bug fixes and cleanups.
* all the softfloat fixes required by the new A64 instructions;
several of these will also be used by PPC.
* pmaydell/tags/pull-target-arm-20140107: (61 commits)
target-arm: A64: Add support for FCVT between half, single and double
target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions
target-arm: A64: Add floating-point<->integer conversion instructions
target-arm: A64: Add floating-point<->fixed-point instructions
target-arm: A64: Add extra VFP fixed point conversion helpers
target-arm: Ignore most exceptions from scalbn when doing fixpoint conversion
target-arm: Rename A32 VFP conversion helpers
target-arm: Prepare VFP_CONV_FIX helpers for A64 uses
softfloat: Add support for ties-away rounding
softfloat: Refactor code handling various rounding modes
softfloat: Add float16 <=> float64 conversion functions
softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal
softfloat: Provide complete set of accessors for fp state
softfloat: Fix float64_to_uint32_round_to_zero
softfloat: Fix float64_to_uint32
softfloat: Fix float64_to_uint64_round_to_zero
softfloat: Add float32_to_uint64()
softfloat: Fix factor 2 error for scalbn on denormal inputs
softfloat: Only raise Invalid when conversions to int are out of range
softfloat: Fix float64_to_uint64
...
Conflicts:
target-arm/cpu.h
aliguori: resolved trivial conflict
Signed-off-by: Anthony Liguori <address@hidden>
Commit: 4cddc7f44ff83ff3545059f1b8648b8bd7fe0e72
https://github.com/qemu/qemu/commit/4cddc7f44ff83ff3545059f1b8648b8bd7fe0e72
Author: Anthony Liguori <address@hidden>
Date: 2014-01-10 (Fri, 10 Jan 2014)
Changed paths:
M cpu-exec.c
M cpus.c
M cputlb.c
M hw/i386/kvmvapic.c
M hw/i386/pc.c
M target-i386/cpu-qom.h
M target-i386/cpu.c
M target-i386/cpu.h
M target-i386/helper.c
M target-i386/kvm.c
M target-i386/misc_helper.c
M translate-all.c
Log Message:
-----------
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging
QOM CPUState refactorings / X86CPU
* TLB invalidation optimizations
* X86CPU initialization cleanups
* Preparations for X86CPU hot-unplug
# gpg: Signature made Tue 24 Dec 2013 04:51:52 AM PST using RSA key ID 3E7E013F
# gpg: Good signature from "Andreas Färber <address@hidden>"
# gpg: aka "Andreas Färber <address@hidden>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 174F 0347 1BCC 221A 6175 6F96 FA2E D12D 3E7E 013F
* afaerber/tags/qom-cpu-for-anthony:
target-i386: Cleanup 'foo=val' feature handling
target-i386: Cleanup 'foo' feature handling
target-i386: Convert 'check' and 'enforce' to static properties
target-i386: Convert 'hv_spinlocks' to static property
target-i386: Convert 'hv_vapic' to static property
target-i386: Convert 'hv_relaxed' to static property
cpu-exec: Optimize X86CPU usage in cpu_exec()
target-i386: Move apic_state field from CPUX86State to X86CPU
cputlb: Tidy memset() of arrays
cputlb: Use memset() when flushing entries
Commit: d1819762fcf5d50f30df603eb606eb31bf62e29d
https://github.com/qemu/qemu/commit/d1819762fcf5d50f30df603eb606eb31bf62e29d
Author: Anthony Liguori <address@hidden>
Date: 2014-01-10 (Fri, 10 Jan 2014)
Changed paths:
M hw/acpi/core.c
M hw/acpi/ich9.c
M hw/acpi/piix4.c
M hw/core/qdev.c
M hw/i386/acpi-dsdt-cpu-hotplug.dsl
M hw/i386/pc_piix.c
M hw/i386/pc_sysfw.c
M hw/i386/q35-acpi-dsdt.dsl
M hw/pci-host/piix.c
M hw/pci/pci.c
M hw/pci/pci_bridge.c
M hw/s390x/virtio-ccw.c
M hw/virtio/virtio.c
M include/hw/acpi/acpi.h
M include/hw/i386/pc.h
M include/hw/pci/pci.h
M include/hw/qdev-core.h
M tests/i440fx-test.c
Log Message:
-----------
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
acpi,pci,pc,fedora,virtio fixes and enhancements
This includes some Preparatory patches for cpu hotplug for q25 and memory
hotplug by Igor, tests and memory mapping change
by Laszlo and pci reset cleanup by Paolo.
There are also some fixes for fedora and virtio:
included here since they are test blockers for me.
Signed-off-by: Michael S. Tsirkin <address@hidden>
# gpg: Signature made Mon 23 Dec 2013 08:07:18 AM PST using RSA key ID D28D5469
# gpg: Can't check signature: public key not found
* mst/tags/for_anthony:
target-arm: fix build with gcc 4.8.2
virtio: add back call to virtio_bus_device_unplugged
piix: fix 32bit pci hole
qdev: switch reset to post-order
qdev: allow both pre- and post-order vists in qdev walking functions
pci: clean up resetting of IRQs
pci: do not export pci_bus_reset
ACPI/DSDT-CPU: cleanup bogus comment
ACPI: Q35 DSDT: fix CPU hotplug GPE0.2 handler
acpi: ich9: allow guest to clear SCI rised by GPE
acpi: factor out common pm_update_sci() into acpi core
acpi: piix4: remove not needed GPE0 mask
i440fx-test: verify firmware under 4G and 1M, both -bios and -pflash
i440fx-test: generate temporary firmware blob
i440fx-test: give each GTest case its own qtest
i440fx-test: qtest_start() should be paired with qtest_end()
hw/i386/pc_sysfw: support two flash drives
pc_piix: document gigabyte_align
piix: gigabyte alignment for ram
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
Commit: debe40fbc5f112672d0ab8f7f393e483304059f4
https://github.com/qemu/qemu/commit/debe40fbc5f112672d0ab8f7f393e483304059f4
Author: Anthony Liguori <address@hidden>
Date: 2014-01-10 (Fri, 10 Jan 2014)
Changed paths:
M block/commit.c
M block/iscsi.c
M block/mirror.c
M block/sheepdog.c
M block/vhdx-log.c
M block/vhdx.c
M block/vhdx.h
M block/vmdk.c
M blockdev.c
M configure
M hw/block/dataplane/virtio-blk.c
M hw/virtio/dataplane/Makefile.objs
R hw/virtio/dataplane/hostmem.c
M hw/virtio/dataplane/vring.c
M include/block/block_int.h
R include/hw/virtio/dataplane/hostmem.h
M include/hw/virtio/dataplane/vring.h
M qapi-schema.json
M qemu-doc.texi
M qemu-img.texi
M tests/qemu-iotests/040
M tests/qemu-iotests/051.out
M tests/qemu-iotests/059
M tests/qemu-iotests/059.out
Log Message:
-----------
Merge remote-tracking branch 'stefanha/block' into staging
* stefanha/block:
commit: Remove unused check
qemu-iotests: Update test cases for commit active
commit: Support commit active layer
block: Add commit_active_start()
mirror: Move base to MirrorBlockJob
mirror: Don't close target
qemu-iotests: drop duplicate virtio-blk initialization failure
vmdk: Allow vmdk_create to work with protocol
vmdk: Check VMFS extent line field number
docs: updated qemu-img man page and qemu-doc to reflect VHDX support.
block: vhdx - improve error message, and .bdrv_check implementation
block/iscsi: Fix compilation for libiscsi 1.4.0 (API change)
qapi-schema: fix QEMU 1.8 references
dataplane: replace hostmem with memory_region_find
dataplane: change vring API to use VirtQueueElement
vring: factor common code for error exits
vring: create a common function to parse descriptors
sheepdog: fix dynamic grow for running qcow2 format
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
Commit: eedc1a5db5e4d941e39e54344322c0b1e89dfdcd
https://github.com/qemu/qemu/commit/eedc1a5db5e4d941e39e54344322c0b1e89dfdcd
Author: Anthony Liguori <address@hidden>
Date: 2014-01-10 (Fri, 10 Jan 2014)
Changed paths:
M block/iscsi.c
M hw/scsi/scsi-disk.c
Log Message:
-----------
Merge remote-tracking branch 'bonzini/scsi-next' into staging
* bonzini/scsi-next:
scsi-disk: add UNMAP limits to block limits VPD page
block/iscsi: use a bh to schedule co reentrance
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
Compare: https://github.com/qemu/qemu/compare/1d327fb4c72b...eedc1a5db5e4
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 8b9dfe: block/iscsi: use a bh to schedule co reentrance,
GitHub <=