sdk/emulator/qemu.git
9 years agoDirect Rendering: New feature added 90/33990/3
jinhyung.jo [Wed, 14 Jan 2015 10:05:16 +0000 (19:05 +0900)]
Direct Rendering: New feature added

Modified the vigs & the yagl device for the direct rendering
Added Qt5 UI for the direct rendering
This is a compressed many commits produced by several authors below into one.

Change-Id: I455f607c363851c57d0a250f1220ede6027e1ea0
Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
Signed-off-by: Stanislav Vorobiov <s.vorobiov@samsung.com>
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
Signed-off-by: SungMin Ha <sungmin82.ha@samsung.com>
Signed-off-by: hyunjin816.lee <hyunjin816.lee@samsung.com>
Signed-off-by: Munkyu Im <munkyu.im@samsung.com>
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
9 years agopkgs: added extra packages installation 00/33300/3
Jinhyung Choi [Thu, 8 Jan 2015 06:38:16 +0000 (15:38 +0900)]
pkgs: added extra packages installation

Change-Id: I5aa6b139a77e75ece91d9fdca60e9105fb159542
Signed-off-by: Jinhyung Choi <jinhyung2.choi@samsung.com>
9 years agodisplay: added maru_display_processing 06/33806/3
GiWoong Kim [Mon, 15 Dec 2014 14:06:48 +0000 (23:06 +0900)]
display: added maru_display_processing

Change-Id: Iaa0266d60932f7ce56be5e0eab97f0c6204a94e9
Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
9 years agoMerge changes Ifb16cc06,I738addcc into tizen_next
SeokYeon Hwang [Mon, 19 Jan 2015 07:47:20 +0000 (23:47 -0800)]
Merge changes Ifb16cc06,I738addcc into tizen_next

* changes:
  build: disable video acceleration feature.
  build: remove loading path changing for MacOS

9 years agobuild: disable video acceleration feature. 24/33724/2
Kitae Kim [Wed, 14 Jan 2015 07:33:13 +0000 (16:33 +0900)]
build: disable video acceleration feature.

enable VA feature if vaapi or dxva2 library is installed.

Change-Id: Ifb16cc069861b85d94efcf3b23a08673cf78a323
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agoMerge "Revert "remote: added required package libgstreamer-vaapi1.0-dev"" into tizen_next
Alice Liu [Sun, 18 Jan 2015 08:18:37 +0000 (00:18 -0800)]
Merge "Revert "remote: added required package libgstreamer-vaapi1.0-dev"" into tizen_next

9 years agoRevert "remote: added required package libgstreamer-vaapi1.0-dev" 45/33945/1
Alice Liu [Sun, 18 Jan 2015 08:16:52 +0000 (00:16 -0800)]
Revert "remote: added required package libgstreamer-vaapi1.0-dev"

This reverts commit 41bebd2819f26c6fa3c1edddc3653bc8630a41ec.

Change-Id: I8879bf78b6fe9de37066f6fe533b586f8bf6f254

9 years agopackage: version up (2.0.17) 44/33944/1
Alice Liu [Sun, 18 Jan 2015 08:08:16 +0000 (16:08 +0800)]
package: version up (2.0.17)

Change-Id: I21e35235dd522ea52540e7ba61db694f3657b480
Signed-off-by: Alice Liu <alice.liu@intel.com>
9 years agoremote: added required package libgstreamer-vaapi1.0-dev 42/33942/1
Alice Liu [Sat, 17 Jan 2015 06:59:15 +0000 (14:59 +0800)]
remote: added required package libgstreamer-vaapi1.0-dev

Building vaapi requires libgstreamer-vaapi1.0-dev package

Change-Id: Ic38a843a5c3406803b82f46447f8c5923784e545
Signed-off-by: Alice Liu <alice.liu@intel.com>
9 years agobuild: remove loading path changing for MacOS 10/33710/5
GiWoong Kim [Tue, 4 Nov 2014 10:06:02 +0000 (19:06 +0900)]
build: remove loading path changing for MacOS

Change-Id: I738addcc7d79c64a9ec36fdede21d9ad0c2d96b6
Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
9 years agotarget image path: added IMAGE_PATH_SUFFIX condition 98/33298/2
Jinhyung Choi [Mon, 5 Jan 2015 06:53:27 +0000 (15:53 +0900)]
target image path: added IMAGE_PATH_SUFFIX condition

Change-Id: I9224d318bca7811d4535fbc796c358f966310c4d
Signed-off-by: Jinhyung Choi <jinhyung2.choi@samsung.com>
9 years agonet: Support bridged network and manual proxy 34/33134/2
Munkyu Im [Tue, 6 Jan 2015 07:30:47 +0000 (16:30 +0900)]
net: Support bridged network and manual proxy

make check-proxy shows host proxy information.
set guest IP from emuld.

Change-Id: I3b0746eea02de6e4ec46a24deb0e09e1876242a7
Signed-off-by: Munkyu Im <munkyu.im@samsung.com>
9 years agobrillcodec: enable video acceleration API. 69/32369/3
gunsoo83.kim [Wed, 17 Dec 2014 12:28:30 +0000 (21:28 +0900)]
brillcodec: enable video acceleration API.

- enable DXVA2 for Windows
- enable VAAPI for Ubunut

Change-Id: I4f10f40daafc5b7ca8c8dd5f1a2ffab317f3c6b6
Signed-off-by: gunsoo83.kim <gunsoo83.kim@samsung.com>
9 years agoconfigure: use libav, vappi and dxva2 feature depending on the below cases. 09/33309/1
Kitae Kim [Thu, 8 Jan 2015 07:30:19 +0000 (16:30 +0900)]
configure: use libav, vappi and dxva2 feature depending on the below cases.

If libav option is set and configure cannot find libav, configure
will be terminated abnormally.

If libav option is not set and configure cannot detect libav,
configure will not be terminated abnormally. Otherwise, it will
enable libav feature.

Change-Id: I52f55f15da315cc4ccb2c2275df760e90c4c3613
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agobuild: modify changelog file. 37/32837/1
Kitae Kim [Fri, 26 Dec 2014 04:21:47 +0000 (13:21 +0900)]
build: modify changelog file.

