Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: 1ea6c48d2da5f1115e8841199a706f96645287f5
https://github.com/qemu/qemu/commit/1ea6c48d2da5f1115e8841199a706f96645287f5
Author: Bibo Mao <[email protected]>
Date: 2024-09-29 (Sun, 29 Sep 2024)
Changed paths:
M hw/acpi/generic_event_device.c
M include/hw/acpi/generic_event_device.h
Log Message:
-----------
acpi: ged: Add macro for acpi sleep control register
Macro definition is added for acpi sleep control register, ged emulation
driver can use the macro , also it can be used in FDT table if ged is
exposed with FDT table.
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Igor Mammedov <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Song Gao <[email protected]>
Commit: 1da18a36e651d2d4350b0ab9bceca6633e64b31b
https://github.com/qemu/qemu/commit/1da18a36e651d2d4350b0ab9bceca6633e64b31b
Author: Bibo Mao <[email protected]>
Date: 2024-09-29 (Sun, 29 Sep 2024)
Changed paths:
M hw/loongarch/virt.c
Log Message:
-----------
hw/loongarch/virt: Add FDT table support with acpi ged pm register
ACPI ged is used for power management on LoongArch virt platform, in
general it is parsed from acpi table. However if system boot directly from
elf kernel, no UEFI bios is provided and acpi table cannot be used also.
Here acpi ged pm register is exposed with FDT table, it is compatbile
with syscon method in FDT table, only that acpi ged pm register is accessed
with 8-bit mode, rather with 32-bit mode.
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Song Gao <[email protected]>
Tested-by: Song Gao <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Song Gao <[email protected]>
Commit: 96d6c163372085b63c0c8ffae4e0dc5973998e50
https://github.com/qemu/qemu/commit/96d6c163372085b63c0c8ffae4e0dc5973998e50
Author: Jiaxun Yang <[email protected]>
Date: 2024-09-29 (Sun, 29 Sep 2024)
Changed paths:
M hw/loongarch/boot.c
M include/hw/loongarch/boot.h
Log Message:
-----------
hw/loongarch/boot: Refactor EFI booting protocol generation
Refector EFI style booting data structure generation to
support 32bit EFI variant on LoongArch32 CPU.
All data structs are filled with padding members if necessary
and marked as QEMU_PACKED to avoid host ABI alignment impact.
Host endian is being cared as well.
It also fixed various problems in old implementation such
as null pointer on empty string, memory desc map_size not set,
incorrect memory map definition and so on.
Signed-off-by: Jiaxun Yang <[email protected]>
Reviewed-by: Song Gao <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Song Gao <[email protected]>
Commit: 0cdc5f26df57ccfde14dbcc0eb9e706ae2a75442
https://github.com/qemu/qemu/commit/0cdc5f26df57ccfde14dbcc0eb9e706ae2a75442
Author: Jiaxun Yang <[email protected]>
Date: 2024-09-29 (Sun, 29 Sep 2024)
Changed paths:
M hw/loongarch/boot.c
Log Message:
-----------
hw/loongarch/boot: Rework boot code generation
Use stl_p to write instructions so that host endian conversion
will be performed.
Replace mailbox read/write on LoongArch32 systems with 32bit IOCSR
instructions to prevent illegal instructions.
Signed-off-by: Jiaxun Yang <[email protected]>
Reviewed-by: Song Gao <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Song Gao <[email protected]>
Commit: 9506683515e7ee58448753ea77496c69d3cafde9
https://github.com/qemu/qemu/commit/9506683515e7ee58448753ea77496c69d3cafde9
Author: Bibo Mao <[email protected]>
Date: 2024-09-29 (Sun, 29 Sep 2024)
Changed paths:
M target/loongarch/arch_dump.c
Log Message:
-----------
target/loongarch: Avoid bits shift exceeding width of bool type
Variable env->cf[i] is defined as bool type, it is treated as int type
with shift operation. However the max possible width is 56 for the shift
operation, exceeding the width of int type. And there is existing api
read_fcc() which is converted to u64 type with bitwise shift, it can be
used to dump fp registers into coredump note segment.
Resolves: Coverity CID 1561133
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Song Gao <[email protected]>
Commit: 3bc353d626be187cfab309fd8407b0f0f90e0212
https://github.com/qemu/qemu/commit/3bc353d626be187cfab309fd8407b0f0f90e0212
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2024-09-29 (Sun, 29 Sep 2024)
Changed paths:
M include/hw/loongarch/virt.h
Log Message:
-----------
hw/loongarch/virt: Remove unnecessary 'cpu.h' inclusion
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Song Gao <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Song Gao <[email protected]>
Commit: f7c8ef7bad7495d8c84b262a8b243efe39e56b13
https://github.com/qemu/qemu/commit/f7c8ef7bad7495d8c84b262a8b243efe39e56b13
Author: Philippe Mathieu-Daudé <[email protected]>
Date: 2024-09-29 (Sun, 29 Sep 2024)
Changed paths:
M hw/loongarch/meson.build
Log Message:
-----------
hw/loongarch/fw_cfg: Build in common_ss[]
Nothing in LoongArch fw_cfg.c requires target specific definitions.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Song Gao <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Song Gao <[email protected]>
Commit: 9484ad6c17a735284d4ff75ed3140ded9e0065fd
https://github.com/qemu/qemu/commit/9484ad6c17a735284d4ff75ed3140ded9e0065fd
Author: Fiona Ebner <[email protected]>
Date: 2024-09-30 (Mon, 30 Sep 2024)
Changed paths:
M block/block-copy.c
M block/copy-before-write.c
M include/block/block-copy.h
M qapi/block-core.json
Log Message:
-----------
copy-before-write: allow specifying minimum cluster size
In the context of backup fleecing, discarding the source will not work
when the fleecing image has a larger granularity than the one used for
block-copy operations (can happen if the backup target has smaller
cluster size), because cbw_co_pdiscard_snapshot() will align down the
discard requests and thus effectively ignore then.
To make @discard-source work in such a scenario, allow specifying the
minimum cluster size used for block-copy operations and thus in
particular also the granularity for discard requests to the source.
The type 'size' (corresponding to uint64_t in C) is used in QAPI to
rule out negative inputs and for consistency with already existing
@cluster-size parameters. Since block_copy_calculate_cluster_size()
uses int64_t for its result, a check that the input is not too large
is added in block_copy_state_new() before calling it. The calculation
in block_copy_calculate_cluster_size() is done in the target int64_t
type.
Suggested-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Acked-by: Markus Armbruster <[email protected]> (QAPI schema)
Signed-off-by: Fiona Ebner <[email protected]>
Message-Id: <[email protected]>
[vsementsov: switch version to 9.2 in QAPI doc]
Reviewed-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Commit: 6252deb244b2d60d03545c17eec548a43eb3aefa
https://github.com/qemu/qemu/commit/6252deb244b2d60d03545c17eec548a43eb3aefa
Author: Fiona Ebner <[email protected]>
Date: 2024-09-30 (Mon, 30 Sep 2024)
Changed paths:
M block/backup.c
M block/copy-before-write.c
M block/copy-before-write.h
M blockdev.c
M qapi/block-core.json
Log Message:
-----------
backup: add minimum cluster size to performance options
In the context of backup fleecing, discarding the source will not work
when the fleecing image has a larger granularity than the one used for
block-copy operations (can happen if the backup target has smaller
cluster size), because cbw_co_pdiscard_snapshot() will align down the
discard requests and thus effectively ignore then.
To make @discard-source work in such a scenario, allow specifying the
minimum cluster size used for block-copy operations and thus in
particular also the granularity for discard requests to the source.
Suggested-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Acked-by: Markus Armbruster <[email protected]> (QAPI schema)
Signed-off-by: Fiona Ebner <[email protected]>
Message-Id: <[email protected]>
[vsementsov: switch version to 9.2 in QAPI doc]
Reviewed-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Commit: 6475155d519209c80fdda53e05130365aa769838
https://github.com/qemu/qemu/commit/6475155d519209c80fdda53e05130365aa769838
Author: Fiona Ebner <[email protected]>
Date: 2024-09-30 (Mon, 30 Sep 2024)
Changed paths:
M block/copy-before-write.c
M block/reqlist.c
Log Message:
-----------
block/reqlist: allow adding overlapping requests
Allow overlapping request by removing the assert that made it
impossible. There are only two callers:
1. block_copy_task_create()
It already asserts the very same condition before calling
reqlist_init_req().
2. cbw_snapshot_read_lock()
There is no need to have read requests be non-overlapping in
copy-before-write when used for snapshot-access. In fact, there was no
protection against two callers of cbw_snapshot_read_lock() calling
reqlist_init_req() with overlapping ranges and this could lead to an
assertion failure [1].
In particular, with the reproducer script below [0], two
cbw_co_snapshot_block_status() callers could race, with the second
calling reqlist_init_req() before the first one finishes and removes
its conflicting request.
[0]:
> #!/bin/bash -e
> dd if=/dev/urandom of=/tmp/disk.raw bs=1M count=1024
> ./qemu-img create /tmp/fleecing.raw -f raw 1G
> (
> ./qemu-system-x86_64 --qmp stdio \
> --blockdev raw,node-name=node0,file.driver=file,file.filename=/tmp/disk.raw \
> --blockdev
> raw,node-name=node1,file.driver=file,file.filename=/tmp/fleecing.raw \
> <<EOF
> {"execute": "qmp_capabilities"}
> {"execute": "blockdev-add", "arguments": { "driver": "copy-before-write",
> "file": "node0", "target": "node1", "node-name": "node3" } }
> {"execute": "blockdev-add", "arguments": { "driver": "snapshot-access",
> "file": "node3", "node-name": "snap0" } }
> {"execute": "nbd-server-start", "arguments": {"addr": { "type": "unix",
> "data": { "path": "/tmp/nbd.socket" } } } }
> {"execute": "block-export-add", "arguments": {"id": "exp0", "node-name":
> "snap0", "type": "nbd", "name": "exp0"}}
> EOF
> ) &
> sleep 5
> while true; do
> ./qemu-nbd -d /dev/nbd0
> ./qemu-nbd -c /dev/nbd0 nbd:unix:/tmp/nbd.socket:exportname=exp0 -f raw -r
> nbdinfo --map 'nbd+unix:///exp0?socket=/tmp/nbd.socket'
> done
[1]:
> #5 0x000071e5f0088eb2 in __GI___assert_fail (...) at ./assert/assert.c:101
> #6 0x0000615285438017 in reqlist_init_req (...) at ../block/reqlist.c:23
> #7 0x00006152853e2d98 in cbw_snapshot_read_lock (...) at
> ../block/copy-before-write.c:237
> #8 0x00006152853e3068 in cbw_co_snapshot_block_status (...) at
> ../block/copy-before-write.c:304
> #9 0x00006152853f4d22 in bdrv_co_snapshot_block_status (...) at
> ../block/io.c:3726
> #10 0x000061528543a63e in snapshot_access_co_block_status (...) at
> ../block/snapshot-access.c:48
> #11 0x00006152853f1a0a in bdrv_co_do_block_status (...) at ../block/io.c:2474
> #12 0x00006152853f2016 in bdrv_co_common_block_status_above (...) at
> ../block/io.c:2652
> #13 0x00006152853f22cf in bdrv_co_block_status_above (...) at
> ../block/io.c:2732
> #14 0x00006152853d9a86 in blk_co_block_status_above (...) at
> ../block/block-backend.c:1473
> #15 0x000061528538da6c in blockstatus_to_extents (...) at ../nbd/server.c:2374
> #16 0x000061528538deb1 in nbd_co_send_block_status (...) at
> ../nbd/server.c:2481
> #17 0x000061528538f424 in nbd_handle_request (...) at ../nbd/server.c:2978
> #18 0x000061528538f906 in nbd_trip (...) at ../nbd/server.c:3121
> #19 0x00006152855a7caf in coroutine_trampoline (...) at
> ../util/coroutine-ucontext.c:175
Cc: [email protected]
Suggested-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Signed-off-by: Fiona Ebner <[email protected]>
Message-Id: <[email protected]>
Reviewed-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Commit: e84af3eb727d2c6de00693c48fbec1d6e68fbf9a
https://github.com/qemu/qemu/commit/e84af3eb727d2c6de00693c48fbec1d6e68fbf9a
Author: Dr. David Alan Gilbert <[email protected]>
Date: 2024-09-30 (Mon, 30 Sep 2024)
Changed paths:
M block/aio_task.c
M include/block/aio_task.h
Log Message:
-----------
block: Remove unused aio_task_pool_empty
aio_task_pool_empty has been unused since it was added in
6e9b225f73 ("block: introduce aio task pool")
Remove it.
Signed-off-by: Dr. David Alan Gilbert <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Commit: b74987cd3bf9bd4bf452ed371d864cbd1dccb08e
https://github.com/qemu/qemu/commit/b74987cd3bf9bd4bf452ed371d864cbd1dccb08e
Author: Dr. David Alan Gilbert <[email protected]>
Date: 2024-09-30 (Mon, 30 Sep 2024)
Changed paths:
M include/qemu/co-shared-resource.h
M util/qemu-co-shared-resource.c
Log Message:
-----------
util/co-shared-resource: Remove unused co_try_get_from_shres
co_try_get_from_shres hasn't been used since it was added in
55fa54a789 ("co-shared-resource: protect with a mutex")
(Everyone uses the _locked version)
Remove it.
Signed-off-by: Dr. David Alan Gilbert <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Commit: 96abb81acbb5841a8789278c948a187143381395
https://github.com/qemu/qemu/commit/96abb81acbb5841a8789278c948a187143381395
Author: Peter Maydell <[email protected]>
Date: 2024-09-30 (Mon, 30 Sep 2024)
Changed paths:
M hw/acpi/generic_event_device.c
M hw/loongarch/boot.c
M hw/loongarch/meson.build
M hw/loongarch/virt.c
M include/hw/acpi/generic_event_device.h
M include/hw/loongarch/boot.h
M include/hw/loongarch/virt.h
M target/loongarch/arch_dump.c
Log Message:
-----------
Merge tag 'pull-loongarch-20240929' of https://gitlab.com/gaosong/qemu into
staging
pull-loongarch-20240929
# -----BEGIN PGP SIGNATURE-----
#
# iLMEAAEKAB0WIQS4/x2g0v3LLaCcbCxAov/yOSY+3wUCZvkO4AAKCRBAov/yOSY+
# 35aTA/sEEt6SLBcbneKmK+0BJRZlqJtUVd0kI/isVapIw3aB6oBHLszJIoXA8PxY
# RBSfDtNHXcL0DfDC6fDk6h5m1nd5sUDJjBo76/ZTHQembjWrEVb2OFnyiDFR5Tfs
# ht4e/3AXJnWyGNSfHPAxnK2T2/b5T01X9/1r/N2X2PkxdY2qnw==
# =iAnz
# -----END PGP SIGNATURE-----
# gpg: Signature made Sun 29 Sep 2024 09:25:04 BST
# gpg: using RSA key B8FF1DA0D2FDCB2DA09C6C2C40A2FFF239263EDF
# gpg: Good signature from "Song Gao <[email protected]>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: B8FF 1DA0 D2FD CB2D A09C 6C2C 40A2 FFF2 3926 3EDF
* tag 'pull-loongarch-20240929' of https://gitlab.com/gaosong/qemu:
hw/loongarch/fw_cfg: Build in common_ss[]
hw/loongarch/virt: Remove unnecessary 'cpu.h' inclusion
target/loongarch: Avoid bits shift exceeding width of bool type
hw/loongarch/boot: Rework boot code generation
hw/loongarch/boot: Refactor EFI booting protocol generation
hw/loongarch/virt: Add FDT table support with acpi ged pm register
acpi: ged: Add macro for acpi sleep control register
Signed-off-by: Peter Maydell <[email protected]>
Commit: 6efcc7620fd7081262b79acab798399fc83c88da
https://github.com/qemu/qemu/commit/6efcc7620fd7081262b79acab798399fc83c88da
Author: Peter Maydell <[email protected]>
Date: 2024-09-30 (Mon, 30 Sep 2024)
Changed paths:
M block/aio_task.c
M block/backup.c
M block/block-copy.c
M block/copy-before-write.c
M block/copy-before-write.h
M block/reqlist.c
M blockdev.c
M include/block/aio_task.h
M include/block/block-copy.h
M include/qemu/co-shared-resource.h
M qapi/block-core.json
M util/qemu-co-shared-resource.c
Log Message:
-----------
Merge tag 'pull-block-jobs-2024-09-30' of https://gitlab.com/vsementsov/qemu
into staging
Block-jobs: improve backup fleecing
# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEi5wmzbL9FHyIDoahVh8kwfGfefsFAmb6WsYACgkQVh8kwfGf
# eftECRAAgRFGeVSE8+fgibsHH4TixG41Rg/4gi09KZuhNHCDQXiVWlpNf4isnjcg
# K3PAZh5XSr+ClYFzbwqrjnbjGOZDJRpfb5KAnWK2GhhbBrwFBAussJ/njOg3IB3V
# 1Qtm5cc6aKrFW4dybqWW96gZZkIxFuSOW0jAjuVh4r0ZfK03Xytm5WITYg7CLnnQ
# WqnseoQuj9HvT3F2A3HnRk4tIlgEb2eWppDhX8DiW/IO4C1ScfYpyP2cvUROCCGF
# GIJKv7/GRYosSUx4nsCCx1y7ISX0A5m1sCBlWbnQmYLIaJ/JpUYA2Tqxyfy3LTRE
# IJK/NcWcR9fCy2W1hNQJaKfIKoA7EdfqSvCFQmBHrEmtRYslejNRB3PjIUzth7Oh
# knfHxKSiXyGBdikaE5a//MUBK74pc9eC9zuIvIzxdLYxBTTGKZlTuhxG28QBoLO3
# /IcPd22loEZwh6PRgcFw7olsHo9lhfbiRua8dKwj384yJKFGU4s4QghSqRLxBHjP
# xnqQrU8uE3UOIVMY9ahsMxwUzzYGbwi0vQw98qLm26vcQBZRD1C9L97M9yCCrhQ4
# jfWyMsqdODA6V3IRpIV+JBL5KvRkC1fuoAw6Oh5R2r3K/WpX74gthATna9+/wGno
# 0wPiaEvBox8y6zLKAZe4MEA6phX0tb5In6OQB2JlILHa7gds4x4=
# =LqMR
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 30 Sep 2024 09:01:10 BST
# gpg: using RSA key 8B9C26CDB2FD147C880E86A1561F24C1F19F79FB
# gpg: Good signature from "Vladimir Sementsov-Ogievskiy
<[email protected]>" [unknown]
# gpg: aka "Vladimir Sementsov-Ogievskiy
<[email protected]>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 8B9C 26CD B2FD 147C 880E 86A1 561F 24C1 F19F 79FB
* tag 'pull-block-jobs-2024-09-30' of https://gitlab.com/vsementsov/qemu:
util/co-shared-resource: Remove unused co_try_get_from_shres
block: Remove unused aio_task_pool_empty
block/reqlist: allow adding overlapping requests
backup: add minimum cluster size to performance options
copy-before-write: allow specifying minimum cluster size
Signed-off-by: Peter Maydell <[email protected]>
Compare: https://github.com/qemu/qemu/compare/3b14a767eaca...6efcc7620fd7
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications