Commit Graph

83020 Commits

Author SHA1 Message Date
Paolo Bonzini
92ea027017 tests/docker, tests/vm: remove setuptools from images
Setuptools is not needed anymore by the bundled copy of meson,
remove it.

Suggested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-11-25 12:50:48 -05:00
Olaf Hering
8e84bf984a configure: remove python pkg_resources check
Since meson.git#0240d760c7699a059cc89e584363c6431cdd2b61 setuptools is not required anymore.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201124211925.4194-1-olaf@aepfle.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-11-25 12:49:40 -05:00
Gerd Hoffmann
6fc5183a65 qxl: fix segfault
Add missing sanity check.
Reproducer: run qemu with "-device qxl" but without "-spice ..."

Fixes: 0d9b90ce5c ("console: make QMP/HMP screendump run in coroutine")
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20201124122936.30588-1-kraxel@redhat.com
2020-11-25 12:33:21 +01:00
Peter Maydell
dd3d2340c4 Update version for v5.2.0-rc3 release
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-24 22:13:30 +00:00
Peter Maydell
1a6ab01d3f PCI host devaddr property fix for 5.2
-----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCAAyFiEEWjIv1avE09usz9GqKAeTb5hNxaYFAl+9IzAUHGVoYWJrb3N0
 QHJlZGhhdC5jb20ACgkQKAeTb5hNxaaqihAAuabU0FZ6Y9Fpt0CvfOrDb7pE2JPg
 JlvuSymXHB6RA/G29UqtszjVfEHvOgr0PsxooXRRbbG9Tr2S/KuiBP+x9qZiesVE
 3Pn5YRcAVz6NpY5ajPCnxqOFnVBGHkEysBi5rsVvhEtXfuDHc4Xc/OL4qDaC2WLP
 Ep8vS4SUlnCpTohchrZYV9GpbItBpTy+G+s/BEWSwixzml06LraE682+HBCQ+LiI
 d0AWSvIKmF/DMceg3ATNOcVkTikfvv7qxTOn0IWfxP+xCjRjMBrsG5SHdxJghFMB
 boFH3R9dIpbLGBRQaPdgzN8tmSU+w6N8ViFyX6a2dv3tGFVIgH4CxmQR/64hxM7w
 3b9nCr51jV03My8HwtqGoPNOm1HjNTXm0RbVn749kxVZdeO56C2uBZB5fp2CakrG
 xpR7rbM9DPk9pFcYB9N8CrpBA6C0CqP61KSPxSKnweSlbnBI2019AjAIWWchqALf
 mhMFGFiXfJMQQipXdI+szxmtzG90CVi0GKhZZixe/S7jT+6JFSokfYqpEMznC7lu
 +d88bJ/kHTQEKRYvD5bE8SSqevHlSASYMR7ZcHZVcWUCmPAxpRba+sM2tebF1Pp5
 iCaOGU3ZzrrBgNTDoNn1u4bnmtkNjiHJja57Rp1pX8ldG2lF8GYohYzkHcyvRbk0
 xK8t0XaQTMwAwS0=
 =pVMm
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/ehabkost/tags/machine-next-for-5.2-pull-request' into staging

PCI host devaddr property fix for 5.2

# gpg: Signature made Tue 24 Nov 2020 15:13:52 GMT
# gpg:                using RSA key 5A322FD5ABC4D3DBACCFD1AA2807936F984DC5A6
# gpg:                issuer "ehabkost@redhat.com"
# gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" [full]
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6

* remotes/ehabkost/tags/machine-next-for-5.2-pull-request:
  Revert "hw/core/qdev-properties: Use qemu_strtoul() in set_pci_host_devaddr()"

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-24 21:08:29 +00:00
Peter Maydell
c0e0a9b131 Patches for 5.2.0-rc3:
- qcow2: Fix corruption on write_zeroes with MAY_UNMAP
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEE3D3rFZqa+V09dFb+fwmycsiPL9YFAl+9F2gRHGt3b2xmQHJl
 ZGhhdC5jb20ACgkQfwmycsiPL9ZN2RAAsBd7Q+U3wMpq7RSqHz3/j8MV9kqWge1G
 KjYMQfGIzyxdu/qk5PEtr1nrjOzhJWc1sCfYY+HltfzZDEZtg1z51PBW+WyakLkT
 DWKjsFfZgALU2/dM8mX1o0SYVuqFZ8ccE3W0Z/3KeVyNl50oZFmC7GF33lWpD7Zm
 tGeSAregjNyGnLdp3//Rv11M52XUXzdg7eY4t3Hginw/VX9La4NU8LJ3LPykRw4f
 gg4VImzZLkNLlxW5Kx5wvD9q1SQkRewEZn5RPGuGShQpZU8QKoKyu1f4/t5aDKaI
 eVnLQh2UQY2wj8W3VRaf7qHeHN662JCGXA9oziSVA3FmQcDeOOzxq9onnLeZ+5Gk
 5fvn97iXdx5BTAZHutY6bhNt4Jf0DoYLO4yYD91VvjrpM6TOg7nUYFwo3/a4yr5+
 jfIalGPpOqKlmtb+/ZMbLWrO5iQouw+KnbUnMceoK8QifG6YQJtIqjtu0vCvkbQC
 edoCcEiWcm3ul1vhbnOp0m42qaui9DKN5jTWpFsthRiTU7BcSyiUeZYZmiSNL85k
 LOwSeKXXCNpVUqujUDHQ+aDVYOFdaFankdkFX+kqJ4jZEYbN1+2GZI9PXwRsW5KD
 rELvYNct26IUSaAEgCSfmS1tfxiCrWrqoIPk9Syll3oY/IG5kMhPLs/+eDYpNa0W
 zdE69VtLg+k=
 =chuO
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging

Patches for 5.2.0-rc3:

- qcow2: Fix corruption on write_zeroes with MAY_UNMAP