Change-Id: Ie01a65da79830c8862f6e63032d12d8ce72f0991
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agobuild: disable quorum feature to remove dependency on gnutls. 35/32835/4
Alice Liu [Fri, 26 Dec 2014 01:58:58 +0000 (09:58 +0800)]
build: disable quorum feature to remove dependency on gnutls.

Change-Id: Ia95b23b6479651a7e662e037c040481bf2fc0874
Signed-off-by: Alice Liu <alice.liu@intel.com>
9 years agopackage: version up 93/32793/4
Munkyu Im [Wed, 24 Dec 2014 05:51:09 +0000 (14:51 +0900)]
package: version up

Change-Id: I0442bb6e9e346e14024e800c923fd8d6438d3951
Signed-off-by: Munkyu Im <munkyu.im@samsung.com>
9 years agosdcard: Fix failing re-attaching on Windows 50/32750/7
Munkyu Im [Tue, 23 Dec 2014 12:16:02 +0000 (21:16 +0900)]
sdcard: Fix failing re-attaching on Windows

failed when try to attach > detach > attach on Windows.
becuase of failing unlock when detach sdcard image.

Change-Id: If400812633a4a22c937911cc3086125923e9a6fd
Signed-off-by: Munkyu Im <munkyu.im@samsung.com>
9 years agoecs: sync with 2.3 development 82/32582/3
Jinhyung Choi [Fri, 19 Dec 2014 08:10:51 +0000 (17:10 +0900)]
ecs: sync with 2.3 development

- bug fixed with ecs_mon not null terminate buffer
- added hds functionality
- added sensors(HRM, UV and Pressure)

Change-Id: I3a362a8b1e29acc55ed6ac8a9a9b538c5673f42a
Signed-off-by: Jinhyung Choi <jinhyung2.choi@samsung.com>
9 years agopackage: version up (2.0.15) 53/32653/1
Alice Liu [Mon, 22 Dec 2014 06:30:54 +0000 (14:30 +0800)]
package: version up (2.0.15)

Change-Id: I956a08ac53879926e0b426962b7e8ecb8aa6fefe
Signed-off-by: Alice Liu <alice.liu@intel.com>
9 years agoMerge branch 'tizen_next_qemu_2.2' into tizen_next
SeokYeon Hwang [Mon, 22 Dec 2014 04:50:49 +0000 (13:50 +0900)]
Merge branch 'tizen_next_qemu_2.2' into tizen_next

9 years agobrillcodec: fix wrong log macro. 67/32367/1
Kitae Kim [Wed, 17 Dec 2014 12:15:17 +0000 (21:15 +0900)]
brillcodec: fix wrong log macro.

Change-Id: I67bc928f27369b45f88d0253ea176ebf26994144
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agoosutil: fix compilation errors on Windows and MacOS. 66/32366/1
Kitae Kim [Wed, 17 Dec 2014 12:14:10 +0000 (21:14 +0900)]
osutil: fix compilation errors on Windows and MacOS.

Change-Id: Ia597584dba038602776866fc2caa738c8b3cca59
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agobrillcodec: use new debug channel macros 38/32138/2
Kitae Kim [Tue, 16 Dec 2014 06:14:15 +0000 (15:14 +0900)]
brillcodec: use new debug channel macros

Change-Id: I4d14ca5b75361e16da9178c4190c2eea381cb1f6
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agoMerge "build: disable dxva2 feature on Windows." into tizen_next
SeokYeon Hwang [Wed, 17 Dec 2014 04:58:38 +0000 (20:58 -0800)]
Merge "build: disable dxva2 feature on Windows." into tizen_next

9 years agoMerge "brillcodec: remove deprecated libav APIs and use new functions." into tizen_next
SeokYeon Hwang [Wed, 17 Dec 2014 04:58:28 +0000 (20:58 -0800)]
Merge "brillcodec: remove deprecated libav APIs and use new functions." into tizen_next

9 years agoblock: fix compilation error on windows 45/31845/3
SeokYeon Hwang [Thu, 11 Dec 2014 06:13:35 +0000 (15:13 +0900)]
block: fix compilation error on windows

Change-Id: I5a746ab35cb449b2f42da9dff6b592228ebcf495
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
9 years agohax: executed 'hax_populate_ram()' in more proper position 44/31844/3
SeokYeon Hwang [Thu, 11 Dec 2014 06:10:20 +0000 (15:10 +0900)]
hax: executed 'hax_populate_ram()' in more proper position

Change-Id: I8bd616077d223ffebba8b4287cd6f675486ad806
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
9 years agobrillcodec: check that the libav include hwaccel module. 51/32151/1
gunsoo83.kim [Wed, 22 Oct 2014 10:58:03 +0000 (19:58 +0900)]
brillcodec: check that the libav include hwaccel module.

- When brillcodec is using hwaccel module(VAAPI, DXVA),
  should check that the libav is including hwaccel module.

Change-Id: I26eab201cbbe88b440dac8aee6b78017591de63b
Signed-off-by: gunsoo83.kim <gunsoo83.kim@samsung.com>
9 years agobuild: disable dxva2 feature on Windows. 32/32132/2
Kitae Kim [Tue, 16 Dec 2014 04:42:14 +0000 (13:42 +0900)]
build: disable dxva2 feature on Windows.

Change-Id: Ib8b83cce5bc8c99e341b881a121bd6c46353f421
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agobrillcodec: remove deprecated libav APIs and use new functions. 31/32131/2
Kitae Kim [Tue, 16 Dec 2014 04:42:02 +0000 (13:42 +0900)]
brillcodec: remove deprecated libav APIs and use new functions.

Change-Id: I5fcaa5ebb83500a295fe3269a6da2f04f1b7974d
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agohax: HAX needs ram_size when initialize 43/31843/4
SeokYeon Hwang [Thu, 11 Dec 2014 06:05:26 +0000 (15:05 +0900)]
hax: HAX needs ram_size when initialize

HAX needs ram_size when initialize, but init function should have
only MachineState structure. So, we assigned 'ram_size' to 'MachineState'
before 'configure_accelerator()'. Then init function can get 'ram_size'
from 'MachineState'.

Change-Id: I53b6567e411b5bb5d28df30392279245ab93e9af
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
9 years agoMerge "emulator: introduced 'keyword' variable" into tizen_next
SeokYeon Hwang [Thu, 11 Dec 2014 06:15:12 +0000 (22:15 -0800)]
Merge "emulator: introduced 'keyword' variable" into tizen_next

9 years agoMerge "skin: verify a correct VM port range for Color Tag" into tizen_next
SeokYeon Hwang [Thu, 11 Dec 2014 06:14:55 +0000 (22:14 -0800)]
Merge "skin: verify a correct VM port range for Color Tag" into tizen_next

9 years agovirtio: removed invalid device properties 42/31842/1
SeokYeon Hwang [Thu, 11 Dec 2014 04:46:35 +0000 (13:46 +0900)]
virtio: removed invalid device properties

Change-Id: Ifcfa251319e519c14e953984640575a8d8bdbc43
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
9 years agoemulator: registered maru_board as a PC machine 41/31841/1
SeokYeon Hwang [Thu, 11 Dec 2014 04:45:24 +0000 (13:45 +0900)]
emulator: registered maru_board as a PC machine

Change-Id: I5db11add1abb9f6308bbcbd7d27b608a84397509
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
9 years agoui: 'bool' type needs 'stdbool.h'
SeokYeon Hwang [Wed, 10 Dec 2014 06:00:24 +0000 (15:00 +0900)]
ui: 'bool' type needs 'stdbool.h'

Change-Id: I8331094e17918359dd1b1af11f97cf9b6c246f1e
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
9 years agoUpdate version for v2.2.0 release
Peter Maydell [Tue, 9 Dec 2014 12:13:37 +0000 (12:13 +0000)]
Update version for v2.2.0 release

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agoMerge 'v2.2.0' into tizen_next_qemu_2.2
SeokYeon Hwang [Wed, 10 Dec 2014 05:48:31 +0000 (14:48 +0900)]
Merge 'v2.2.0' into tizen_next_qemu_2.2

v2.2.0 release

Conflicts:
blockdev.c
configure
cpu-exec.c
exec.c
hw/Makefile.objs
hw/i386/pc_piix.c
qom/object.c
target-i386/translate.c
util/oslib-posix.c
util/oslib-win32.c
vl.c
xen-hvm.c

Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
Change-Id: I0f708eddfb51b98b9a7453e6e92f20c90a8b5aaf

9 years agopackage: version up (2.0.14) 37/31737/1
Alice Liu [Tue, 9 Dec 2014 06:52:01 +0000 (14:52 +0800)]
package: version up (2.0.14)

Change-Id: I5e73bbfc6e0e2650c9c260d5c340368ad648a8a7
Signed-off-by: Alice Liu <alice.liu@intel.com>
9 years agoskin: verify a correct VM port range for Color Tag 27/31727/1
GiWoong Kim [Fri, 5 Dec 2014 05:40:45 +0000 (14:40 +0900)]
skin: verify a correct VM port range for Color Tag

Change-Id: I4b9606998b6d04c7a8c8d659cbf65f67521634b8
Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
9 years agohds: fix a file creation error on windows host. 89/31489/1
Sooyoung Ha [Fri, 5 Dec 2014 08:01:23 +0000 (17:01 +0900)]
hds: fix a file creation error on windows host.

Change-Id: I78d92223aa7e6c84cbdea0aeddfce65cb30fb291
Signed-off-by: Sooyoung Ha <yoosah.ha@samsung.com>
9 years agoMerge "brillcodec: add profile module for decoding fps/latency." into tizen_next
SeokYeon Hwang [Fri, 5 Dec 2014 06:16:02 +0000 (22:16 -0800)]
Merge "brillcodec: add profile module for decoding fps/latency." into tizen_next

9 years agoMerge "Merge branch 'features/brillcodec_2i' into 'tizen_next'" into tizen_next
SeokYeon Hwang [Fri, 5 Dec 2014 02:49:48 +0000 (18:49 -0800)]
Merge "Merge branch 'features/brillcodec_2i' into 'tizen_next'" into tizen_next

9 years agoMerge "emulator: did not expose unnecessary functions" into tizen_next
SeokYeon Hwang [Fri, 5 Dec 2014 02:49:15 +0000 (18:49 -0800)]
Merge "emulator: did not expose unnecessary functions" into tizen_next

9 years agoUpdate version for v2.2.0-rc5 release
Peter Maydell [Thu, 4 Dec 2014 15:51:22 +0000 (15:51 +0000)]
Update version for v2.2.0-rc5 release

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agoMerge remote-tracking branch 'remotes/kraxel/tags/pull-cve-2014-8106-20141204-1'...
Peter Maydell [Thu, 4 Dec 2014 12:22:46 +0000 (12:22 +0000)]
Merge remote-tracking branch 'remotes/kraxel/tags/pull-cve-2014-8106-20141204-1' into staging

cirrus: fix blit region check

# gpg: Signature made Thu 04 Dec 2014 11:54:57 GMT using RSA key ID D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"

* remotes/kraxel/tags/pull-cve-2014-8106-20141204-1:
  cirrus: don't overflow CirrusVGAState->cirrus_bltbuf
  cirrus: fix blit region check

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agobrillcodec: add profile module for decoding fps/latency. 43/31343/1
gunsoo83.kim [Thu, 4 Dec 2014 07:30:28 +0000 (16:30 +0900)]
brillcodec: add profile module for decoding fps/latency.

- To profile codec performance in device layer,
  add profile module to brillcodec device.

Change-Id: I1c476927afe69dbac76d6091f7f8c9810d85c691
Signed-off-by: gunsoo83.kim <gunsoo83.kim@samsung.com>
9 years agoemulator: introduced 'keyword' variable 01/31201/2
SeokYeon Hwang [Tue, 2 Dec 2014 12:45:16 +0000 (21:45 +0900)]
emulator: introduced 'keyword' variable

Introduced 'keyword' variable that is provided by emulator itself.
Removed redundant static functions.

Change-Id: Ib007914f1e66d9da4a71aeb8cb0919aea60ff6d3
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
9 years agoMerge "check-hax: check ug feature on Windows and Mac OS X." into tizen_next
SeokYeon Hwang [Tue, 2 Dec 2014 09:14:23 +0000 (01:14 -0800)]
Merge "check-hax: check ug feature on Windows and Mac OS X." into tizen_next

9 years agoemulator: did not expose unnecessary functions 57/31157/1
SeokYeon Hwang [Tue, 2 Dec 2014 06:51:58 +0000 (15:51 +0900)]
emulator: did not expose unnecessary functions

Change-Id: I4f5b2e24820f5416c0fc6544ad893afc24a89237
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
9 years agoUpdate version for v2.2.0-rc4 release
Peter Maydell [Mon, 1 Dec 2014 13:35:26 +0000 (13:35 +0000)]
Update version for v2.2.0-rc4 release

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agovhost: Fix vhostfd leak in error branch
Gonglei [Fri, 28 Nov 2014 09:26:29 +0000 (17:26 +0800)]
vhost: Fix vhostfd leak in error branch

Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Reviewed-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-id: 1417166789-1960-1-git-send-email-arei.gonglei@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agoMerge branch 'features/brillcodec_2i' into 'tizen_next' 82/31082/1
Kitae Kim [Mon, 1 Dec 2014 08:10:20 +0000 (17:10 +0900)]
Merge branch 'features/brillcodec_2i' into 'tizen_next'

Conflicts:
configure
package/changelog
package/pkginfo.manifest
target-i386/hax-all.c
tizen/src/Makefile
tizen/src/display/maru_display.c
tizen/src/display/maru_sdl.c
tizen/src/display/maru_shm.c
tizen/src/display/maru_shm.h
tizen/src/eventcast/encode_fb.c
tizen/src/eventcast/encode_fb.h
tizen/src/eventcast/touch.c
tizen/src/eventcast/touch.h
tizen/src/hw/pci/Makefile.objs
tizen/src/hw/pci/maru_brillcodec.c
tizen/src/hw/pci/maru_brillcodec.h
tizen/src/hw/pci/maru_brillcodec_device.c
tizen/src/tethering/Makefile.objs
tizen/src/tethering/common.c
tizen/src/util/new_debug_ch.c
tizen/src/util/osutil.h
vl.c

Change-Id: Iab1486003ec796882e52647d08518624db664cdc

9 years agocirrus: don't overflow CirrusVGAState->cirrus_bltbuf
Gerd Hoffmann [Wed, 19 Nov 2014 12:27:28 +0000 (13:27 +0100)]
cirrus: don't overflow CirrusVGAState->cirrus_bltbuf

This is CVE-2014-8106.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
9 years agocirrus: fix blit region check
Gerd Hoffmann [Wed, 19 Nov 2014 10:37:42 +0000 (11:37 +0100)]
cirrus: fix blit region check

Issues:
 * Doesn't check pitches correctly in case it is negative.
 * Doesn't check width at all.

Turn macro into functions while being at it, also factor out the check
for one region which we then can simply call twice for src + dst.

This is CVE-2014-8106.

Reported-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
9 years agocheck-hax: check ug feature on Windows and Mac OS X. 12/30912/4
Kitae Kim [Tue, 25 Nov 2014 09:49:28 +0000 (18:49 +0900)]
check-hax: check ug feature on Windows and Mac OS X.

emulator-manager will set default smp value depending on the result of checking ug feature.

Change-Id: Ie3a60f2675f1f34ae1727a7a5610fdbc7288bc3b
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agoMerge "emulator: detecting some error cases" into tizen_next
SeokYeon Hwang [Mon, 1 Dec 2014 01:38:27 +0000 (17:38 -0800)]
Merge "emulator: detecting some error cases" into tizen_next

9 years agoFix for crash after migration in virtio-rng on bi-endian targets
David Gibson [Thu, 27 Nov 2014 05:48:10 +0000 (16:48 +1100)]
Fix for crash after migration in virtio-rng on bi-endian targets

VirtIO devices now remember which endianness they're operating in in order
to support targets which may have guests of either endianness, such as
powerpc.  This endianness state is transferred in a subsection of the
virtio device's information.

With virtio-rng this can lead to an abort after a loadvm hitting the
assert() in virtio_is_big_endian().  This can be reproduced by doing a
migrate and load from file on a bi-endian target with a virtio-rng device.
The actual guest state isn't particularly important to triggering this.

The cause is that virtio_rng_load_device() calls virtio_rng_process() which
accesses the ring and thus needs the endianness.  However,
virtio_rng_process() is called via virtio_load() before it loads the
subsections.  Essentially the ->load callback in VirtioDeviceClass should
only be used for actually reading the device state from the stream, not for
post-load re-initialization.

This patch fixes the bug by moving the virtio_rng_process() after the call
to virtio_load().  Better yet would be to convert virtio to use vmsd and
have the virtio_rng_process() as a post_load callback, but that's a bigger
project for another day.

This is bugfix, and should be considered for the 2.2 branch.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
Message-id: 1417067290-20715-1-git-send-email-david@gibson.dropbear.id.au
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agovirtio-net: fix unmap leak
Jason Wang [Thu, 27 Nov 2014 10:04:03 +0000 (18:04 +0800)]
virtio-net: fix unmap leak

virtio_net_handle_ctrl() and other functions that process control vq
request call iov_discard_front() which will shorten the iov. This will
lead unmapping in virtqueue_push() leaks mapping.

Fixes this by keeping the original iov untouched and using a temp variable
in those functions.

Cc: Wen Congyang <wency@cn.fujitsu.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-id: 1417082643-23907-1-git-send-email-jasowang@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agohmp: fix regression of HMP device_del auto-completion
Marcel Apfelbaum [Wed, 26 Nov 2014 11:50:01 +0000 (13:50 +0200)]
hmp: fix regression of HMP device_del auto-completion

