684 Commits

Author SHA1 Message Date
openeuler-ci-bot
8d631c30d4
!475 spec: Update release version with !258 !259 !260 !261
From: @imxcc 
Reviewed-by: @Chuan-Zheng 
Signed-off-by: @Chuan-Zheng
2022-02-22 02:37:00 +00:00
Chen Qun
f015c41711 spec: Update release version with !258 !259 !260 !261
increase release verison by one

Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
2022-02-21 21:27:48 +08:00
Chen Qun
e5935b95b4 spec: Update patch and changelog with !261 【内存相关补丁】修复全平台编译报错 !261
i386/cpu: fix compile error in all target configure

Signed-off-by: Chen Qun<kuhn.chenqun@huawei.com>
2022-02-21 21:27:47 +08:00
Chen Qun
e975c57f4b i386/cpu: fix compile error in all target configure
When compile with `./configure && make -j`, there will be
error: "unknown type name `ram_addr_t`", fix the error by
adding compilation macro to control it.

Signed-off-by: Jiajie Li <lijiajie11@huawei.com>
2022-02-21 21:27:47 +08:00
Chen Qun
964fa717d2 spec: Update patch and changelog with !260 [6.2.0] support date property for pl031 !260
pl031: support rtc-timer property for pl031

Signed-off-by: Chen Qun<kuhn.chenqun@huawei.com>
2022-02-21 21:27:44 +08:00
Chen Qun
e717e64711 pl031: support rtc-timer property for pl031
This patch adds the rtc-timer property for pl031, we can get the
rtc time (UTC) through qmp command "qom-get date" with this property.

Signed-off-by: Haibin Wang <wanghaibin.wang@huawei.com>
Reviewed-by: Shannon Zhao <shanon.Zhaosl@gmail.com>
Reviewed-by: Ying Fang <fangying1@huawei.com>
Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
Signed-off-by: Jinhao Gao <gaojinhao@huawei.com>
2022-02-21 21:27:44 +08:00
Chen Qun
a9882cee2f spec: Update patch and changelog with !259 【6.2.0】修复一些编译错误 !259
target/arm: Fix some compile errors

Signed-off-by: Chen Qun<kuhn.chenqun@huawei.com>
2022-02-21 21:27:41 +08:00
Chen Qun
6217dd2335 target/arm: Fix some compile errors
fix compile errors like:
   "implicit declaration of function 'kvm_arm_cpu_feature_supported'";
   "undefined reference to 'kvm_arm_get_one_reg'"
   "undefined reference to 'kvm_arm_set_one_reg'"
   "'kvmval' may be used uninitialized"
   "'oldval' may be used uninitialized"

Signed-off-by: Dongxu Sun <sundongxu3@huawei.com>
2022-02-21 21:27:41 +08:00
Chen Qun
d17b97dfab spec: Update patch and changelog with !258 Revert "qmp: add command to query used memslots of vhost-net and vhost-user" !258
Revert "qmp: add command to query used memslots of vhost-net and vhost-user"

Signed-off-by: Chen Qun<kuhn.chenqun@huawei.com>
2022-02-21 21:27:38 +08:00
Chen Qun
4a729acbd9 Revert "qmp: add command to query used memslots of vhost-net and vhost-user"
This reverts commit 1545a60a8b78490c7dc8909b7012bca63dba63cd.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-21 21:27:38 +08:00
openeuler-ci-bot
8a922d7d62
!473 Update patch with openeuler !232
From: @imxcc 
Reviewed-by: @Chuan-Zheng 
Signed-off-by: @Chuan-Zheng
2022-02-18 01:05:28 +00:00
imxcc
a2ac6ebc08 Update patch with openeuler !232
Signed-off-by: imxcc <xingchaochao@huawei.com>
2022-02-18 00:02:15 +08:00
openeuler-ci-bot
96ca9ab909
!470 bios-tables-test: Update expected q35/SSDT.dimmpxm file and add BinDir
From: @imxcc 
Reviewed-by: @Chuan-Zheng 
Signed-off-by: @Chuan-Zheng
2022-02-17 14:37:25 +00:00
imxcc
5d850a73dd bios-tables-test: Update expected q35/SSDT.dimmpxm file and add BinDir
Signed-off-by: imxcc <xingchaochao@huawei.com>
2022-02-17 21:02:00 +08:00
openeuler-ci-bot
c17106acda
!468 feature: disable spice protocol
From: @aven6 
Reviewed-by: @imxcc 
Signed-off-by: @imxcc
2022-02-16 07:39:05 +00:00
liuxiangdong
b921459752 feature: disable spice protocol
disable spice protocol in openEuler 22.03 TLS
2022-02-15 18:15:36 +08:00
openeuler-ci-bot
572b6e4a11
!466 Automatically generate code patches with openeuler !253 !256
From: @kuhnchen18 
Reviewed-by: @imxcc 
Signed-off-by: @imxcc
2022-02-15 02:04:41 +00:00
Chen Qun
e6da89b037 spec: Update release version with !253 !256
increase release verison by one

Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
2022-02-14 21:27:28 +08:00
Chen Qun
577c75242c spec: Update patch and changelog with !256 【6.2.0】删除冗余的qemu_log !256
log: Delete redudant qemu_log

Signed-off-by: Chen Qun<kuhn.chenqun@huawei.com>
2022-02-14 21:27:26 +08:00
Chen Qun
bfd8d0ba28 log: Delete redudant qemu_log
Delete redudant qemu_log in qmp_dispatch()

Signed-off-by: Jingyi Wang <wangjingyi11@huawei.com>
2022-02-14 21:27:26 +08:00
Chen Qun
adf1254d98 spec: Update patch and changelog with !253 qemu-img: add qemu-img direct create !253
qemu-img: add qemu-img direct create

Signed-off-by: Chen Qun<kuhn.chenqun@huawei.com>
2022-02-14 21:27:23 +08:00
Chen Qun
db15ac13e3 qemu-img: add qemu-img direct create
Introdue buffer_size while creating raw file, then we
can controll the speed of direct write by:
    qemu-img create -t 'cache' -o buffer_size='num'

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-14 21:27:23 +08:00
openeuler-ci-bot
f2778f8422
!464 seabios: 空指针访问加固
From: @eillon 
Reviewed-by: @imxcc 
Signed-off-by: @imxcc
2022-02-14 10:09:35 +00:00
eillon
1ffa76e12e seabios: add check to avoid dereference NULL pointer 2022-02-14 15:47:43 +08:00
openeuler-ci-bot
a1e7270b44
!460 Automatically generate code patches with openeuler !248 !251 !249
From: @kuhnchen18 
Reviewed-by: @imxcc 
Signed-off-by: @imxcc
2022-02-12 15:25:36 +00:00
Chen Qun
d2aa08f0ea spec: Update release version with !248 !251 !249
increase release verison by one

Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
2022-02-12 22:05:53 +08:00
Chen Qun
4e80c26dd1 spec: Update patch and changelog with !249 [6.2.0] backport a qemu_irq bugfix !249
bugfix: irq: Avoid covering object refcount of qemu_irq

Signed-off-by: Chen Qun<kuhn.chenqun@huawei.com>
2022-02-12 22:05:51 +08:00
Chen Qun
ed0d5d9900 bugfix: irq: Avoid covering object refcount of qemu_irq
Avoid covering object refcount of qemu_irq, otherwise it may causes
memory leak.

Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
2022-02-12 22:05:51 +08:00
Chen Qun
ef1399086c spec: Update patch and changelog with !251 vhost-user/qemu-img/virtio_net/pci/scsi补丁回合 !251
virtio-scsi: bugfix: fix qemu crash for hotplug scsi disk with dataplane
virtio: net-tap: bugfix: del net client if net_init_tap_one failed
virtio: bugfix: clean up callback when del virtqueue
virtio-net: bugfix: do not delete netdev before virtio net
virtio-net: fix max vring buf size when set ring num
virtio: check descriptor numbers
virtio: bugfix: add rcu_read_lock when vring_avail_idx is called
virtio: print the guest virtio_net features that host does not support
virtio: bugfix: check the value of caches before accessing it
virtio-net: set the max of queue size to 4096
virtio-net: update the default and max of rx/tx_queue_size
vhost-user: add unregister_savevm when vhost-user cleanup
qemu-img: block: dont blk_make_zero if discard_zeroes false
vhost-user: Add support reconnect vhost-user socket
vhost-user: Set the acked_features to vm's featrue
vhost-user: add vhost_set_mem_table when vm load_setup at destination
vhost-user: add separate memslot counter for vhost-user
vhost-user: quit infinite loop while used memslots is more than the backend limit
qmp: add command to query used memslots of vhost-net and vhost-user
vhost-user-scsi: add support for SPDK hot upgrade
i6300esb watchdog: bugfix: Add a runstate transition

Signed-off-by: Chen Qun<kuhn.chenqun@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
f9eb73ee36 i6300esb watchdog: bugfix: Add a runstate transition
QEMU will abort() for the reasons now:

    invalid runstate transition: 'prelaunch' -> 'postmigrate'
    Aborted

This happens when:
  |<- watchdog timeout happened, then sets reset_requested to
  |   SHUTDOWN_CAUSE_GUEST_RESET;
  |<- hot-migration thread sets vm state to RUN_STATE_FINISH_MIGRATE
  |   before the last time of migration;
  |<- main thread gets the change of reset_requested and triggers
  |   reset, then sets vm state to RUN_STATE_PRELAUNCH;
  |<- hot-migration thread sets vm state to RUN_STATE_POSTMIGRATE.

Then 'prelaunch' -> 'postmigrate' runstate transition will happen.
It is legal so add this transition to runstate_transitions_def.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
661001507d vhost-user-scsi: add support for SPDK hot upgrade
In the hot upgrade scenario, the reconnection mechanism of qemu and SPDK after upgrade

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
e7e49174b6 qmp: add command to query used memslots of vhost-net and vhost-user
Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
256c634e00 vhost-user: quit infinite loop while used memslots is more than the backend limit
When used memslots is more than the backend limit,
the vhost-user netcard would attach fail and quit
infinite loop.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
fd063fea52 vhost-user: add separate memslot counter for vhost-user
Used_memslots is equal to dev->mem->nregions now, it is true for
vhost kernel, but not for vhost user, which uses the memory regions
that have file descriptor. In fact, not all of the memory regions
have file descriptor.
It is usefully in some scenarios, e.g. used_memslots is 8, and only
5 memory slots can be used by vhost user, it is failed to hot plug
a new memory RAM because vhost_has_free_slot just returned false,
but we can hot plug it safely in fact.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
a511fb6315 vhost-user: add vhost_set_mem_table when vm load_setup at destination
When migrate huge vm, packages lost are 90+.

During the load_setup of the destination vm, pass the
vm mem structure to ovs, the netcard could be enabled
when the migration finish state shifting.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
28b4990c0b vhost-user: Set the acked_features to vm's featrue
Fix the problem when vm restart, the ovs restart and lead to the net
unreachable. The soluation is set the acked_features to vm's featrue
just the same as guest virtio-net mod load.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
bf1af8b6b0 vhost-user: Add support reconnect vhost-user socket
Add support reconnect vhost-user socket, the reconnect time
is set to be 3 seconds.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
0bacf3442c qemu-img: block: dont blk_make_zero if discard_zeroes false
Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
0d77d0983c vhost-user: add unregister_savevm when vhost-user cleanup
Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
c915753094 virtio-net: update the default and max of rx/tx_queue_size
Set the max of tx_queue_size to 4096 even if the backends
are not vhost-user.

Set the default of rx/tx_queue_size to 2048 if the backends
are vhost-user, otherwise to 4096.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
848537b7e7 virtio-net: set the max of queue size to 4096
Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
d1e09cd4f9 virtio: bugfix: check the value of caches before accessing it
Vring caches may be NULL in check_vring_avail_num() if
virtio_reset() is called at the same time, such as when
the virtual machine starts.
So check it before accessing it in vring_avail_idx().

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
0abd993c9e virtio: print the guest virtio_net features that host does not support
Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
19907f6aa9 virtio: bugfix: add rcu_read_lock when vring_avail_idx is called
viring_avail_idx should be called within rcu_read_lock(),
or may get NULL caches in vring_get_region_caches() and
trigger assert().

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
cc154c66b8 virtio: check descriptor numbers
Check if the vring num is normal in virtio_save(), and add LOG
the vm push the wrong viring num down through writing IO Port.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
57b8818afb virtio-net: fix max vring buf size when set ring num
Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
fc9e9d2a47 virtio-net: bugfix: do not delete netdev before virtio net
For the vhost-user net-card, it is allow to delete its
network backend while the virtio-net device still exists.
However, when the status of the device changes in guest,
QEMU will check whether the network backend exists, otherwise
it will crash.
So do not allowed to delete the network backend directly
without delete virtio-net device.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
4e6ee93c13 virtio: bugfix: clean up callback when del virtqueue
We will access NULL pointer as follow:
1. Start a vm with multiqueue vhost-net
2. then we write VIRTIO_PCI_GUEST_FEATURES in PCI configuration to
   trigger multiqueue disable in this vm which will delete the virtqueue.
   In this step, the tx_bh is deleted but the callback virtio_net_handle_tx_bh
   still exist.
3. Finally, we write VIRTIO_PCI_QUEUE_NOTIFY in PCI configuration to
   notify the deleted virtqueue. In this way, virtio_net_handle_tx_bh
   will be called and qemu will be crashed.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
eb6e1ef21d virtio: net-tap: bugfix: del net client if net_init_tap_one failed
In net_init_tap_one(), if the net-tap initializes successful
but other actions failed during vhost-net hot-plugging, the
net-tap will remain in the net clients.causing next hot-plug
fails again.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00
Chen Qun
a09dab8d68 virtio-scsi: bugfix: fix qemu crash for hotplug scsi disk with dataplane
The vm will trigger a disk sweep operation after plugging
a controller who's io type is iothread.  If attach a scsi
disk immediately, the sg_inqury request in vm will trigger
the assert in virtio_scsi_ctx_check(), which is called by
virtio_scsi_handle_cmd_req_prepare().

Add judgment in virtio_scsi_handle_cmd_req_prepare() and
return IO Error directly if the device has not been
initialized.

Signed-off-by: Jinhua Cao <caojinhua1@huawei.com>
2022-02-12 22:05:46 +08:00