# gpg: Signature made Tue 24 Nov 2020 14:23:36 GMT
# gpg:                using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg:                issuer "kwolf@redhat.com"
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream:
  qcow2: Fix corruption on write_zeroes with MAY_UNMAP

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-24 17:40:00 +00:00
Peter Maydell
cef64a0b34 Mark "local" qtests as slow to avoid unwanted breakage of "make check"
with some configurations (eg. Fedora's Copr automatic build system).
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEtIKLr5QxQM7yo0kQcdTV5YIvc9YFAl+88koACgkQcdTV5YIv
 c9b7RA//fP+8Wl80zG/ya7G5C2teCoQhlCSfXAB4SpB5TQhV1m1/4ugd7ml7jpXc
 wyQD4REhqvUkQnIiSVeSDGKUkAoPThC8VY5AZmwAeRna4rC55mXn+JdP9B8AU5j5
 AgEhJm84yzgYKQGLdHhLjGRXfFm4uzmWN/Ma3OIs7aO9Wd371AySfMbJurxe2kKb
 tAUwmFW+0iLiXHqyFgZlcMrzIKQKN0MkwGzF+Vky6Nt0JR7OLObXnUwn02gok8eO
 d5vp+BpR2ecORZkJAJ7M/vifTzZ/FFLJxRQSOC7PNNT/S7q+kKeZHZlEo6Xo29Ji
 E09sodxU7GAuX4Xn7a+YdSME6bLdPRMuDhj0Cn9ql5MBB6kNfLQEWtLu8nBdpNHn
 ZOwL8RndeDuxx+Gu07KYQDdLDhL0nDKVusOVdWfMrl6234FNwLXIZaqLiMjim/7C
 0Sa9plSwlo/rSQPHdluh8tynPZJgDhM+FCdvBeaIGBN3p1FvM1YbVc0WuILfO+08
 8omEmoduC/N37PabOwfKPelMXyJyyxkmSAAbJkYbRtP/8LLGb9s/sg0uZ8FCiMaG
 bIDIl96tqyLPlQkS/0fPW2ribyLB9w7ZS+ptWvjXjoXAViE5v0241nTEhmaLpXjT
 Zow04oT3MOJdkXnrpvsSgGGqgUa4/BafHIbo6TYP0FlK3N3E1S0=
 =KESj
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/gkurz-gitlab/tags/9p-fix-2020-11-24' into staging

Mark "local" qtests as slow to avoid unwanted breakage of "make check"
with some configurations (eg. Fedora's Copr automatic build system).

# gpg: Signature made Tue 24 Nov 2020 11:45:14 GMT
# gpg:                using RSA key B4828BAF943140CEF2A3491071D4D5E5822F73D6
# gpg: Good signature from "Greg Kurz <groug@kaod.org>" [full]
# gpg:                 aka "Gregory Kurz <gregory.kurz@free.fr>" [full]
# gpg:                 aka "[jpeg image of size 3330]" [full]
# Primary key fingerprint: B482 8BAF 9431 40CE F2A3  4910 71D4 D5E5 822F 73D6

* remotes/gkurz-gitlab/tags/9p-fix-2020-11-24:
  tests/9pfs: Mark "local" tests as "slow"

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-24 15:50:11 +00:00
Michael S. Tsirkin
28afbc1f11 Revert "hw/core/qdev-properties: Use qemu_strtoul() in set_pci_host_devaddr()"
This reverts commit bccb20c49d as it
introduced a regression blocking bus addresses > 0x1f or higher.
Legal bus numbers go up to 0xff.

Fixes: bccb20c49d ("Use qemu_strtoul() in set_pci_host_devaddr()")
Reported-by: Klaus Herman <kherman@inbox.lv>
Reported-by: Geoffrey McRae <geoff@hostfission.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Message-Id: <20201120130409.956956-1-mst@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2020-11-24 10:06:54 -05:00
Peter Maydell
82d469e139 ppc patch queue for 2020-11-24
One final update for qemu-5.2, implementing an instruction that we
 already should have, given the ISA version we claim to support.  Sorry
 for the lateness, I've been on holiday.
 
 This isn't a regression, obviously, so if it misses qemu-5.2 it's not
 a disaster, but it would be nice to have.  The risk is low that it
 would break any existing instructions.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEdfRlhq5hpmzETofcbDjKyiDZs5IFAl+8nyUACgkQbDjKyiDZ
 s5IFqQ//RWK+sGqntwwwfJEgkLqol19CtlxZ4CdMSAitIHkJFjrI9ljxiJW/ZrQq
 rtM1x2/jYJfFf2B17QelRp4HNBtwlT5DhDBM/WdGX8ghczM3Y6cq8KItXFo9qEjY
 BFDT6Pts7Vw2+M6tEvvivxvP+Cy+DnqQZDDuFHvVHjvj3kPI895RiobzlZEfR1Uj
 RY0/EvyTpLV85LzprGvWKc5E82zg530Qv9kVvhucJa9BDKOa/9uMC7UY01tAvTy6
 Hdit2Jlpc98E6r7QUJqG/yIxDdCaVYlLHeHj/XHZ8+VUJgRvVSD9zYVMAEDXLLhn
 f+49g7crNbWplLLFBGC2jxSMvTDsSMFOazVce3N5DBPTkw+LA+qcT8xgXuD/3gLd
 49EjfUBavtqJ5mrmdC/5r8DH5lKCCBGxzmguwZUHChL03F3HJKRtZHeMeO45vlVp
 pMfOHZIuDD8+DXDAB+tbWQ9daHybPaxdjBMsTc+85wdKRM0FnEvBzTy6kdj06cMl
 iH+kfpapi6lOc467rAxQZBbOla5Aqdt+mhcKp7MGSyve/6ptYipRY9Lome37+GXT
 uftuXTRBkQQ4EF7g+htj/OPpDK5F4UPbg7ZJbEqpc/YTQ8GxJNvLSi2LRHgEQRt7
 DKN3zendMJb76c3yTFUJg7my9dQtViFdQ9mqxa/KW1CcgjDZScE=
 =ifIE
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/dg-gitlab/tags/ppc-for-5.2-20201124' into staging

ppc patch queue for 2020-11-24

One final update for qemu-5.2, implementing an instruction that we
already should have, given the ISA version we claim to support.  Sorry
for the lateness, I've been on holiday.

This isn't a regression, obviously, so if it misses qemu-5.2 it's not
a disaster, but it would be nice to have.  The risk is low that it
would break any existing instructions.

# gpg: Signature made Tue 24 Nov 2020 05:50:29 GMT
# gpg:                using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392
# gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full]
# gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full]
# gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" [full]
# gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>" [unknown]
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392

* remotes/dg-gitlab/tags/ppc-for-5.2-20201124:
  ppc/translate: Implement lxvwsx opcode

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-24 13:33:43 +00:00
Greg Kurz
558f5c42ef tests/9pfs: Mark "local" tests as "slow"
The "local" tests can fail on some automated build systems as
reported here:

https://lists.nongnu.org/archive/html/qemu-devel/2020-11/msg05510.html

This will need to be investigated and addressed later. Let's go for a
workaround in the meantime : mark the "local" tests as "slow" so that
they aren't executed with a simple "make check" like in the case above.

Reported-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Acked-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Message-Id: <160620382310.1423262.7364287092069513483.stgit@bahia.lan>
Signed-off-by: Greg Kurz <groug@kaod.org>
2020-11-24 12:44:25 +01:00
Peter Maydell
d536d9578e -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
 
 iQEcBAABAgAGBQJfvHK9AAoJEO8Ells5jWIR5V0H+wX5bciJyPlOm1H5y8xIewuO
 GagUisjouvPsGTyRDIfotvj9sjai4ebdpP7R9eC8ulGkSN/Zg2FoSRw2v6eTI/GT
 lAZ5s1ZGUyWFQWpSDuH3BU4x9czmhdutr8uej5Wp/Vt+hzGpm0VWnXKiwIy3a62/
 IsJrIBd6VkCzDkKaeY/41otoKDexmklKPgTB1QoHylNIX0O9mfRuhNWcysaf9Qt7
 dd0516aOMIb4LKJja3KlupvgWmFf0dXXpMiT5mfJ3sqLYvHCAmnnAIBKXcbg6WGg
 zI2uL3zL2sKoyePC1/RBCCOY9fzTltQcBQhxn1XXkbuhfvuCyHDqO1ic1aBmsgQ=
 =7hkd
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into staging

# gpg: Signature made Tue 24 Nov 2020 02:41:01 GMT
# gpg:                using RSA key EF04965B398D6211
# gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <jasowang@redhat.com>" [marginal]
# 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: 215D 46F4 8246 689E C77F  3562 EF04 965B 398D 6211

* remotes/jasowang/tags/net-pull-request:
  net: Use correct default-path macro for downscript
  tap: fix a memory leak
  net: purge queued rx packets on queue deletion
  net: do not exit on "netdev_add help" monitor command
  hw/net/e1000e: advance desc_offset in case of null descriptor

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-24 10:59:12 +00:00
Maxim Levitsky
c8bf9a9169 qcow2: Fix corruption on write_zeroes with MAY_UNMAP
Commit 205fa50750 ("qcow2: Add subcluster support to zero_in_l2_slice()")
introduced a subtle change to code in zero_in_l2_slice:

It swapped the order of

1. qcow2_cache_entry_mark_dirty(s->l2_table_cache, l2_slice);
2. set_l2_entry(s, l2_slice, l2_index + i, QCOW_OFLAG_ZERO);
3. qcow2_free_any_clusters(bs, old_offset, 1, QCOW2_DISCARD_REQUEST);

To

1. qcow2_cache_entry_mark_dirty(s->l2_table_cache, l2_slice);
2. qcow2_free_any_clusters(bs, old_offset, 1, QCOW2_DISCARD_REQUEST);
3. set_l2_entry(s, l2_slice, l2_index + i, QCOW_OFLAG_ZERO);

It seems harmless, however the call to qcow2_free_any_clusters can
trigger a cache flush which can mark the L2 table as clean, and
assuming that this was the last write to it, a stale version of it
will remain on the disk.

Now we have a valid L2 entry pointing to a freed cluster. Oops.

Fixes: 205fa50750 ("qcow2: Add subcluster support to zero_in_l2_slice()")
Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
[ kwolf: Fixed to restore the correct original order from before
  205fa50750; added comments like in discard_in_l2_slice(). ]
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20201124092815.39056-1-kwolf@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2020-11-24 11:29:41 +01:00
Keqian Zhu
9925990d01 net: Use correct default-path macro for downscript
Fixes: 63c4db4c2e (net: relocate paths to helpers and scripts)
Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2020-11-24 10:40:17 +08:00
yuanjungong
f012bec890 tap: fix a memory leak
Close fd before returning.

Buglink: https://bugs.launchpad.net/qemu/+bug/1904486

Signed-off-by: yuanjungong <ruc_gongyuanjun@163.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2020-11-24 10:40:17 +08:00
Yuri Benditovich
d2abc563e4 net: purge queued rx packets on queue deletion
https://bugzilla.redhat.com/show_bug.cgi?id=1829272
When deleting queue pair, purge pending RX packets if any.
Example of problematic flow:
1. Bring up q35 VM with tap (vhost off) and virtio-net or e1000e
2. Run ping flood to the VM NIC ( 1 ms interval)
3. Hot unplug the NIC device (device_del)
   During unplug process one or more packets come, the NIC
   can't receive, tap disables read_poll
4. Hot plug the device (device_add) with the same netdev
The tap stays with read_poll disabled and does not receive
any packets anymore (tap_send never triggered)

Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2020-11-24 10:40:17 +08:00
Paolo Bonzini
ad6f932fe8 net: do not exit on "netdev_add help" monitor command
"netdev_add help" is causing QEMU to exit because the code that
invokes show_netdevs is shared between CLI and HMP processing.
Move the check to the callers so that exit(0) remains only
in the CLI flow.

"netdev_add help" is not fixed by this patch; that is left for
later work.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2020-11-24 10:40:17 +08:00
Prasad J Pandit
c2cb511634 hw/net/e1000e: advance desc_offset in case of null descriptor
While receiving packets via e1000e_write_packet_to_guest() routine,
'desc_offset' is advanced only when RX descriptor is processed. And
RX descriptor is not processed if it has NULL buffer address.
This may lead to an infinite loop condition. Increament 'desc_offset'
to process next descriptor in the ring to avoid infinite loop.

Reported-by: Cheol-woo Myung <330cjfdn@gmail.com>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2020-11-24 10:40:17 +08:00
LemonBoy
afae37d98a ppc/translate: Implement lxvwsx opcode
Implement the "Load VSX Vector Word & Splat Indexed" opcode, introduced
in Power ISA v3.0.

Buglink: https://bugs.launchpad.net/qemu/+bug/1793608
Signed-off-by: Giuseppe Musacchio <thatlemon@gmail.com>
Message-Id: <d7d533e18c2bc10d924ee3e09907ff2b41fddb3a.1604912739.git.thatlemon@gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-11-24 11:34:18 +11:00
Peter Maydell
23895cbd82 VFIO update 2020-11-23
* Enable pre-copy dirty page tracking by default (Kirti Wankhede)
 
  * Mark migration as experimental (Alex Williamson)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.14 (GNU/Linux)
 
 iQIcBAABAgAGBQJfu+0iAAoJECObm247sIsii0wP/A5Vq0NnF8WilOrlo9uRTKN3
 HnCt1Ipb41MBz/pByIHxBJMoRmLVXOL6QmlhH1rKHtoBnwnQc7mh5Rtl6vHQnTrZ
 AYnLopINQKMpKKuIaPH3BMaOjqmepm64pM3tpE8l3EYr/4RUnolZTJF6wNNMg6/l
 PC6BpmxXt/YUb9Why/SyUEDciQHsIyLTehn/1SEdssg9HSwncYBXqfntipKUAbUD
 7n4THj0gmH1ymZkSaVqNCkuAdm1+BT37u7LrZxlGxNL/3sRNYynDN1QCSImRrRI0
 Fv9/lbA/n7HkwUIkk7aYfTO0jhqdUVEVjTm5TRkyQYw0Qp4W0cXv4qUZXLa+sI+K
 TIwYQzjew9npwTdtChNXBYHIEd8xRdaxXcUJgiDNzbQu02yCxuWLFJkDjQbKhH7W
 XCqvTMKPtQ4mAZDkYAsKM/1XJ7H0QgwSrWjTK/J1QKjM8CRN45VxlsuUfdCwnGep
 ajClAbBiuFkHc8HESHqWCFGuC6OGVnGLgo9g787NXIKTYi5O7nnUMwS57L6laF7B
 K/MG6wjG3V0qSNOcuiVfBccLJotdR+zYgXOfoMJpEVcFVWrjPrlLikLQk6IaTlSE
 2Zy4qT8YiyfEnMhQ2TLXypBiG4n6cTPsw6Jqx9zoO2Wr9m0D/d05o5Dvx/2VaQeL
 svaZ5O348LK1lHJsQvdX
 =Hmnj
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20201123.0' into staging

VFIO update 2020-11-23

 * Enable pre-copy dirty page tracking by default (Kirti Wankhede)

 * Mark migration as experimental (Alex Williamson)

# gpg: Signature made Mon 23 Nov 2020 17:10:58 GMT
# gpg:                using RSA key 239B9B6E3BB08B22
# gpg: Good signature from "Alex Williamson <alex.williamson@redhat.com>" [full]
# gpg:                 aka "Alex Williamson <alex@shazbot.org>" [full]
# gpg:                 aka "Alex Williamson <alwillia@redhat.com>" [full]
# gpg:                 aka "Alex Williamson <alex.l.williamson@gmail.com>" [full]
# Primary key fingerprint: 42F6 C04E 540B D1A9 9E7B  8A90 239B 9B6E 3BB0 8B22

* remotes/awilliam/tags/vfio-update-20201123.0:
  vfio: Change default dirty pages tracking behavior during migration
  vfio: Make migration support experimental

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 18:51:13 +00:00
Paolo Bonzini
8e242b3cb4 meson: use dependency() to find libjpeg
Prefer pkg-config to find_library because some installations of libjpeg
may place it outside the default search path.

Reported-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-11-23 13:34:02 -05:00
Kirti Wankhede
bb0990d174 vfio: Change default dirty pages tracking behavior during migration
By default dirty pages tracking is enabled during iterative phase
(pre-copy phase).
Added per device opt-out option 'x-pre-copy-dirty-page-tracking' to
disable dirty pages tracking during iterative phase. If the option
'x-pre-copy-dirty-page-tracking=off' is set for any VFIO device, dirty
pages tracking during iterative phase will be disabled.

Signed-off-by: Kirti Wankhede <kwankhede@nvidia.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2020-11-23 10:05:58 -07:00
Peter Maydell
fb764373ea * Two reboot fixes for the s390-ccw bios
-----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAl+7iOURHHRodXRoQHJl
 ZGhhdC5jb20ACgkQLtnXdP5wLbU9bg//Z12+bZspIobOTjEm/BKbgpnnogo8JOTl
 +YEmwnWFByq9YwUuiS5nyy0h3eBZlxR/TBeX+IFUOnnMGm+vCX9zZyUG9fd4gThz
 UEV3VoW6Llw+m3mukrC9X4cdZjQxPl1OJ3pq4S/kydXlciCWZqJ3/rG7ZWJyC/+B
 lNYPHSWmsNA4PHZ6FoQzg1blb+Ezhm7Vlz0gJw8f3mhLyDftFshEwKPTKkTmWB3L
 oOSh8tL6Qy0/kEz1HZyJfPnuef/r9T3iZ/uUiVS0as58Bi+LHg40k/K4Z3jl4nto
 RApqSge3xe1GbYzIKMi3BwNSis9kVGLmkWBvFuIOnFi+u5JY64wV6fBZ22TNL+G/
 UBfX+1+DBO3afrKlLcJBGrsJSCjmRidWkKGVAxsMlR/3mop1qVcaOYuNqoBeQMaB
 AQDaIm4v5HhEOZu7V1/pnKS9lqlCu72zHmD+PdFqPWO6h+gy0CPNPEltHzpOeBkq
 fydM60jxesjplOER/FDIWM2hznuzd/8MP6wrmGm3WMeKLJEw1K6/6Q4nuM6IaeKB
 av2d+S9P3Lo4BFN2pDO4Dxh3C/1aW1MHsStIT6ZD72eV6tf49r2wOrpVv65OjFoq
 kh6zpGeIxUXpEcFRQKyuDWg5MEGRqRqHuGhcI9nMlNWCn3LafquNXiV/p4mcrwOZ
 ybKpAWKBrWc=
 =Qmki
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2020-11-23' into staging

* Two reboot fixes for the s390-ccw bios

# gpg: Signature made Mon 23 Nov 2020 10:03:17 GMT
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* remotes/huth-gitlab/tags/pull-request-2020-11-23:
  pc-bios/s390: Update the s390-ccw bios binaries
  pc-bios: s390x: Clear out leftover S390EP string
  pc-bios: s390x: Ensure Read IPL memory is clean

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 17:04:10 +00:00
Alex Williamson
cf254988a5 vfio: Make migration support experimental
Support for migration of vfio devices is still in flux.  Developers
are attempting to add support for new devices and new architectures,
but none are yet readily available for validation.  We have concerns
whether we're transferring device resources at the right point in the
migration, whether we're guaranteeing that updates during pre-copy are
migrated, and whether we can provide bit-stream compatibility should
any of this change.  Even the question of whether devices should
participate in dirty page tracking during pre-copy seems contentious.
In short, migration support has not had enough soak time and it feels
premature to mark it as supported.

Create an experimental option such that we can continue to develop.

[Retaining previous acks/reviews for a previously identical code
 change with different specifics in the commit log.]

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2020-11-23 08:29:29 -07:00
Peter Maydell
272fa7491f target-arm queue:
* incorporate 'orphan' rST docs into manuals
  * linux-user/arm: Deliver SIGTRAP for UDF patterns used as breakpoints
  * target/arm: Make SYS_HEAPINFO work with RAM that doesn't start at 0
  * document raspi boards and tosa
  * docs/system: Deprecate raspi2/raspi3 machine aliases
  * docs/system/arm: Document OpenPOWER Witherspoon BMC model Front LEDs
  * MAINTAINERS: add lines for docs files for Arm boards
  * hw/intc: fix heap-buffer-overflow in rxicu_realize()
  * hw/arm: Fix bad print format specifiers
  * target/arm: fix stage 2 page-walks in 32-bit emulation
 -----BEGIN PGP SIGNATURE-----
 
 iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAl+7oAoZHHBldGVyLm1h
 eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3ro1D/0fpKWY+ysjrn+ZDpTUSKFp
 06/fyxCrIIWcqFGOeDKWCJXlXgmbMozjDZc9dYn0qR04Sj9DQvJNEgJq+cozt8+M
 Bkc1khc/3Tve1dfa45F5fg+rYIPsIaquIg2sE1EjHW9VFaUCgj/AZpcU0Gkvp0Fa
 ezdpzxh0SY5m8vOwQlDHqJaaIjgKB2Tpnx/cGCbtZlYU8J1hRCBvdailSPhDahk7
 Y27K7snUezwN3LXdw3KS7yV5hiRtDdRo0soHLltfZOpIOuKtRkmlN9OhAgolXlgK
 3lkIN2UFtOVIPizp7tB/aJ8AKYZlrAnDxDs3c7QwTiWANLEFSEiDpjBkGMTzHq3f
 DCOLx1UtbwSlxCbDcVkFPVDJ9Sh9+RaBNpYAtm2pbw7zR4NoeZzpJE00HIlLjokK
 juqRu6gCry1PwZ4RpGfpjMvNDU6YCYaVcF9KpeavzplYBEY9gNQZAc1udRdWx1iA
 7tWpdq5U3BC1gIovsVWqTgWqMqrMPhqJ9+/EhEGbe3pucgezZ+B5vBecgoXPXKfN
 KM5OkHiIXnYgPelfrYgoQr26F4NdgP7ANqjA0cfYEZgfmFQxYMIavQR35QHViu7t
 GJRVGKig9g55Qvwuhr1oupKM85vYn5wJVK15GXcygNeOLLaAm4S8LZx4q5XxnFbj
 Cj9Vho2hMbxwWrvjTvD5dA==
 =yzKV
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20201123' into staging

target-arm queue:
 * incorporate 'orphan' rST docs into manuals
 * linux-user/arm: Deliver SIGTRAP for UDF patterns used as breakpoints
 * target/arm: Make SYS_HEAPINFO work with RAM that doesn't start at 0
 * document raspi boards and tosa
 * docs/system: Deprecate raspi2/raspi3 machine aliases
 * docs/system/arm: Document OpenPOWER Witherspoon BMC model Front LEDs
 * MAINTAINERS: add lines for docs files for Arm boards
 * hw/intc: fix heap-buffer-overflow in rxicu_realize()
 * hw/arm: Fix bad print format specifiers
 * target/arm: fix stage 2 page-walks in 32-bit emulation

# gpg: Signature made Mon 23 Nov 2020 11:42:02 GMT
# gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:                issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [ultimate]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* remotes/pmaydell/tags/pull-target-arm-20201123: (24 commits)
  docs/system/pr-manager.rst: Fix minor docs nits
  docs: Split qemu-pr-helper documentation into tools manual
  docs: Move pr-manager.rst into the system manual
  docs: Move microvm.rst into the system manual
  docs: Split out 'pc' machine model docs into their own file
  docs/system/virtio-pmem.rst: Fix minor style issues
  docs: Move virtio-pmem.rst into the system manual
  docs: Move cpu-hotplug.rst into the system manual
  docs: Move virtio-net-failover.rst into the system manual
  linux-user/arm: Deliver SIGTRAP for UDF patterns used as breakpoints
  target/arm: Make SYS_HEAPINFO work with RAM that doesn't start at 0
  docs/system/arm: Document the Sharp Zaurus SL-6000
  docs/system/arm: Document OpenPOWER Witherspoon BMC model Front LEDs
  docs/system/arm: Document the various raspi boards
  docs/system: Deprecate raspi2/raspi3 machine aliases
  MAINTAINERS: Cover system/arm/sx1.rst with OMAP machines
  MAINTAINERS: Cover system/arm/sbsa.rst with SBSA-REF machine
  MAINTAINERS: Fix system/arm/orangepi.rst path
  MAINTAINERS: Cover system/arm/nuvoton.rst with Nuvoton NPCM7xx
  MAINTAINERS: Cover system/arm/aspeed.rst with ASPEED BMC machines
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 14:48:17 +00:00
Peter Maydell
683685e72d Pull request for 5.2
NVMe fixes to solve IOMMU issues on non-x86 and error message/tracing
 improvements. Elena Afanasova's ioeventfd fixes are also included.
 
 Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAl+ixjgACgkQnKSrs4Gr
 c8iZYgf+OB2eAGsdZO97fKh6VUUoRKa+BgWKuh37Cfpp3q+dLuIFMSKfU/UgprLc
 aowt6uTFfwudDV9KltUB2EiXIzpuf7JhMNOiDRkyEvYSj4KHRPsQmFCd35Nrjezy
 VvxSGafe2Z60Qnvcx+iGeMATSFX9YTcTZeHttC07v7dWn/yEK3b1hobcmjCcwWeR
 Ud8pjMyh5E2z/NpW8E669/byJf9iahx3LSQxSWt+9PVTPuftAB0Suu+m6svz1wvk
 sjVfIbtVWCp2BdGf5U6a2rEqF3+kIcFkfHp+MwgE0EdMz1wfjudaPl13a0C4DSun
 PSt9E+Ct5BTrDUvqCHvQDOaFiMZTPg==
 =Poyb
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/stefanha-gitlab/tags/block-pull-request' into staging

Pull request for 5.2

NVMe fixes to solve IOMMU issues on non-x86 and error message/tracing
improvements. Elena Afanasova's ioeventfd fixes are also included.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

# gpg: Signature made Wed 04 Nov 2020 15:18:16 GMT
# gpg:                using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
# gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* remotes/stefanha-gitlab/tags/block-pull-request: (33 commits)
  util/vfio-helpers: Assert offset is aligned to page size
  util/vfio-helpers: Convert vfio_dump_mapping to trace events
  util/vfio-helpers: Improve DMA trace events
  util/vfio-helpers: Trace where BARs are mapped
  util/vfio-helpers: Trace PCI BAR region info
  util/vfio-helpers: Trace PCI I/O config accesses
  util/vfio-helpers: Improve reporting unsupported IOMMU type
  block/nvme: Fix nvme_submit_command() on big-endian host
  block/nvme: Fix use of write-only doorbells page on Aarch64 arch
  block/nvme: Align iov's va and size on host page size
  block/nvme: Change size and alignment of prp_list_pages
  block/nvme: Change size and alignment of queue
  block/nvme: Change size and alignment of IDENTIFY response buffer
  block/nvme: Correct minimum device page size
  block/nvme: Set request_alignment at initialization
  block/nvme: Simplify nvme_cmd_sync()
  block/nvme: Simplify ADMIN queue access
  block/nvme: Correctly initialize Admin Queue Attributes
  block/nvme: Use definitions instead of magic values in add_io_queue()
  block/nvme: Introduce Completion Queue definitions
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 13:03:13 +00:00
Peter Maydell
6ab64cc2a5 Misc CI fixes:
- more helpful logic for git-pipeline-status
   - fix tempdir leak in avocado
   - move remaining x86 check-tcg to gitlab
   - add tracing headers to ubuntu2004 docker
   - move tracing backend tests to gitlab
   - bump up timeouts on cirrus MacOS
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAl+7h7oACgkQ+9DbCVqe
 KkSYdgf/YB8Md3O8ep8nRyZkITN0WFnkFyMibqpsVvJ+QD2Ew4besQ71o1cAn8WP
 QmFBKiXEEGjN4BayRoXxmZJS2HUKLejez9krSgpvdAdtBIlRFjqPdaqat8MgFbgo
 iXuJ/ARHPQSDx6IMzPA1BqRerjgLwGlU3gHIWl7GZHSq/D5HzEEEscvDV6cIwlHm
 n/q/XJuDec515PYd5xL2bnsj2mjt0rxLULz59mxrfy0YZnxy7A/C5ZkTDIjxZXuz
 6o79DlL5n7DIuZ0aJQAX2vM7ZEYG6ALKleFMF7u1sUjmQ+fFZSLTMyJDJ++uKRdV
 2czWmcSlE8MaLih8vZoQCqGa+Wfi4w==
 =kCfd
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/stsquad/tags/pull-for-5.2-rc3-231120-1' into staging

Misc CI fixes:

  - more helpful logic for git-pipeline-status
  - fix tempdir leak in avocado
  - move remaining x86 check-tcg to gitlab
  - add tracing headers to ubuntu2004 docker
  - move tracing backend tests to gitlab
  - bump up timeouts on cirrus MacOS

# gpg: Signature made Mon 23 Nov 2020 09:58:18 GMT
# gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44

* remotes/stsquad/tags/pull-for-5.2-rc3-231120-1:
  .cirrus.yml: bump timeout period for MacOS builds
  gitlab-ci: Move trace backend tests across to gitlab
  tests/docker: Install liblttng-ust-dev package in Ubuntu 20.04 image
  gitlab: move remaining x86 check-tcg targets to gitlab
  tests/avocado: clean-up socket directory after run
  tests: add prefixes to the bare mkdtemp calls
  scripts/ci: clean up default args logic a little

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 11:27:44 +00:00
Peter Maydell
c6ff78563a docs/system/pr-manager.rst: Fix minor docs nits
Fix a couple of nits in pr-manager.rst:
 * the title marker for the top level heading is overlength
 * stray capital 'R' in the middle of a sentence

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
2020-11-23 11:10:04 +00:00
Peter Maydell
773ee3f1ea docs: Split qemu-pr-helper documentation into tools manual
Split the documentation of the qemu-pr-helper binary into the tools
manual, and give it a manpage like our other standalone executables.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
2020-11-23 11:10:04 +00:00
Peter Maydell
0daf34fd3a docs: Move pr-manager.rst into the system manual
Move the pr-manager documentation into the system manual.
Some of it (the documentation of the pr-manager-helper tool)
should be in tools, but we will split it up after moving it.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
2020-11-23 11:10:04 +00:00
Peter Maydell
e8eee8d3d9 docs: Move microvm.rst into the system manual
Now that target-i386.rst has a place to list documentation of
machines other than the 'pc' machine, we have a place we can
move the microvm documentation to.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
2020-11-23 11:10:04 +00:00
Peter Maydell
7f0cff6e34 docs: Split out 'pc' machine model docs into their own file
Currently target-i386.rst includes the documentation of the 'pc'
machine model inline. Split it out into its own file, in a
similar way to target-i386.rst; this gives us a place to put
documentation of other i386 machine models, such as 'microvm'.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
2020-11-23 11:09:42 +00:00
Peter Maydell
c5d7cfdaac docs/system/virtio-pmem.rst: Fix minor style issues
The virtio-pmem documentation has some minor style issues we hadn't
noticed since we weren't rendering it in our docs:

 * Sphinx doesn't complain about overlong title-underlining the
   way it complains about too-short underlining, but it looks odd;
   make the underlines of section headers the right length

 * Indent of paragraphs makes them render as blockquotes;
   remove the indent so they just render as normal text

 * Leading 'o' isn't rst markup, so it just renders as a literal
   "o"; reformat as a subsection heading instead

 * "QEMU" in the document title and section headings are a bit
   odd and unnecessary since this is the QEMU manual; delete
   or rephrase them

 * There's no need to specify what QEMU version the device first
   appeared in.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Pankaj Gupta <pankaj.gupta@cloud.ionos.com>
2020-11-23 11:07:41 +00:00
Peter Maydell
71266bb4e9 docs: Move virtio-pmem.rst into the system manual
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
2020-11-23 11:07:41 +00:00
Peter Maydell
392d8e95c7 docs: Move cpu-hotplug.rst into the system manual
The cpu-hotplug.rst documentation is currently orphan and not
included in any manual; move it into the system manual.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
2020-11-23 11:07:41 +00:00
Peter Maydell
4faf359acc docs: Move virtio-net-failover.rst into the system manual
The virtio-net-failover documentation is currently orphan and
not included in any manual; move it into the system manual,
immediately following the general network emulation section.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
2020-11-23 11:07:41 +00:00
Peter Maydell
acebed948c linux-user/arm: Deliver SIGTRAP for UDF patterns used as breakpoints
The Linux kernel doesn't use the official bkpt insn for breakpoints;
instead it uses three instructions in the guaranteed-to-UNDEF space,
and generates SIGTRAP for these rather than the SIGILL that most
UNDEF insns generate:

https://elixir.bootlin.com/linux/v5.9.8/source/arch/arm/kernel/ptrace.c#L197

Make QEMU treat these insns specially too.  The main benefit of this
is that if you're running a debugger on a guest program that runs
into a GCC __builtin_trap() or LLVM "trap because execution should
never reach here" then you'll get the expected signal rather than a
SIGILL.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201117155634.6924-1-peter.maydell@linaro.org
2020-11-23 11:04:51 +00:00
Peter Maydell
6951595183 target/arm: Make SYS_HEAPINFO work with RAM that doesn't start at 0
The semihosting SYS_HEAPINFO call is supposed to return an array
of four guest addresses:
 * base of heap memory
 * limit of heap memory
 * base of stack memory
 * limit of stack memory

Some semihosting programs (including those compiled to use the
'newlib' embedded C library) use this call to work out where they
should initialize themselves to.

QEMU's implementation when in system emulation mode is very
simplistic: we say that the heap starts halfway into RAM and
continues to the end of RAM, and the stack starts at the top of RAM
and works down to the bottom.  Unfortunately the code assumes that
the base address of RAM is at address 0, so on boards like 'virt'
where this is not true the addresses returned will all be wrong and
the guest application will usually crash.

Conveniently since all Arm boards call arm_load_kernel() we have the
base address of the main RAM block in the arm_boot_info struct which
is accessible via the CPU object.  Use this to return sensible values
from SYS_HEAPINFO.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20201119092346.32356-1-peter.maydell@linaro.org
2020-11-23 11:03:27 +00:00
Philippe Mathieu-Daudé
75bf6e17f9 docs/system/arm: Document the Sharp Zaurus SL-6000
List the 'tosa' machine with the XScale-based PDAs models.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201120173953.2539469-5-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:53:18 +00:00
Philippe Mathieu-Daudé
12bff81b4d docs/system/arm: Document OpenPOWER Witherspoon BMC model Front LEDs
Document the 3 front LEDs modeled on the OpenPOWER Witherspoon BMC
(see commit 7cfbde5ea1 "hw/arm/aspeed: Add the 3 front LEDs drived
by the PCA9552 #1").

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201120173953.2539469-4-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:53:14 +00:00
Philippe Mathieu-Daudé
d9f2ac3de9 docs/system/arm: Document the various raspi boards
Document the following Raspberry Pi models:

 - raspi0               Raspberry Pi Zero (revision 1.2)
 - raspi1ap             Raspberry Pi A+ (revision 1.1)
 - raspi2b              Raspberry Pi 2B (revision 1.1)
 - raspi3ap             Raspberry Pi 3A+ (revision 1.0)
 - raspi3b              Raspberry Pi 3B (revision 1.2)

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201120173953.2539469-3-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:53:02 +00:00
Philippe Mathieu-Daudé
155e1c82ed docs/system: Deprecate raspi2/raspi3 machine aliases
Since commit aa35ec2213 ("hw/arm/raspi: Use more specific
machine names") the raspi2/raspi3 machines have been renamed
as raspi2b/raspi3b.

Note, rather than the raspi3b, the raspi3ap introduced in
commit 5be94252d3 ("hw/arm/raspi: Add the Raspberry Pi 3
model A+") is a closer match to what QEMU models, but only
provides 512 MB of RAM.

As more Raspberry Pi 2/3 models are emulated, in order
to avoid confusion, deprecate the raspi2/raspi3 machine
aliases.

ACKed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201120173953.2539469-2-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:52:12 +00:00
Philippe Mathieu-Daudé
66278f8aeb MAINTAINERS: Cover system/arm/sx1.rst with OMAP machines
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201120154545.2504625-7-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:51:17 +00:00
Philippe Mathieu-Daudé
9eeeb80ad4 MAINTAINERS: Cover system/arm/sbsa.rst with SBSA-REF machine
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201120154545.2504625-6-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:51:13 +00:00
Philippe Mathieu-Daudé
c67d732c39 MAINTAINERS: Fix system/arm/orangepi.rst path
Fixes: 0553ef4257 ("docs: add Orange Pi PC document")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Niek Linnenbank <nieklinnenbank@gmail.com>
Message-id: 20201120154545.2504625-5-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:51:06 +00:00
Philippe Mathieu-Daudé
7170311674 MAINTAINERS: Cover system/arm/nuvoton.rst with Nuvoton NPCM7xx
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201120154545.2504625-4-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:50:59 +00:00
Philippe Mathieu-Daudé
de8ee7d47c MAINTAINERS: Cover system/arm/aspeed.rst with ASPEED BMC machines
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-id: 20201120154545.2504625-3-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:50:52 +00:00
Philippe Mathieu-Daudé
6e84a91477 MAINTAINERS: Cover system/arm/cpu-features.rst with ARM TCG CPUs
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201120154545.2504625-2-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:48:44 +00:00
Chen Qun
57bdec5c46 hw/intc: fix heap-buffer-overflow in rxicu_realize()
When 'j = icu->nr_sense – 1', the 'j < icu->nr_sense' condition is true,
then 'j = icu->nr_sense', the'icu->init_sense[j]' has out-of-bounds access.

The asan showed stack:
ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000004d7d at pc 0x55852cd26a76 bp 0x7ffe39f26200 sp 0x7ffe39f261f0
READ of size 1 at 0x604000004d7d thread T0
    #0 0x55852cd26a75 in rxicu_realize ../hw/intc/rx_icu.c:311
    #1 0x55852cf075f7 in device_set_realized ../hw/core/qdev.c:886
    #2 0x55852cd4a32f in property_set_bool ../qom/object.c:2251
    #3 0x55852cd4f9bb in object_property_set ../qom/object.c:1398
    #4 0x55852cd54f3f in object_property_set_qobject ../qom/qom-qobject.c:28
    #5 0x55852cd4fc3f in object_property_set_bool ../qom/object.c:1465
    #6 0x55852cbf0b27 in register_icu ../hw/rx/rx62n.c:156
    #7 0x55852cbf12a6 in rx62n_realize ../hw/rx/rx62n.c:261
    #8 0x55852cf075f7 in device_set_realized ../hw/core/qdev.c:886
    #9 0x55852cd4a32f in property_set_bool ../qom/object.c:2251
    #10 0x55852cd4f9bb in object_property_set ../qom/object.c:1398
    #11 0x55852cd54f3f in object_property_set_qobject ../qom/qom-qobject.c:28
    #12 0x55852cd4fc3f in object_property_set_bool ../qom/object.c:1465
    #13 0x55852cbf1a85 in rx_gdbsim_init ../hw/rx/rx-gdbsim.c:109
    #14 0x55852cd22de0 in qemu_init ../softmmu/vl.c:4380
    #15 0x55852ca57088 in main ../softmmu/main.c:49
    #16 0x7feefafa5d42 in __libc_start_main (/lib64/libc.so.6+0x26d42)

Add the 'ice->src[i].sense' initialize to the default value, and then
process init_sense array to identify which irqs should be level-triggered.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20201111141733.2358800-1-kuhn.chenqun@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:41:58 +00:00
AlexChen
98554b3b56 hw/arm: Fix bad print format specifiers
We should use printf format specifier "%u" instead of "%i" for
argument of type "unsigned int".

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
Message-id: 5F9FD78B.8000300@huawei.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:41:58 +00:00
Rémi Denis-Courmont
98e8779770 target/arm: fix stage 2 page-walks in 32-bit emulation
Using a target unsigned long would limit the Input Address to a LPAE
page-walk to 32 bits on AArch32 and 64 bits on AArch64. This is okay
for stage 1 or on AArch64, but it is insufficient for stage 2 on
AArch32. In that later case, the Input Address can have up to 40 bits.

Signed-off-by: Rémi Denis-Courmont <remi.denis.courmont@huawei.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201118150414.18360-1-remi@remlab.net
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-23 10:41:58 +00:00