The commits:
 - 6a1fa9f5 (monitor: add del completion for peripheral device)
 - 66e56b13 (qdev: add qdev_build_hotpluggable_device_list helper)

cause a QEMU crash when trying to use HMP device_del auto-completion.
It can be easily reproduced by:
    <qemu-bin> -enable-kvm  ~/images/fedora.qcow2 -monitor stdio -device virtio-net-pci,id=vnet

    (qemu) device_del
    /home/mapfelba/git/upstream/qemu/hw/core/qdev.c:941:qdev_build_hotpluggable_device_list: Object 0x7f6ce04e4fe0 is not an instance of type device
    Aborted (core dumped)

The root cause is qdev_build_hotpluggable_device_list going recursively over
all peripherals and their children assuming all are devices. It doesn't work
since PCI devices have at least on child which is a memory region (bus master).

Solved by observing that all devices appear as direct children of
/machine/peripheral container. No need of going recursively
over all the children.

Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>
Reported-by: Gal Hammer <ghammer@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-id: 1417002601-20799-1-git-send-email-marcel.a@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agoqemu-timer: Avoid overflows when converting timeout to struct timespec
Peter Maydell [Tue, 25 Nov 2014 18:21:45 +0000 (18:21 +0000)]
qemu-timer: Avoid overflows when converting timeout to struct timespec

In qemu_poll_ns(), when we convert an int64_t nanosecond timeout into
a struct timespec, we may accidentally run into overflow problems if
the timeout is very long. This happens because the tv_sec field is a
time_t, which is signed, so we might end up setting it to a negative
value by mistake. This will result in what was intended to be a
near-infinite timeout turning into an instantaneous timeout, and we'll
busy loop. Cap the maximum timeout at INT32_MAX seconds (about 68 years)
to avoid this problem.

This specifically manifested on ARM hosts as an extreme slowdown on
guest shutdown (when the guest reprogrammed the PL031 RTC to not
generate alarms using a very long timeout) but could happen on other
hosts and guests too.

Reported-by: Christoffer Dall <christoffer.dall@linaro.org>
Cc: qemu-stable@nongnu.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Fam Zheng <famz@redhat.com>
Message-id: 1416939705-1272-1-git-send-email-peter.maydell@linaro.org

9 years agonet: Remove dns1 kernel append 14/30914/1
Munkyu Im [Thu, 27 Nov 2014 08:17:37 +0000 (17:17 +0900)]
net: Remove dns1 kernel append

It's not used.
SLIRP sets DNS as 10.0.2.3 when initailize.

Change-Id: I1be21e1b0842026b640b18c7d0e5fdff20d5090b
Signed-off-by: Munkyu Im <munkyu.im@samsung.com>
9 years agoemulator: detecting some error cases 09/30909/1
SeokYeon Hwang [Thu, 27 Nov 2014 06:25:18 +0000 (15:25 +0900)]
emulator: detecting some error cases

Detecting some error cases in profile conf file.
Quotes can be used in default value section from now.

Change-Id: Ib58676dcf1527b0e1d808aa079f25283b716b007
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
9 years agoMerge "util: fixed unused pointer value" into tizen_next
SeokYeon Hwang [Thu, 27 Nov 2014 04:52:14 +0000 (20:52 -0800)]
Merge "util: fixed unused pointer value" into tizen_next

9 years agoMerge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
Peter Maydell [Wed, 26 Nov 2014 12:18:00 +0000 (12:18 +0000)]
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

The final 2.2 patches from me.

# gpg: Signature made Wed 26 Nov 2014 11:12:25 GMT using RSA key ID 78C7AE83
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini/tags/for-upstream:
  s390x/kvm: Fix compile error
  fw_cfg: fix boot order bug when dynamically modified via QOM
  -machine vmport=auto: Fix handling of VMWare ioport emulation for xen

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agos390x/kvm: Fix compile error
Christian Borntraeger [Wed, 26 Nov 2014 10:07:24 +0000 (11:07 +0100)]
s390x/kvm: Fix compile error

commit a2b257d6212a "memory: expose alignment used for allocating RAM
as MemoryRegion API" triggered a compile error on KVM/s390x.

Fix the prototype and the implementation of legacy_s390_alloc.

Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9 years agofw_cfg: fix boot order bug when dynamically modified via QOM
Gonglei [Tue, 25 Nov 2014 04:38:19 +0000 (12:38 +0800)]
fw_cfg: fix boot order bug when dynamically modified via QOM

When we dynamically modify boot order, the length of
boot order will be changed, but we don't update
s->files->f[i].size with new length. This casuse
seabios read a wrong vale of qemu cfg file about
bootorder.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9 years ago-machine vmport=auto: Fix handling of VMWare ioport emulation for xen
Don Slutz [Fri, 21 Nov 2014 16:18:52 +0000 (11:18 -0500)]
-machine vmport=auto: Fix handling of VMWare ioport emulation for xen

c/s 9b23cfb76b3a5e9eb5cc899eaf2f46bc46d33ba4

or

c/s b154537ad07598377ebf98252fb7d2aff127983b

moved the testing of xen_enabled() from pc_init1() to
pc_machine_initfn().

xen_enabled() does not return the correct value in
pc_machine_initfn().

Changed vmport from a bool to an enum.  Added the value "auto" to do
the old way.  Move check of xen_enabled() back to pc_init1().

Acked-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Don Slutz <dslutz@verizon.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9 years agobrillcodec: apply struct base memory access for audio encoding 56/30556/4 features/brillcodec_2i
Kitae Kim [Thu, 20 Nov 2014 08:12:55 +0000 (17:12 +0900)]
brillcodec: apply struct base memory access for audio encoding

Struct base memory access for audio encoder is applied.
DataHandler for audio encoder is applied.

Change-Id: I66bc5cc3b464adaf10de389fd2c1a71b3a47d27f
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agoUpdate version for v2.2.0-rc3 release
Peter Maydell [Tue, 25 Nov 2014 18:23:54 +0000 (18:23 +0000)]
Update version for v2.2.0-rc3 release

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agoinput: move input-send-event into experimental namespace
Gerd Hoffmann [Tue, 25 Nov 2014 13:54:17 +0000 (14:54 +0100)]
input: move input-send-event into experimental namespace

Ongoing discussions on how we are going to specify the console,
so tag the command as experiental so we can refine things in
the 2.3 development cycle.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 1416923657-10614-1-git-send-email-armbru@redhat.com
[Spell out "not a stable API", and x- the QAPI schema, too]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Amos Kong <akong@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agoutil: fixed unused pointer value 50/30750/1
SeokYeon Hwang [Tue, 25 Nov 2014 04:27:18 +0000 (13:27 +0900)]
util: fixed unused pointer value

Fixed unused pointer value. It causes memory leak.

Change-Id: I28a3438c7a36b6bbf4b75db492a94300417b9632
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
9 years agohax: fix invalid printf format 46/30746/1
Kitae Kim [Tue, 25 Nov 2014 02:15:43 +0000 (11:15 +0900)]
hax: fix invalid printf format

Change-Id: Ife0eeb4929497a0e2179b4f45f0ce4031a7cc9a3
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agoMerge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
Peter Maydell [Mon, 24 Nov 2014 19:31:50 +0000 (19:31 +0000)]
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging

pc, pci, misc bugfixes

A bunch of bugfixes for 2.2.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
# gpg: Signature made Mon 24 Nov 2014 18:59:47 GMT using RSA key ID D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>"
# gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>"

* remotes/mst/tags/for_upstream:
  pc: acpi: mark all possible CPUs as enabled in SRAT
  pcie: fix improper use of negative value
  pcie: fix typo in pcie_cap_deverr_init()
  target-i386: move generic memory hotplug methods to DSDTs
  acpi-build: mark RAM dirty on table update
  hw/pci: fix crash on shpc error flow
  pc: count in 1Gb hugepage alignment when sizing hotplug-memory container
  pc: explicitly check maxmem limit when adding DIMM
  pc: pc-dimm: use backend alignment during address auto allocation
  pc: align DIMM's address/size by backend's alignment value
  memory: expose alignment used for allocating RAM as MemoryRegion API
  pc: limit DIMM address and size to page aligned values
  pc: make pc_dimm_plug() more readble
  pc: kvm: check if KVM has free memory slots to avoid abort()
  qemu-char: fix tcp_get_fds

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agopc: acpi: mark all possible CPUs as enabled in SRAT
Igor Mammedov [Mon, 10 Nov 2014 16:20:50 +0000 (16:20 +0000)]
pc: acpi: mark all possible CPUs as enabled in SRAT

If QEMU is started with  -numa ... Windows only notices that
CPU has been hot-added but it will not online such CPUs.

It's caused by the fact that possible CPUs are flagged as
not enabled in SRAT and Windows honoring that information
doesn't use corresponding CPU.

ACPI 5.0 Spec regarding to flag says:
"
Table 5-47 Local APIC Flags
...
Enabled: if zero, this processor is unusable, and the operating system
support will not attempt to use it.
"

Fix QEMU to adhere to spec and mark possible CPUs as enabled
in SRAT.

With that Windows onlines hot-added CPUs as expected.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agopcie: fix improper use of negative value
Gonglei [Thu, 20 Nov 2014 08:55:54 +0000 (16:55 +0800)]
pcie: fix improper use of negative value

Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agopcie: fix typo in pcie_cap_deverr_init()
Gonglei [Tue, 18 Nov 2014 02:47:57 +0000 (10:47 +0800)]
pcie: fix typo in pcie_cap_deverr_init()

Reported-by:
 https://bugs.launchpad.net/qemu/+bug/1393440

Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agotarget-i386: move generic memory hotplug methods to DSDTs
Paolo Bonzini [Wed, 15 Oct 2014 07:45:44 +0000 (09:45 +0200)]
target-i386: move generic memory hotplug methods to DSDTs

This makes it simpler to keep the SSDT byte-for-byte identical for a
given machine type, which is a goal we want to have for 2.2 and newer
types.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agoacpi-build: mark RAM dirty on table update
Michael S. Tsirkin [Mon, 17 Nov 2014 05:49:21 +0000 (07:49 +0200)]
acpi-build: mark RAM dirty on table update

acpi build modifies internal FW CFG RAM on first access
but we forgot to mark it dirty.
If this RAM has been migrated already, it won't be
migrated again, returning corrupted tables to guest.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agohw/pci: fix crash on shpc error flow
Marcel Apfelbaum [Wed, 5 Nov 2014 14:29:35 +0000 (16:29 +0200)]
hw/pci: fix crash on shpc error flow

If the pci bridge enters in error flow as part
of init process it will only delete the shpc mmio
subregion but not remove it from the properties list,
resulting in segmentation fault when the bridge runs
the exit function.

Example: add a pci bridge without specifing the chassis number:
    <qemu-bin> ... -device pci-bridge,id=p1
Result:
    (qemu) qemu-system-x86_64: -device pci-bridge,id=p1: Bridge chassis not specified. Each bridge is required to be assigned a unique chassis id > 0.
    qemu-system-x86_64: -device pci-bridge,id=p1: Device
    initialization failed.
    Segmentation fault (core dumped)

    if (child->class->unparent) {
    #0  0x00005555558d629b in object_finalize_child_property (obj=0x555556d2e830, name=0x555556d30630 "shpc-mmio[0]", opaque=0x555556a42fc8) at qom/object.c:1078
    #1  0x00005555558d4b1f in object_property_del_all (obj=0x555556d2e830) at qom/object.c:367
    #2  0x00005555558d4ca1 in object_finalize (data=0x555556d2e830) at qom/object.c:412
    #3  0x00005555558d55a1 in object_unref (obj=0x555556d2e830) at qom/object.c:720
    #4  0x000055555572c907 in qdev_device_add (opts=0x5555563544f0) at qdev-monitor.c:566
    #5  0x0000555555744f16 in device_init_func (opts=0x5555563544f0, opaque=0x0) at vl.c:2213
    #6  0x00005555559cf5f0 in qemu_opts_foreach (list=0x555555e0f8e0 <qemu_device_opts>, func=0x555555744efa <device_init_func>, opaque=0x0, abort_on_failure=1) at util/qemu-option.c:1057
    #7  0x000055555574a11b in main (argc=16, argv=0x7fffffffdde8, envp=0x7fffffffde70) at vl.c:423

Unparent the shpc mmio region as part of shpc cleanup.

Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Amos Kong <akong@redhat.com>
9 years agopc: count in 1Gb hugepage alignment when sizing hotplug-memory container
Igor Mammedov [Fri, 31 Oct 2014 16:38:42 +0000 (16:38 +0000)]
pc: count in 1Gb hugepage alignment when sizing hotplug-memory container

if DIMMs with different size/alignment are interleaved
in creation order, it could lead to hotplug-memory
container fragmentation and following inability to use
all RAM upto maxmem.
For example:
    -m 4G,slots=3,maxmem=7G
    -object memory-backend-file,id=mem-1,size=256M,mem-path=/pagesize-2MB
    -device pc-dimm,id=mem1,memdev=mem-1
    -object memory-backend-file,id=mem-2,size=1G,mem-path=/pagesize-1GB
    -device pc-dimm,id=mem2,memdev=mem-2
    -object memory-backend-file,id=mem-3,size=256M,mem-path=/pagesize-2MB
    -device pc-dimm,id=mem3,memdev=mem-3

fragments hotplug-memory container and doesn't allow
to use 1GB hugepage backend to consume remainig 1Gb.

To ease managment factor count in max 1Gb alignment for
each memory slot when sizing hotplug-memory region so
that regadless of fragmentaion it would be possible to
add max aligned DIMM.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agopc: explicitly check maxmem limit when adding DIMM
Igor Mammedov [Fri, 31 Oct 2014 16:38:41 +0000 (16:38 +0000)]
pc: explicitly check maxmem limit when adding DIMM

Currently maxmem limit is not checked and depends on
hotplug region container not being able to fit more RAM
than maxmem. Do check explicitly so that it would
be possible to change hotplug container size later
to deal with fragmentation.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agoMerge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Peter Maydell [Mon, 24 Nov 2014 15:01:54 +0000 (15:01 +0000)]
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging

Block patches for 2.2.0-rc3

# gpg: Signature made Mon 24 Nov 2014 12:52:23 GMT using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>"

* remotes/kevin/tags/for-upstream:
  Revert "qemu-img info: show nocow info"

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agoMerge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
Peter Maydell [Mon, 24 Nov 2014 13:50:22 +0000 (13:50 +0000)]
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

Three patches to fix ExtINT for the QEMU implementation of the local APIC.

# gpg: Signature made Mon 24 Nov 2014 13:38:36 GMT using RSA key ID 78C7AE83
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini/tags/for-upstream:
  apic: fix incorrect handling of ExtINT interrupts wrt processor priority
  apic: fix loss of IPI due to masked ExtINT
  apic: avoid getting out of halted state on masked PIC interrupts

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
9 years agoapic: fix incorrect handling of ExtINT interrupts wrt processor priority
Paolo Bonzini [Tue, 11 Nov 2014 12:14:18 +0000 (13:14 +0100)]
apic: fix incorrect handling of ExtINT interrupts wrt processor priority

This fixes another failure with ExtINT, demonstrated by QNX.  The failure
mode is as follows:
- IPI sent to cpu 0 (bit set in APIC irr)
- IPI accepted by cpu 0 (bit cleared in irr, set in isr)
- IPI sent to cpu 0 (bit set in both irr and isr)
- PIC interrupt sent to cpu 0

The PIC interrupt causes CPU_INTERRUPT_HARD to be set, but
apic_irq_pending observes that the highest pending APIC interrupt priority
(the IPI) is the same as the processor priority (since the IPI is still
being handled), so apic_get_interrupt returns a spurious interrupt rather
than the pending PIC interrupt. The result is an endless sequence of
spurious interrupts, since nothing will clear CPU_INTERRUPT_HARD.

Instead, ExtINT interrupts should have ignored the processor priority.
Calling apic_check_pic early in apic_get_interrupt ensures that
apic_deliver_pic_intr is called instead of delivering the spurious
interrupt.  apic_deliver_pic_intr then clears CPU_INTERRUPT_HARD if needed.

Reported-by: Richard Bilson <rbilson@qnx.com>
Tested-by: Richard Bilson <rbilson@qnx.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9 years agoapic: fix loss of IPI due to masked ExtINT
Paolo Bonzini [Tue, 11 Nov 2014 12:14:14 +0000 (13:14 +0100)]
apic: fix loss of IPI due to masked ExtINT

This patch fixes an obscure failure of the QNX kernel on QEMU x86 SMP.
In QNX, all hardware interrupts come via the PIC, and are delivered by
the cpu 0 LAPIC in ExtINT mode, while IPIs are delivered by the LAPIC
in fixed mode.

This bug happens as follows:
- cpu 0 masks a particular PIC interrupt
- IPI sent to cpu 0 (CPU_INTERRUPT_HARD is set)
- before the IPI is accepted, the masked interrupt line is asserted by the
device

Since the interrupt is masked, apic_deliver_pic_intr will clear
CPU_INTERRUPT_HARD. The IPI will still be set in the APIC irr, but since
CPU_INTERRUPT_HARD is not set the cpu will not notice. Depending on the
scenario this can cause a system hang, i.e. if cpu 0 is expected to unmask
the interrupt.

In order to fix this, do a full check of the APIC before an EXTINT
is acknowledged.  This can result in clearing CPU_INTERRUPT_HARD, but
can also result in delivering the lost IPI.

Reported-by: Richard Bilson <rbilson@qnx.com>
Tested-by: Richard Bilson <rbilson@qnx.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9 years agoapic: avoid getting out of halted state on masked PIC interrupts
Paolo Bonzini [Tue, 11 Nov 2014 12:14:05 +0000 (13:14 +0100)]
apic: avoid getting out of halted state on masked PIC interrupts

After the next patch, if a masked PIC interrupts causes CPU_INTERRUPT_POLL
to be set, the CPU will spuriously get out of halted state.  While this
is technically valid, we should avoid that.

Make CPU_INTERRUPT_POLL run apic_update_irq in the right thread and then
look at CPU_INTERRUPT_HARD.  If CPU_INTERRUPT_HARD does not get set,
do not report the CPU as having work.

Also move the handling of software-disabled APIC from apic_update_irq
to apic_irq_pending, and always trigger CPU_INTERRUPT_POLL.  This will
be important once we will add a case that resets CPU_INTERRUPT_HARD
from apic_update_irq.  We want to run it even if we go through
CPU_INTERRUPT_POLL, and even if the local APIC is software disabled.

Reported-by: Richard Bilson <rbilson@qnx.com>
Tested-by: Richard Bilson <rbilson@qnx.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9 years agoRevert "qemu-img info: show nocow info"
Kevin Wolf [Fri, 21 Nov 2014 16:43:57 +0000 (17:43 +0100)]
Revert "qemu-img info: show nocow info"

This reverts commit 000c4dfff4d7686e2fba3066a477a1290ed60622.

The main reason for reverting this commit before the 2.2 release is that
it adds a QAPI interface that we don't want to keep: The 'nocow' flag
doesn't generally make sense for block nodes, but only for the raw-posix
driver. It should therefore be part of ImageInfoSpecific rather than
ImageInfo.

The commit contains more problems, but unlike the API stability issue
they wouldn't justify reverting it.

Conflicts:
block/qapi.c

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
9 years agopackage: version up 00/30700/1
Kitae Kim [Mon, 24 Nov 2014 11:52:34 +0000 (20:52 +0900)]
package: version up

2.0.13

Change-Id: I90b43e4ec256a889914084b858b8144d9ae66cf2
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agohax: fix compliation errors 19/30619/3
Kitae Kim [Fri, 21 Nov 2014 09:46:26 +0000 (18:46 +0900)]
hax: fix compliation errors

Change-Id: I074afda02a8710c3efb301fc13759bd6801b768a
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
9 years agoMerge branch 'features/smp' into tizen_next 18/30618/3
Kitae Kim [Fri, 21 Nov 2014 06:52:51 +0000 (15:52 +0900)]
Merge branch 'features/smp' into tizen_next

Conflicts:
exec.c
target-i386/hax-all.c
target-i386/hax-darwin.c
target-i386/hax-windows.c
tizen/src/emulator.c
tizen/src/emulator.h
vl.c

Change-Id: Iba98ee338dc385c4d1129eed0c37e2a185b4d851

9 years agopc: pc-dimm: use backend alignment during address auto allocation
Igor Mammedov [Fri, 31 Oct 2014 16:38:40 +0000 (16:38 +0000)]
pc: pc-dimm: use backend alignment during address auto allocation

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agopc: align DIMM's address/size by backend's alignment value
Igor Mammedov [Fri, 31 Oct 2014 16:38:39 +0000 (16:38 +0000)]
pc: align DIMM's address/size by backend's alignment value

Performance wise it's better to align GVA by the backend's
page size.

Also do not allow to create DIMM device with suboptimal
size (i.e. not aligned to backends page size) to aviod
memory loss.

Do above only for 2.2 and newer machine types to avoid
breaking working configs with 2.1 machine type.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agomemory: expose alignment used for allocating RAM as MemoryRegion API
Igor Mammedov [Fri, 31 Oct 2014 16:38:37 +0000 (16:38 +0000)]
memory: expose alignment used for allocating RAM as MemoryRegion API

introduce memory_region_get_alignment() that returns
underlying memory block alignment or 0 if it's not
relevant/implemented for backend.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agopc: limit DIMM address and size to page aligned values
Igor Mammedov [Fri, 31 Oct 2014 16:38:36 +0000 (16:38 +0000)]
pc: limit DIMM address and size to page aligned values

When running in KVM mode, kvm_set_phys_mem() will silently
fail if registered MemoryRegion address/size is not page
aligned. Causing memory hotplug failure in guest.

Mapping non aligned MemoryRegion in TCG mode 'works', but
sane guest OS still expects page aligned memory module
and fails to initialize it if it's not aligned.

So do not allow non aligned (i.e. valid) address/size
values for DIMM to avoid either KVM failure or guest
issues caused by it.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agopc: make pc_dimm_plug() more readble
Igor Mammedov [Fri, 31 Oct 2014 16:38:35 +0000 (16:38 +0000)]
pc: make pc_dimm_plug() more readble

split addr initialization from declaration so that
later when new local vars are added property getter
wouldn't drift off of error check.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agopc: kvm: check if KVM has free memory slots to avoid abort()
Igor Mammedov [Fri, 31 Oct 2014 16:38:32 +0000 (16:38 +0000)]
pc: kvm: check if KVM has free memory slots to avoid abort()

When more memory devices are used than available
KVM memory slots, QEMU crashes with:

kvm_alloc_slot: no free slot available
Aborted (core dumped)

Fix this by checking that KVM has a free slot before
attempting to map memory in guest address space.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agoqemu-char: fix tcp_get_fds
Michael S. Tsirkin [Sun, 2 Nov 2014 16:48:32 +0000 (18:48 +0200)]
qemu-char: fix tcp_get_fds

tcp_get_fds API discards fds if there's more than 1 of these.

It's tricky to fix this without API changes in the generic case.

However, this API is only used by tests ATM, and tests know how
many fds they expect.

So let's not waste cycles trying to fix this properly:
simply assume at most 16 fds (tests use at most 8 now).
assert if some test tries to get more.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9 years agoMerge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into staging
Peter Maydell [Fri, 21 Nov 2014 14:15:37 +0000 (14:15 +0000)]
Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into staging

# gpg: Signature made Fri 21 Nov 2014 11:12:37 GMT using RSA key ID 81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
# gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>"

* remotes/stefanha/tags/net-pull-request:
  rtl8139: fix Pointer to local outside scope
  pcnet: fix Negative array index read
  net/socket: fix Uninitialized scalar variable
  net/slirp: fix memory leak

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>