mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 02:24:58 -06:00
* submodule cleanups (Philippe, myself)
* tiny step towards a usable preconfig mode (myself) * Kconfig and LOCK_GUARD cleanups (philippe) * new x86 CPUID feature (Yang Zhong) * "-object qtest" support (myself) * Dirty ring support for KVM (Peter) * Fixes for 6.0 command line parsing breakage (myself) * Fix for macOS 11.3 SDK (Katsuhiro) -----BEGIN PGP SIGNATURE----- iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmCuRAQUHHBib256aW5p QHJlZGhhdC5jb20ACgkQv/vSX3jHroOL6Qf/bUjQNAUc2QQJya1lu8TEf1o4vjkK C3EzFPVAj+m2O3OZOGEHcTh8+lDSzBeE2gB3bt4AD+KvFbQGXhLM3gMu/Ztymv8m 3rVEe/NxNyq/CgC307GIwF3in7rEzjH0+WHaOuoU340e3Po1FA7s20VnMysVxxng 4Pf4m4Y0k0eq022HgqZ/r/kbnINxDHagmzuyiFARkt8ooiuj4NyOMW7UKMk3fBvY MLMPsBe3imWmVnkOF0n/qJ+Svbtx15iLgGIIggshy3rmPereUpIQYaJ9FS6jcXO2 YHuYDc2aGelMU84r+x+9UQra6auzJfc4UbylOsGjopCeFG2aU8rLMphvpw== =UQwU -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into staging * submodule cleanups (Philippe, myself) * tiny step towards a usable preconfig mode (myself) * Kconfig and LOCK_GUARD cleanups (philippe) * new x86 CPUID feature (Yang Zhong) * "-object qtest" support (myself) * Dirty ring support for KVM (Peter) * Fixes for 6.0 command line parsing breakage (myself) * Fix for macOS 11.3 SDK (Katsuhiro) # gpg: Signature made Wed 26 May 2021 13:50:12 BST # gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83 # gpg: issuer "pbonzini@redhat.com" # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full] # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [full] # 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-gitlab/tags/for-upstream: (28 commits) gitlab-ci: use --meson=git for CFI jobs hw/scsi: Fix sector translation bug in scsi_unmap_complete_noio configure: Avoid error messages about missing *-config-*.h files doc: Add notes about -mon option mode=control argument. qemu-config: load modules when instantiating option groups vl: allow not specifying size in -m when using -M memory-backend replication: move include out of root directory remove qemu-options* from root directory meson: Set implicit_include_directories to false tests/qtest/fuzz: Fix build failure KVM: Dirty ring support KVM: Disable manual dirty log when dirty ring enabled KVM: Add dirty-ring-size property KVM: Cache kvm slot dirty bitmap size KVM: Simplify dirty log sync in kvm_set_phys_mem KVM: Provide helper to sync dirty bitmap from slot to ramblock KVM: Provide helper to get kvm dirty log KVM: Create the KVMSlot dirty bitmap on flag changes KVM: Use a big lock to replace per-kml slots_lock memory: Introduce log_sync_global() to memory listener ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
8385235ba9
37 changed files with 924 additions and 227 deletions
|
@ -6,6 +6,7 @@ config ARM_VIRT
|
|||
imply VFIO_PLATFORM
|
||||
imply VFIO_XGMAC
|
||||
imply TPM_TIS_SYSBUS
|
||||
imply NVDIMM
|
||||
select ARM_GIC
|
||||
select ACPI
|
||||
select ARM_SMMUV3
|
||||
|
|
|
@ -23,6 +23,7 @@ config PC
|
|||
imply TPM_TIS_ISA
|
||||
imply VGA_PCI
|
||||
imply VIRTIO_VGA
|
||||
imply NVDIMM
|
||||
select FDC
|
||||
select I8259
|
||||
select I8254
|
||||
|
|
|
@ -7,6 +7,4 @@ config MEM_DEVICE
|
|||
|
||||
config NVDIMM
|
||||
bool
|
||||
default y
|
||||
depends on (PC || PSERIES || ARM_VIRT)
|
||||
select MEM_DEVICE
|
||||
|
|
|
@ -3,6 +3,7 @@ config PSERIES
|
|||
imply PCI_DEVICES
|
||||
imply TEST_DEVICES
|
||||
imply VIRTIO_VGA
|
||||
imply NVDIMM
|
||||
select DIMM
|
||||
select PCI
|
||||
select SPAPR_VSCSI
|
||||
|
|
|
@ -1582,6 +1582,7 @@ invalid_field:
|
|||
scsi_check_condition(r, SENSE_CODE(INVALID_FIELD));
|
||||
}
|
||||
|
||||
/* sector_num and nb_sectors expected to be in qdev blocksize */
|
||||
static inline bool check_lba_range(SCSIDiskState *s,
|
||||
uint64_t sector_num, uint32_t nb_sectors)
|
||||
{
|
||||
|
@ -1614,11 +1615,12 @@ static void scsi_unmap_complete_noio(UnmapCBData *data, int ret)
|
|||
assert(r->req.aiocb == NULL);
|
||||
|
||||
if (data->count > 0) {
|
||||
r->sector = ldq_be_p(&data->inbuf[0])
|
||||
* (s->qdev.blocksize / BDRV_SECTOR_SIZE);
|
||||
r->sector_count = (ldl_be_p(&data->inbuf[8]) & 0xffffffffULL)
|
||||
* (s->qdev.blocksize / BDRV_SECTOR_SIZE);
|
||||
if (!check_lba_range(s, r->sector, r->sector_count)) {
|
||||
uint64_t sector_num = ldq_be_p(&data->inbuf[0]);
|
||||
uint32_t nb_sectors = ldl_be_p(&data->inbuf[8]) & 0xffffffffULL;
|
||||
r->sector = sector_num * (s->qdev.blocksize / BDRV_SECTOR_SIZE);
|
||||
r->sector_count = nb_sectors * (s->qdev.blocksize / BDRV_SECTOR_SIZE);
|
||||
|
||||
if (!check_lba_range(s, sector_num, nb_sectors)) {
|
||||
block_acct_invalid(blk_get_stats(s->qdev.conf.blk),
|
||||
BLOCK_ACCT_UNMAP);
|
||||
scsi_check_condition(r, SENSE_CODE(LBA_OUT_OF_RANGE));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue