From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672747; cv=none; d=zohomail.com; s=zohoarc; b=RRuYkzVyPBTc+EsKIuNC36mM2E0SL6rW39Qa/IDrEBvse5bBduo4MAylX0YrjxMFfhZ9Dht8UvzJc0Jpyq5FEsyImFgxZayN/S0/xjG8p3G6KW3E/GX6o+BT4axNPPUS65mJq/3Z4v1U4HOEFUfyXpfuIkOpGmRttE7n7b3cyR0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672747; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Kg8dkgToII+17yCLdud4DGcpR3GxCmqyAmpoGaHxRIE=; b=RRcgAaEEjXkykcFSFXOyQ3beYx0gIQ5cV3mz5L5OFqK2NgV9ZRvrSPUBeBNiMynSYgeYngwrgUWcO52BGpgGGT+BEKje+z66pK+5TrsCUM1hbEUUUTE1+KX/uXsWtpZ5k2GNXCv8dclC5pWhZGqS8PZFSABCcEsSgaetr7Bm5f8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579672747862776.7277064187585; Tue, 21 Jan 2020 21:59:07 -0800 (PST) Received: from localhost ([::1]:37104 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu92f-0007Hq-RU for importer@patchew.org; Wed, 22 Jan 2020 00:59:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59991) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8xq-0001nu-Tr for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:54:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8xo-0005Ri-JI for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:54:06 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:29458 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8xo-0005RP-76 for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:54:04 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-295-LrByhLWrNPewE7YTwpX4bQ-1; Wed, 22 Jan 2020 00:51:52 -0500 Received: by mail-wr1-f70.google.com with SMTP id u12so2541389wrt.15 for ; Tue, 21 Jan 2020 21:51:52 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id p17sm55606443wrx.20.2020.01.21.21.51.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:51:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672443; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Kg8dkgToII+17yCLdud4DGcpR3GxCmqyAmpoGaHxRIE=; b=Jj3wwXLUF4gMe7A08vas7jDQkoqP/WNg6lBf2Y0ElnPo+8kvhOQv6Blr1/s9kuA68F0LkN 3tdKyvNU2eEovRiTGfxfB17Xo7C8DSNDiRpfiMwtv3Fpz832wtoYZcRP+LNNawVDgjfCqJ PBi4dt5s5NNkjCiLX2X4nUKeXg8Fw24= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=SZlgsbuRexepbyzGOJZSIRK1RX+EEBHf43p6wbErIqU=; b=DuD8tg/UsNk82F9ytUakruxQDVYI6bZL3o6rgNys5cNGM/alJCMv7QkB1p9bb+oRKB xE41Kofap7IKVd+/hOkeVtNB45oQfPL1U7banK0AWj5fH+tZa5yD+U+AuMersrPKpSlj 0mertCKN/8jLdnBtrV/Bubms/3Pb9RB00f5Bs0Ll2qUizYzauXbN+rUDWv40nfK22wI8 5QQl3yGOa8MhNP9ZM+iH4ynbHNVn6dBOmwv0SYSMWwOqW0Xf9Ry0yAvv5jHhJz4nRYmk Ta6syx1WZCulhxI+xezDuNSRtJE+hn17Tu+c/zr4gycEVzu+eqrV1f2UqWsI16JGwZb4 gM5A== X-Gm-Message-State: APjAAAUTuwTaW+kUCTwZaJu6tbedM3vsgISUhac3MRYm29K26v+PbbVN +7dG9SXhp1UNsjHMWwjF02tqCWiKFB4gPdf7HnktofHUX5u1ooEPQw6fAWGnPE7DdRZZ8qsRa6C tWdHqtQJdkb90qKw= X-Received: by 2002:a7b:c764:: with SMTP id x4mr942887wmk.116.1579672311217; Tue, 21 Jan 2020 21:51:51 -0800 (PST) X-Google-Smtp-Source: APXvYqwroddXB183Av7YTe/uaeAeCm9DV46TOq3TXFhEDVoQLGpHnuJraS7I7XVNmGCnsbHtE2juxQ== X-Received: by 2002:a7b:c764:: with SMTP id x4mr942865wmk.116.1579672310923; Tue, 21 Jan 2020 21:51:50 -0800 (PST) Date: Wed, 22 Jan 2020 00:51:48 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 01/17] q35: implement 128K SMRAM at default SMBASE address Message-ID: <20200122055115.429945-2-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: LrByhLWrNPewE7YTwpX4bQ-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Eduardo Habkost , Igor Mammedov , Paolo Bonzini , Laszlo Ersek , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Igor Mammedov It's not what real HW does, implementing which would be overkill [**] and would require complex cross stack changes (QEMU+firmware) to make it work. So considering that SMRAM is owned by MCH, for simplicity (ab)use reserved Q35 register, which allows QEMU and firmware easily init and make RAM at SMBASE available only from SMM context. Patch uses commit (2f295167e0 q35/mch: implement extended TSEG sizes) for inspiration and uses reserved register in config space at 0x9c offset [*] to extend q35 pci-host with ability to use 128K at 0x30000 as SMRAM and hide it (like TSEG) from non-SMM context. Usage: 1: write 0xff in the register 2: if the feature is supported, follow up read from the register should return 0x01. At this point RAM at 0x30000 is still available for SMI handler configuration from non-SMM context 3: writing 0x02 in the register, locks SMBASE area, making its contents available only from SMM context. In non-SMM context, reads return 0xff and writes are ignored. Further writes into the register are ignored until the system reset. *) https://www.mail-archive.com/qemu-devel@nongnu.org/msg455991.html **) https://www.mail-archive.com/qemu-devel@nongnu.org/msg646965.html Signed-off-by: Igor Mammedov Message-Id: <1575896942-331151-3-git-send-email-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Tested-by: Laszlo Ersek --- include/hw/pci-host/q35.h | 10 +++++ hw/i386/pc.c | 4 +- hw/pci-host/q35.c | 84 +++++++++++++++++++++++++++++++++++---- 3 files changed, 90 insertions(+), 8 deletions(-) diff --git a/include/hw/pci-host/q35.h b/include/hw/pci-host/q35.h index b3bcf2e632..976fbae599 100644 --- a/include/hw/pci-host/q35.h +++ b/include/hw/pci-host/q35.h @@ -32,6 +32,7 @@ #include "hw/acpi/ich9.h" #include "hw/pci-host/pam.h" #include "hw/i386/intel_iommu.h" +#include "qemu/units.h" =20 #define TYPE_Q35_HOST_DEVICE "q35-pcihost" #define Q35_HOST_DEVICE(obj) \ @@ -54,6 +55,8 @@ typedef struct MCHPCIState { MemoryRegion smram_region, open_high_smram; MemoryRegion smram, low_smram, high_smram; MemoryRegion tseg_blackhole, tseg_window; + MemoryRegion smbase_blackhole, smbase_window; + bool has_smram_at_smbase; Range pci_hole; uint64_t below_4g_mem_size; uint64_t above_4g_mem_size; @@ -97,6 +100,13 @@ typedef struct Q35PCIHost { #define MCH_HOST_BRIDGE_EXT_TSEG_MBYTES_QUERY 0xffff #define MCH_HOST_BRIDGE_EXT_TSEG_MBYTES_MAX 0xfff =20 +#define MCH_HOST_BRIDGE_SMBASE_SIZE (128 * KiB) +#define MCH_HOST_BRIDGE_SMBASE_ADDR 0x30000 +#define MCH_HOST_BRIDGE_F_SMBASE 0x9c +#define MCH_HOST_BRIDGE_F_SMBASE_QUERY 0xff +#define MCH_HOST_BRIDGE_F_SMBASE_IN_RAM 0x01 +#define MCH_HOST_BRIDGE_F_SMBASE_LCK 0x02 + #define MCH_HOST_BRIDGE_PCIEXBAR 0x60 /* 64bit register */ #define MCH_HOST_BRIDGE_PCIEXBAR_SIZE 8 /* 64bit register */ #define MCH_HOST_BRIDGE_PCIEXBAR_DEFAULT 0xb0000000 diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 8054bc4147..a6302a772d 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -93,7 +93,9 @@ #include "fw_cfg.h" #include "trace.h" =20 -GlobalProperty pc_compat_4_2[] =3D {}; +GlobalProperty pc_compat_4_2[] =3D { + { "mch", "smbase-smram", "off" }, +}; const size_t pc_compat_4_2_len =3D G_N_ELEMENTS(pc_compat_4_2); =20 GlobalProperty pc_compat_4_1[] =3D {}; diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c index 158d270b9f..6342f73b9f 100644 --- a/hw/pci-host/q35.c +++ b/hw/pci-host/q35.c @@ -275,20 +275,20 @@ static const TypeInfo q35_host_info =3D { * MCH D0:F0 */ =20 -static uint64_t tseg_blackhole_read(void *ptr, hwaddr reg, unsigned size) +static uint64_t blackhole_read(void *ptr, hwaddr reg, unsigned size) { return 0xffffffff; } =20 -static void tseg_blackhole_write(void *opaque, hwaddr addr, uint64_t val, - unsigned width) +static void blackhole_write(void *opaque, hwaddr addr, uint64_t val, + unsigned width) { /* nothing */ } =20 -static const MemoryRegionOps tseg_blackhole_ops =3D { - .read =3D tseg_blackhole_read, - .write =3D tseg_blackhole_write, +static const MemoryRegionOps blackhole_ops =3D { + .read =3D blackhole_read, + .write =3D blackhole_write, .endianness =3D DEVICE_NATIVE_ENDIAN, .valid.min_access_size =3D 1, .valid.max_access_size =3D 4, @@ -430,6 +430,46 @@ static void mch_update_ext_tseg_mbytes(MCHPCIState *mc= h) } } =20 +static void mch_update_smbase_smram(MCHPCIState *mch) +{ + PCIDevice *pd =3D PCI_DEVICE(mch); + uint8_t *reg =3D pd->config + MCH_HOST_BRIDGE_F_SMBASE; + bool lck; + + if (!mch->has_smram_at_smbase) { + return; + } + + if (*reg =3D=3D MCH_HOST_BRIDGE_F_SMBASE_QUERY) { + pd->wmask[MCH_HOST_BRIDGE_F_SMBASE] =3D + MCH_HOST_BRIDGE_F_SMBASE_LCK; + *reg =3D MCH_HOST_BRIDGE_F_SMBASE_IN_RAM; + return; + } + + /* + * default/reset state, discard written value + * which will disable SMRAM balackhole at SMBASE + */ + if (pd->wmask[MCH_HOST_BRIDGE_F_SMBASE] =3D=3D 0xff) { + *reg =3D 0x00; + } + + memory_region_transaction_begin(); + if (*reg & MCH_HOST_BRIDGE_F_SMBASE_LCK) { + /* disable all writes */ + pd->wmask[MCH_HOST_BRIDGE_F_SMBASE] &=3D + ~MCH_HOST_BRIDGE_F_SMBASE_LCK; + *reg =3D MCH_HOST_BRIDGE_F_SMBASE_LCK; + lck =3D true; + } else { + lck =3D false; + } + memory_region_set_enabled(&mch->smbase_blackhole, lck); + memory_region_set_enabled(&mch->smbase_window, lck); + memory_region_transaction_commit(); +} + static void mch_write_config(PCIDevice *d, uint32_t address, uint32_t val, int len) { @@ -456,6 +496,10 @@ static void mch_write_config(PCIDevice *d, MCH_HOST_BRIDGE_EXT_TSEG_MBYTES_SIZE)) { mch_update_ext_tseg_mbytes(mch); } + + if (ranges_overlap(address, len, MCH_HOST_BRIDGE_F_SMBASE, 1)) { + mch_update_smbase_smram(mch); + } } =20 static void mch_update(MCHPCIState *mch) @@ -464,6 +508,7 @@ static void mch_update(MCHPCIState *mch) mch_update_pam(mch); mch_update_smram(mch); mch_update_ext_tseg_mbytes(mch); + mch_update_smbase_smram(mch); =20 /* * pci hole goes from end-of-low-ram to io-apic. @@ -514,6 +559,9 @@ static void mch_reset(DeviceState *qdev) MCH_HOST_BRIDGE_EXT_TSEG_MBYTES_QUERY); } =20 + d->config[MCH_HOST_BRIDGE_F_SMBASE] =3D 0; + d->wmask[MCH_HOST_BRIDGE_F_SMBASE] =3D 0xff; + mch_update(mch); } =20 @@ -563,7 +611,7 @@ static void mch_realize(PCIDevice *d, Error **errp) memory_region_add_subregion(&mch->smram, 0xfeda0000, &mch->high_smram); =20 memory_region_init_io(&mch->tseg_blackhole, OBJECT(mch), - &tseg_blackhole_ops, NULL, + &blackhole_ops, NULL, "tseg-blackhole", 0); memory_region_set_enabled(&mch->tseg_blackhole, false); memory_region_add_subregion_overlap(mch->system_memory, @@ -575,6 +623,27 @@ static void mch_realize(PCIDevice *d, Error **errp) memory_region_set_enabled(&mch->tseg_window, false); memory_region_add_subregion(&mch->smram, mch->below_4g_mem_size, &mch->tseg_window); + + /* + * This is not what hardware does, so it's QEMU specific hack. + * See commit message for details. + */ + memory_region_init_io(&mch->smbase_blackhole, OBJECT(mch), &blackhole_= ops, + NULL, "smbase-blackhole", + MCH_HOST_BRIDGE_SMBASE_SIZE); + memory_region_set_enabled(&mch->smbase_blackhole, false); + memory_region_add_subregion_overlap(mch->system_memory, + MCH_HOST_BRIDGE_SMBASE_ADDR, + &mch->smbase_blackhole, 1); + + memory_region_init_alias(&mch->smbase_window, OBJECT(mch), + "smbase-window", mch->ram_memory, + MCH_HOST_BRIDGE_SMBASE_ADDR, + MCH_HOST_BRIDGE_SMBASE_SIZE); + memory_region_set_enabled(&mch->smbase_window, false); + memory_region_add_subregion(&mch->smram, MCH_HOST_BRIDGE_SMBASE_ADDR, + &mch->smbase_window); + object_property_add_const_link(qdev_get_machine(), "smram", OBJECT(&mch->smram), &error_abort); =20 @@ -601,6 +670,7 @@ uint64_t mch_mcfg_base(void) static Property mch_props[] =3D { DEFINE_PROP_UINT16("extended-tseg-mbytes", MCHPCIState, ext_tseg_mbyte= s, 16), + DEFINE_PROP_BOOL("smbase-smram", MCHPCIState, has_smram_at_smbase, tru= e), DEFINE_PROP_END_OF_LIST(), }; =20 --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672412; cv=none; d=zohomail.com; s=zohoarc; b=X+KvnAt5Xl+mm9anvLRu88s9Iei8DyVaDloQKxaHWE+mvV0mZykcrlNKgfd51KQuis0v6Mfk3qBwxOdedgp9+sbOjV2AyGlrdjxkS+6yG1uMFCPDT7qlVTpIB53lynKQpY5natogjhAClfsuCLupdDtVspWit8bNBr+U8pGo2wk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672412; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=gDntRjnqkdZXlC1JZeGY/cuEoEt7aTCjD9wGxlyp8Vo=; b=UIDpeSjeLE2RVC3Y04t5Lx6/yYwc15mzrVj5ioqYuoPht84SfOPMC5DWYMZoCiDX+x4H5zOFoNmdKPtBQespzxUIF4ZcXc+RfRxDsWJJx02vbG88B0gJmY9V0S4HjRyktsW8V2dYxRu9kjUwpSzqkc43xIkReImBVtmUAyov5P8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579672412250818.7314465314898; Tue, 21 Jan 2020 21:53:32 -0800 (PST) Received: from localhost ([::1]:37036 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8xG-0000Od-Cl for importer@patchew.org; Wed, 22 Jan 2020 00:53:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59785) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8vo-0007Gr-6Q for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8vl-0004Xo-Tn for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:00 -0500 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:55802 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8vl-0004Xf-P9 for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:51:57 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-312-Y4MyzhiYP0a2KJ-HMvrfFA-1; Wed, 22 Jan 2020 00:51:55 -0500 Received: by mail-wr1-f69.google.com with SMTP id r2so2531533wrp.7 for ; Tue, 21 Jan 2020 21:51:55 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id n28sm11105341wra.48.2020.01.21.21.51.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:51:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gDntRjnqkdZXlC1JZeGY/cuEoEt7aTCjD9wGxlyp8Vo=; b=APXTYwC7+cG4Ic9MydL0E5wqGsuk60UHwXQ4wU4//MwuBBBHMMZr1NBGaty3xUT4HQm6/R 15D01A8dbuJ3KUoXPdeDzZvhYvnfpEGaKNWCLCpZSmxhBcHZvY4DH4l6+cKsOF36veBxBi ruvuSAdbrZ0xVFOck9uglxw4i1NoiUs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=o0n2DkkmVlJvF/kJjOaBKtOGbZzvtHQ/1x2pWKeDMgM=; b=nSTfZBeZagk6C23PK8USzO+/vMM8WqfCupxEuasGfOf/+0M5N+VQ74lAV1izxsWozb pVy3O1ED/T/Uio3MockqoecYsaFZoM5nIIlOgw8plENJWb3yjjwox9AjsEfEaujsnb68 IOVqMTy9fnN3g6wXaxfM6RbIvDPE7mCao1FXRj8A/TSQY/MqMupMbZKKUH4BbqRsbYhL A5l4/VKV8+PWbuTgXkCsolfEfDvijTz2PZA6VqkhVOnK+y69s5Fgeb0wQIIsJ8rKEgdj SujkYF5ty2fp54rgCNUf+CATc00ZmHz3PsiUjJRW/fiU0iySevaD7OgC+1UDg94qcwOe 2R2g== X-Gm-Message-State: APjAAAV76OPTsQnNeq9q758+lToP4CyFMPf9oJ3GQl6BBYDz5nxnIkUR j87s5nZ3l8nqt5gtvpQa2cT/h0BHm5o7pn4jB1cdr8Nh/NpmPJJtgay0c+l5l5kWOM1T358/jFr Gl4t/kdsU7wzjg8o= X-Received: by 2002:a5d:5403:: with SMTP id g3mr9473767wrv.302.1579672313859; Tue, 21 Jan 2020 21:51:53 -0800 (PST) X-Google-Smtp-Source: APXvYqyvx0uKCo55rq2HdAY+SbjrOUciEbpwTLVJa0S4GTS06RZxuNbtBc1q3p6A0GNMp5BlcyJJWA== X-Received: by 2002:a5d:5403:: with SMTP id g3mr9473745wrv.302.1579672313657; Tue, 21 Jan 2020 21:51:53 -0800 (PST) Date: Wed, 22 Jan 2020 00:51:51 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 02/17] tests: q35: MCH: add default SMBASE SMRAM lock test Message-ID: <20200122055115.429945-3-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: Y4MyzhiYP0a2KJ-HMvrfFA-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 205.139.110.61 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Peter Maydell , Thomas Huth , Paolo Bonzini , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Igor Mammedov test lockable SMRAM at default SMBASE feature, introduced by patch "q35: implement 128K SMRAM at default SMBASE address" Signed-off-by: Igor Mammedov Message-Id: <1575899217-333105-1-git-send-email-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/q35-test.c | 105 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/tests/qtest/q35-test.c b/tests/qtest/q35-test.c index a68183d513..c922d81bc0 100644 --- a/tests/qtest/q35-test.c +++ b/tests/qtest/q35-test.c @@ -186,6 +186,109 @@ static void test_tseg_size(const void *data) qtest_quit(qts); } =20 +#define SMBASE 0x30000 +#define SMRAM_TEST_PATTERN 0x32 +#define SMRAM_TEST_RESET_PATTERN 0x23 + +static void test_smram_smbase_lock(void) +{ + QPCIBus *pcibus; + QPCIDevice *pcidev; + QDict *response; + QTestState *qts; + int i; + + qts =3D qtest_init("-M q35"); + + pcibus =3D qpci_new_pc(qts, NULL); + g_assert(pcibus !=3D NULL); + + pcidev =3D qpci_device_find(pcibus, 0); + g_assert(pcidev !=3D NULL); + + /* check that SMRAM is not enabled by default */ + g_assert(qpci_config_readb(pcidev, MCH_HOST_BRIDGE_F_SMBASE) =3D=3D 0); + qtest_writeb(qts, SMBASE, SMRAM_TEST_PATTERN); + g_assert_cmpint(qtest_readb(qts, SMBASE), =3D=3D, SMRAM_TEST_PATTERN); + + /* check that writing junk to 0x9c before before negotiating is ignore= d */ + for (i =3D 0; i < 0xff; i++) { + qpci_config_writeb(pcidev, MCH_HOST_BRIDGE_F_SMBASE, i); + g_assert(qpci_config_readb(pcidev, MCH_HOST_BRIDGE_F_SMBASE) =3D= =3D 0); + } + + /* enable SMRAM at SMBASE */ + qpci_config_writeb(pcidev, MCH_HOST_BRIDGE_F_SMBASE, 0xff); + g_assert(qpci_config_readb(pcidev, MCH_HOST_BRIDGE_F_SMBASE) =3D=3D 0x= 01); + /* lock SMRAM at SMBASE */ + qpci_config_writeb(pcidev, MCH_HOST_BRIDGE_F_SMBASE, 0x02); + g_assert(qpci_config_readb(pcidev, MCH_HOST_BRIDGE_F_SMBASE) =3D=3D 0x= 02); + + /* check that SMRAM at SMBASE is locked and can't be unlocked */ + g_assert_cmpint(qtest_readb(qts, SMBASE), =3D=3D, 0xff); + for (i =3D 0; i <=3D 0xff; i++) { + /* make sure register is immutable */ + qpci_config_writeb(pcidev, MCH_HOST_BRIDGE_F_SMBASE, i); + g_assert(qpci_config_readb(pcidev, MCH_HOST_BRIDGE_F_SMBASE) =3D= =3D 0x02); + + /* RAM access should go into black hole */ + qtest_writeb(qts, SMBASE, SMRAM_TEST_PATTERN); + g_assert_cmpint(qtest_readb(qts, SMBASE), =3D=3D, 0xff); + } + + /* reset */ + response =3D qtest_qmp(qts, "{'execute': 'system_reset', 'arguments': = {} }"); + g_assert(response); + g_assert(!qdict_haskey(response, "error")); + qobject_unref(response); + + /* check RAM at SMBASE is available after reset */ + g_assert_cmpint(qtest_readb(qts, SMBASE), =3D=3D, SMRAM_TEST_PATTERN); + g_assert(qpci_config_readb(pcidev, MCH_HOST_BRIDGE_F_SMBASE) =3D=3D 0); + qtest_writeb(qts, SMBASE, SMRAM_TEST_RESET_PATTERN); + g_assert_cmpint(qtest_readb(qts, SMBASE), =3D=3D, SMRAM_TEST_RESET_PAT= TERN); + + g_free(pcidev); + qpci_free_pc(pcibus); + + qtest_quit(qts); +} + +static void test_without_smram_base(void) +{ + QPCIBus *pcibus; + QPCIDevice *pcidev; + QTestState *qts; + int i; + + qts =3D qtest_init("-M pc-q35-4.1"); + + pcibus =3D qpci_new_pc(qts, NULL); + g_assert(pcibus !=3D NULL); + + pcidev =3D qpci_device_find(pcibus, 0); + g_assert(pcidev !=3D NULL); + + /* check that RAM is accessible */ + qtest_writeb(qts, SMBASE, SMRAM_TEST_PATTERN); + g_assert_cmpint(qtest_readb(qts, SMBASE), =3D=3D, SMRAM_TEST_PATTERN); + + /* check that writing to 0x9c succeeds */ + for (i =3D 0; i <=3D 0xff; i++) { + qpci_config_writeb(pcidev, MCH_HOST_BRIDGE_F_SMBASE, i); + g_assert(qpci_config_readb(pcidev, MCH_HOST_BRIDGE_F_SMBASE) =3D= =3D i); + } + + /* check that RAM is still accessible */ + qtest_writeb(qts, SMBASE, SMRAM_TEST_PATTERN + 1); + g_assert_cmpint(qtest_readb(qts, SMBASE), =3D=3D, (SMRAM_TEST_PATTERN = + 1)); + + g_free(pcidev); + qpci_free_pc(pcibus); + + qtest_quit(qts); +} + int main(int argc, char **argv) { g_test_init(&argc, &argv, NULL); @@ -197,5 +300,7 @@ int main(int argc, char **argv) qtest_add_data_func("/q35/tseg-size/8mb", &tseg_8mb, test_tseg_size); qtest_add_data_func("/q35/tseg-size/ext/16mb", &tseg_ext_16mb, test_tseg_size); + qtest_add_func("/q35/smram/smbase_lock", test_smram_smbase_lock); + qtest_add_func("/q35/smram/legacy_smbase", test_without_smram_base); return g_test_run(); } --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672587; cv=none; d=zohomail.com; s=zohoarc; b=jQZr1ssXDojEfhd2EVgUF74ceCzCUGxjaiS8Ll/ynJSJp6zHToNY4wCe/0MascYt/h05Vv/MqOMKShKf7SZ4epkCkUWrhDRZmPN6tudAdLt1+hU0LS/hQzZ58slf4+3cjy8m4cb7YKLzrbiw0QQxP8lPbXcy15oqE4Dknp3eVAg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672587; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=OhMnOXw2jltLb3g6o0bZN0GY8d9d1JsgKnb3ojyU5uY=; b=jRkDd6RKF2OGKQWXs5dEpTke76gnjxOQJpUoic67UJ62HqwNplIpAXP0TM9hlyfFhKnFm/xlk6q8LSeKi/Zty5pomGXk1eJONzyLdijtnbHrugTZaYzeKcM7ryl8bNJb/OFtOzq0i4tL7zEEQOTbtyiUz+c7t2ko9snKgs+PPng= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579672587765464.11503037510033; Tue, 21 Jan 2020 21:56:27 -0800 (PST) Received: from localhost ([::1]:37078 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu906-0003zB-Cd for importer@patchew.org; Wed, 22 Jan 2020 00:56:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59796) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8vq-0007Iw-19 for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8vo-0004Z1-R9 for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:01 -0500 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:38127 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8vo-0004Yo-NO for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:00 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-193-dusI85DqPsaZghcQFV1JHw-1; Wed, 22 Jan 2020 00:51:57 -0500 Received: by mail-wr1-f72.google.com with SMTP id h30so2535738wrh.5 for ; Tue, 21 Jan 2020 21:51:57 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id t1sm2495642wma.43.2020.01.21.21.51.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:51:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OhMnOXw2jltLb3g6o0bZN0GY8d9d1JsgKnb3ojyU5uY=; b=Zxbpio/6QHFCyxbioShwCzqYxFU7rGG8pf/iMknyq0FWzy2/wvgq2PSwVXQFI0Iic1Nsyb qgIUp4B/8ixZuosIp6lriny101fl2vQfEO31eVoTY7IqIH8XYJo7FlSPVknLHJLSB/SD7m OTM0AXrc4OuzUWnHt4xORJvQonWoHQ8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=SmP96JjZ61jUtUgNUruj35mPI4zb3UYO5pk5xajyjow=; b=KrWY3UP7x8Ienpn/fTQQ8hl3eAHwZs6J3otBKiF/CCkDgiC6K317fwzqNrHGaOehhO gO7zIjd9kQLlGowo6KsI0e10pIfCZa0GbWfoUE5qJabst0VunFttFg4U4eWWW3JS2SYF MWvFFtEPnFzVyjkJHGjC1zDAEChjMOyb5pIfiZZScxd4yGTs0QVDzf/uXmXntC3pbCeR 81VUGqrlWc8agsxrgps9VZ8WDW7aV9s++PFv7u6D7wecquUDnbaT3a5DbHN8KQcYOe/2 X0UiOdT2DGBr7gp1TUuRg3L7VgkX+Ek1ddbPwqcgt8A3kl1XPNZegoD+6CJt4By57R9R AndQ== X-Gm-Message-State: APjAAAUg5MfHMIYy2gdJckmx8K3PRgrpo8Akfww3veKkYQhsVntGwGAx bizeckJU2y/K/7ViOpLlLxHvCM/HqBcLqCOuiFvz/E8DhIp5c4071d+gd4K8Zhv9fnmihdINkoi LyxHUpDdTFp0mGLo= X-Received: by 2002:a05:600c:411:: with SMTP id q17mr947227wmb.180.1579672316550; Tue, 21 Jan 2020 21:51:56 -0800 (PST) X-Google-Smtp-Source: APXvYqxFPa95+06DfGK12UXuDyZp0doPjrsE3Fyrto7Z07jDIP3SWiHL65fuuZs/qbWUE3oaXaGxGA== X-Received: by 2002:a05:600c:411:: with SMTP id q17mr947221wmb.180.1579672316381; Tue, 21 Jan 2020 21:51:56 -0800 (PST) Date: Wed, 22 Jan 2020 00:51:54 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 03/17] acpi: cpuhp: spec: clarify 'CPU selector' register usage and endianness Message-ID: <20200122055115.429945-4-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: dusI85DqPsaZghcQFV1JHw-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Laszlo Ersek , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Igor Mammedov * Move reserved registers to the top of the section, so reader would be aware of effects when reading registers description. * State registers endianness explicitly at the beginning of the section * Describe registers behavior in case of 'CPU selector' register contains value that doesn't point to a possible CPU. Signed-off-by: Igor Mammedov Reviewed-by: Laszlo Ersek Message-Id: <1575896942-331151-5-git-send-email-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- docs/specs/acpi_cpu_hotplug.txt | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/specs/acpi_cpu_hotplug.txt b/docs/specs/acpi_cpu_hotplug.= txt index ee219c8358..4e65286ff5 100644 --- a/docs/specs/acpi_cpu_hotplug.txt +++ b/docs/specs/acpi_cpu_hotplug.txt @@ -30,6 +30,18 @@ Register block base address: Register block size: ACPI_CPU_HOTPLUG_REG_LEN =3D 12 =20 +All accesses to registers described below, imply little-endian byte order. + +Reserved resisters behavior: + - write accesses are ignored + - read accesses return all bits set to 0. + +The last stored value in 'CPU selector' must refer to a possible CPU, othe= rwise + - reads from any register return 0 + - writes to any other register are ignored until valid value is stored i= nto it +On QEMU start, 'CPU selector' is initialized to a valid value, on reset it +keeps the current value. + read access: offset: [0x0-0x3] reserved @@ -86,9 +98,3 @@ write access: ACPI_DEVICE_OST QMP event from QEMU to external applicati= ons with current values of OST event and status registers. other values: reserved - -Selecting CPU device beyond possible range has no effect on platform: - - write accesses to CPU hot-plug registers not documented above are - ignored - - read accesses to CPU hot-plug registers not documented above return - all bits set to 0. --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672757; cv=none; d=zohomail.com; s=zohoarc; b=SgQY+nhEgHl7hNXtHHCyTjwfMK3c+gJy34ZiS5nSZGddUIZkYez5/U/qtDncjFTHB9ohW2v8iz1RL2/DMnBArX1HIFjj0+ZQt0aBpYHOpwGT81PHdgs0SvOEYCS7nXdhpeO0d4UPkoOywvsSvbRHkaBbUOYU0aI6PKsKtJYtFYk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672757; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ZL7cOBRrNjS5xV9Me0lJk0ipNP0N1056GF7w4b0GCrQ=; b=KOPBlC2mdj7PJ7y18NTmOw/AdQ4uSMiAXx+ojKASpFQef3faBoy9NF8M5gHiswQEkyFjq4Db499ZFTpOV+jhU3xKdSRxa39HeTu31QKgpDQ4pLPHqaMTsup+p9mNgHrxIAr9kVsOXM/CGv1QVhgwuvk8FzxtOIbwT9DWdhDhz1Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579672757471628.5381751002394; Tue, 21 Jan 2020 21:59:17 -0800 (PST) Received: from localhost ([::1]:37106 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu92p-0007Vy-NP for importer@patchew.org; Wed, 22 Jan 2020 00:59:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59807) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8vs-0007MT-LB for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8vr-0004aB-Ic for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:04 -0500 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:37581 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8vr-0004Zt-Eq for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:03 -0500 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-39-iw2ccxv8Mg2IAs6DJsBzqg-1; Wed, 22 Jan 2020 00:52:01 -0500 Received: by mail-wm1-f70.google.com with SMTP id w205so1612109wmb.5 for ; Tue, 21 Jan 2020 21:52:00 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id i10sm56700439wru.16.2020.01.21.21.51.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:51:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZL7cOBRrNjS5xV9Me0lJk0ipNP0N1056GF7w4b0GCrQ=; b=VyKEzAKajt2wXLtVhR6yF/51JLSVEjvvn8DhtPoA9S5TNg+dkAqURi3SQIVMBsLUxwGVMt OexukHSQn3c/yknyPkrMk3TL8TUhwJm3jYs4O5JixJ5svHx/CGohXVvs0Jvp5TjrQ6DemV NTS62IrtQQ4F1XzeDdYVgZmZIjrLG/E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=0NReYyn4JQkVdN7PoAGTBso0lphxyHmehPnh64blNL8=; b=LPa2zhy6d3RPqEHrnFGU6EKyzLakhruHMQ/fiIZFwVD4wDsZYGWwGg8omqlZKhSAg1 YJG4t0hpfRv1Jn8JZeJ5nc9NLoydkMCxdjFNAeVJBlSGQFJitoog0YpxCM/TS5z1lw2O ayQWoUNXC12WEdY7lV/MUAbrwvBsM9c6lU1p9+7/b5cy3WW4767vt3vzbmEh9sDwY5xt ZqiMOVta0kFJmIGk5eWP3of+8ZhhXRQCy30Qw9dJ73De8q0ZFfKG1ciO9XkrF30xnvLV 6T4rh4hlV4hACBVCojrGVLOyn/OZyhC0nx2QMw/ewzSuh/1Mal+7dDAg1sOSVYq+Zg4Z 694Q== X-Gm-Message-State: APjAAAXmVy3+a9hn1w6HXMd7FieAEUTpsA6qVGE0aEU1hHzl+jBEepa5 Qg37JoA67LvgsZuP/9fqohGkv9Fd3aPrQ/hyllBl72mmIWknj7MbfwO0nIwKxl6mRegIanPw9Ai 1hf7QmjrCG9A8g8w= X-Received: by 2002:a5d:428c:: with SMTP id k12mr9504381wrq.57.1579672319513; Tue, 21 Jan 2020 21:51:59 -0800 (PST) X-Google-Smtp-Source: APXvYqzJsLnWpbO69m7ffZVTXV+HI3Bj2YrvoXhVtlT4qRybSTj6bD6vJ4e+WbI+gsf2RFn8fJjJ/A== X-Received: by 2002:a5d:428c:: with SMTP id k12mr9504361wrq.57.1579672319214; Tue, 21 Jan 2020 21:51:59 -0800 (PST) Date: Wed, 22 Jan 2020 00:51:57 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 04/17] acpi: cpuhp: spec: fix 'Command data' description Message-ID: <20200122055115.429945-5-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: iw2ccxv8Mg2IAs6DJsBzqg-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Laszlo Ersek , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Igor Mammedov Correct returned value description in case 'Command field' =3D=3D 0x0, it's not PXM but CPU selector value with pending event In addition describe 0 blanket value in case of not supported 'Command field' value. Signed-off-by: Igor Mammedov Reviewed-by: Laszlo Ersek Message-Id: <1575896942-331151-6-git-send-email-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- docs/specs/acpi_cpu_hotplug.txt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/specs/acpi_cpu_hotplug.txt b/docs/specs/acpi_cpu_hotplug.= txt index 4e65286ff5..d5108720bf 100644 --- a/docs/specs/acpi_cpu_hotplug.txt +++ b/docs/specs/acpi_cpu_hotplug.txt @@ -56,9 +56,8 @@ read access: 3-7: reserved and should be ignored by OSPM [0x5-0x7] reserved [0x8] Command data: (DWORD access) - in case of error or unsupported command reads is 0xFFFFFFFF - current 'Command field' value: - 0: returns PXM value corresponding to device + contains 0 unless value last stored in 'Command field' is one of: + 0: contains 'CPU selector' value of a CPU with pending event= [s] =20 write access: offset: @@ -81,9 +80,9 @@ write access: value: 0: selects a CPU device with inserting/removing events and following reads from 'Command data' register return - selected CPU (CPU selector value). If no CPU with events - found, the current CPU selector doesn't change and - corresponding insert/remove event flags are not set. + selected CPU ('CPU selector' value). + If no CPU with events found, the current 'CPU selector' doe= sn't + change and corresponding insert/remove event flags are not = modified. 1: following writes to 'Command data' register set OST event register in QEMU 2: following writes to 'Command data' register set OST status --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672429; cv=none; d=zohomail.com; s=zohoarc; b=KpyHs0DpZRhvh7or0xdr2LffZcafpWd8OmbJ7mPaeDQgqWT+KDK0x7CdOM5lw+iG0fpQAGuXPyykiBHXsjiNyDcfxPAaSzQ8PkzLKSGSln0weIgaPcDKUZLDA3jfP4eW2QvJ792i/QA/EPITX5Mu+rryU8NKhIE5peI/ehJk+ew= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672429; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=47oh9akmDrhkEtMoFDskPeBdfNDdFnGRT7tngWCeWTo=; b=gPnK8whLN1TkpfGi2Ypq2AbK7oaBZV6Rxq3mhRmzepWnUhGvZf6W2PaPDGV7e+4FJBsL5FEFpmcslwRU2wCMlnEPxM6QfGQmzfGn6V5L6XDtf0/Gfjcr5HdL7qU1ZuRdl/4B4BpZVbXYhyg1TcACbn9n3GTH9e+Js51S8QvOa/8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579672429453313.2311208488045; Tue, 21 Jan 2020 21:53:49 -0800 (PST) Received: from localhost ([::1]:37038 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8xX-0000kg-LE for importer@patchew.org; Wed, 22 Jan 2020 00:53:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59818) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8vw-0007UU-KD for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8vv-0004bb-ID for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:08 -0500 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:26221 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8vv-0004bM-EM for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:07 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-34-kzqe9fV7N4a2RQ-daQQIZA-1; Wed, 22 Jan 2020 00:52:03 -0500 Received: by mail-wr1-f72.google.com with SMTP id f17so2541499wrt.19 for ; Tue, 21 Jan 2020 21:52:03 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id b18sm56663327wru.50.2020.01.21.21.52.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=47oh9akmDrhkEtMoFDskPeBdfNDdFnGRT7tngWCeWTo=; b=IYMBpcPhKemRbgOiB4M//ujsH7dSAr3drqmts4IW4z4yXSxPhqBVzpzNJQkTLPsP5EGoI7 mGtqQQSQQOb5CTt7wUhDK2uP0ADWgvdXXXAJrhFQccfv8Oj/rJ0u3FLzUmiNhRr0P9DbcK F4rmt5IDXez8UD6hmRMlWpBrI+ajCyU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=qLwCkCIBdxpEX8Qu8xH9v4eZQ8D42cjdHR7wkseYBRA=; b=oYMdd79W+NVXOJskgJef6X6fWkTirApkbq34M0ORGwXxLK2CDag/xkwpDdvIldXpcE DgR2mFD0Nu/Dql/233fMXgdNJ/CJsANb3GCXgSsawfy7Jei97SuJZ4JyPiLZ74eHJI/h SrG7RLDQ/DmjKmdyIY5XCGAfkmyIq6hs+CH1FcsiDIfw6XsVlcCeDhR4V5E/Hz0XHVas wXGFAvJwi76qbcZfHqhg4+jt0hsYonLCuocNl51htLIh8Hx3j3x1M8e9wHHBTZQMVFE2 ixs4qWzUsH13DLylTOwChMUm1If5H080euPswcsPnXZlYfE/nRdqvj6N9H2QWgNSl1Ar oEmA== X-Gm-Message-State: APjAAAWa3JjV/GekMAhxdxOknhN2iX0suEa3SGImoa7DBlQovfhLeyF7 EFKRfHhB7Qu1PM7LwT6e90Z3nMZ1YeEnnYjz3PDAd6S11eXmP1mtLcpcsGLAJjmN1fyiqIVpwXS y2MsCI5IL6RKvr3U= X-Received: by 2002:adf:fd07:: with SMTP id e7mr8984654wrr.21.1579672322459; Tue, 21 Jan 2020 21:52:02 -0800 (PST) X-Google-Smtp-Source: APXvYqzEP9pQnY5hG2BGMbolQlQ8N1qFez9Gali6doNiI+2etAg+y4PJ6KFMfongtaWfbdxiAobulg== X-Received: by 2002:adf:fd07:: with SMTP id e7mr8984633wrr.21.1579672322166; Tue, 21 Jan 2020 21:52:02 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:00 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 05/17] acpi: cpuhp: spec: clarify store into 'Command data' when 'Command field' == 0 Message-ID: <20200122055115.429945-6-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: kzqe9fV7N4a2RQ-daQQIZA-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 205.139.110.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Laszlo Ersek , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Igor Mammedov Write section of 'Command data' register should describe what happens when it's written into. Correct description in case the last stored 'Command field' value is equal to 0, to reflect that currently it's not supported. Signed-off-by: Igor Mammedov Reviewed-by: Laszlo Ersek Message-Id: <1575896942-331151-7-git-send-email-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- docs/specs/acpi_cpu_hotplug.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/specs/acpi_cpu_hotplug.txt b/docs/specs/acpi_cpu_hotplug.= txt index d5108720bf..8fb9ad22e6 100644 --- a/docs/specs/acpi_cpu_hotplug.txt +++ b/docs/specs/acpi_cpu_hotplug.txt @@ -90,8 +90,7 @@ write access: other values: reserved [0x6-0x7] reserved [0x8] Command data: (DWORD access) - current 'Command field' value: - 0: OSPM reads value of CPU selector + if last stored 'Command field' value: 1: stores value into OST event register 2: stores value into OST status register, triggers ACPI_DEVICE_OST QMP event from QEMU to external applicati= ons --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672575; cv=none; d=zohomail.com; s=zohoarc; b=ei7f5FfeYZFr4N57s96DnxekUY5Lwo58bVgeLAz5OO5XStQQWyAGMBLQyW4jUQw2ebqdL7ZCNerG+sBD1h9KBXEfEpDDQZ5UK8n8sz0iMUyg5/jQ0+8H5yBTbBj02vJ81KkFkyF6Vp8jI0RAS/ej+KrklSjWkoJLy4uhQdBjzxk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672575; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/cZSw7eZYA9nW+mh3jM5ZF40fdaxfgONBvpYjIhz74s=; b=YHnlWTZvSqErS/P5XDBMTp80UKldyS4anWnkWBpLfljA1RMmpXeqSlE+wsC1rsY3XQq8XGjsvEloMV3Hn5A98jCSFdYGwRP7Shg3RAzH7EkT76CwfNm4oU/EK8bwYzSwCtelO2o++0965/U0fK9dCssk/yaZ4iI+uhHkYsAX70I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579672575464841.0401250837573; Tue, 21 Jan 2020 21:56:15 -0800 (PST) Received: from localhost ([::1]:37064 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8zu-0003aK-1L for importer@patchew.org; Wed, 22 Jan 2020 00:56:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59829) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8vz-0007Yp-2U for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8vx-0004cU-QL for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:10 -0500 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:33585 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8vx-0004cJ-MG for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:09 -0500 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-332-0nLVVY3ZPBq9MPe51RtuHQ-1; Wed, 22 Jan 2020 00:52:07 -0500 Received: by mail-wr1-f69.google.com with SMTP id z10so2535397wrt.21 for ; Tue, 21 Jan 2020 21:52:06 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id z83sm2549268wmg.2.2020.01.21.21.52.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/cZSw7eZYA9nW+mh3jM5ZF40fdaxfgONBvpYjIhz74s=; b=dMtyoXEHm5gXBLNRU8TeG/ZmyyfRGDIfC7l0h082s91ySpIGR6FH+UjuQlefZYb/WpZ45Q C2j+KP8BBHIp3iGT9mTtBuqUIz+hdX/aLNsqMwNpYy/yWSWX8mPp4HtKrt0lasWPLvUmSf 383Z35iU6rDz3mcSaS03nNHTONAZUSc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=mG4C1N5iHUE7eCiLg4lfrsmbX/tB8VxXvzlNPjmYI5U=; b=qT6cepfZr+JaIIHFBzDOoC2DCWFC0Fg9NCUrN8Z9MftfNdwvJFaDFaR0mjw67NbfpM RCaXamiIYP1vixfX0x5wk9zLi4Dlmu6vYNbfnRYiSNIcIgyKwvPxFpGOnlvYWScoFCtB 2LzjkQrgwQCpcyyj7s315HvIt5Z8Cgpn0j/luHdBnR8GBGu1AJ+N7G0/uTRAfr/nPv2q XQltGjakH2FNJ5NEPlc0hucQvvT8Re6XkgF86DnqxQfWEgcLRDmG931lNz2CtzmEpEpo +fdbfrv170iKFm3TcM1eTH/frNP+JSbbl2LxJ39NJTe8UGu8rKXkL4aJTuRgtbFwbbxi 5Dmg== X-Gm-Message-State: APjAAAUUGjeHGlIM2xcJAuv31/nOXf0ky0k+1IdahbYb2hRSO8T5ig6d C2dLDcpkRfUT2peLCFAUMoFtpUYf5SkKAN4kLbhsdFAFF6LuqCtUhJN/Ioor/EYLyCTVojbbBGV xD6HRg8s5mZphzyI= X-Received: by 2002:a5d:6a0f:: with SMTP id m15mr9483248wru.40.1579672325405; Tue, 21 Jan 2020 21:52:05 -0800 (PST) X-Google-Smtp-Source: APXvYqwUX6qhJ9g+CBVqdg5HZ9saccMcQTgF0aEefn1nCA+alG3ee+Tu9cJFJTax4Ebc9vHi7RJoyg== X-Received: by 2002:a5d:6a0f:: with SMTP id m15mr9483220wru.40.1579672325104; Tue, 21 Jan 2020 21:52:05 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:03 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 06/17] acpi: cpuhp: introduce 'Command data 2' field Message-ID: <20200122055115.429945-7-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: 0nLVVY3ZPBq9MPe51RtuHQ-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 205.139.110.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Laszlo Ersek , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Igor Mammedov No functional change in practice, patch only aims to properly document (in spec and code) intended usage of the reserved space. The new field is to be used for 2 purposes: - detection of modern CPU hotplug interface using CPHP_GET_NEXT_CPU_WITH_EVENT_CMD command. procedure will be described in follow up patch: "acpi: cpuhp: spec: add typical usecases" - for returning upper 32 bits of architecture specific CPU ID, for new CPHP_GET_CPU_ID_CMD command added by follow up patch: "acpi: cpuhp: add CPHP_GET_CPU_ID_CMD command" Change is backward compatible with 4.2 and older machines, as field was unconditionally reserved and always returned 0x0 if modern CPU hotplug interface was enabled. Signed-off-by: Igor Mammedov Message-Id: <1575896942-331151-8-git-send-email-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Reviewed-by: Laszlo Ersek --- docs/specs/acpi_cpu_hotplug.txt | 5 ++++- hw/acpi/cpu.c | 11 +++++++++++ hw/acpi/trace-events | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/specs/acpi_cpu_hotplug.txt b/docs/specs/acpi_cpu_hotplug.= txt index 8fb9ad22e6..9879f9ef7e 100644 --- a/docs/specs/acpi_cpu_hotplug.txt +++ b/docs/specs/acpi_cpu_hotplug.txt @@ -44,7 +44,10 @@ keeps the current value. =20 read access: offset: - [0x0-0x3] reserved + [0x0-0x3] Command data 2: (DWORD access) + if value last stored in 'Command field': + 0: reads as 0x0 + other values: reserved [0x4] CPU device status fields: (1 byte access) bits: 0: Device is enabled and may be used by guest diff --git a/hw/acpi/cpu.c b/hw/acpi/cpu.c index 87f30a31d7..d475c06953 100644 --- a/hw/acpi/cpu.c +++ b/hw/acpi/cpu.c @@ -12,6 +12,7 @@ #define ACPI_CPU_FLAGS_OFFSET_RW 4 #define ACPI_CPU_CMD_OFFSET_WR 5 #define ACPI_CPU_CMD_DATA_OFFSET_RW 8 +#define ACPI_CPU_CMD_DATA2_OFFSET_R 0 =20 enum { CPHP_GET_NEXT_CPU_WITH_EVENT_CMD =3D 0, @@ -79,6 +80,16 @@ static uint64_t cpu_hotplug_rd(void *opaque, hwaddr addr= , unsigned size) } trace_cpuhp_acpi_read_cmd_data(cpu_st->selector, val); break; + case ACPI_CPU_CMD_DATA2_OFFSET_R: + switch (cpu_st->command) { + case CPHP_GET_NEXT_CPU_WITH_EVENT_CMD: + val =3D 0; + break; + default: + break; + } + trace_cpuhp_acpi_read_cmd_data2(cpu_st->selector, val); + break; default: break; } diff --git a/hw/acpi/trace-events b/hw/acpi/trace-events index 96b8273297..afbc77de1c 100644 --- a/hw/acpi/trace-events +++ b/hw/acpi/trace-events @@ -23,6 +23,7 @@ cpuhp_acpi_read_flags(uint32_t idx, uint8_t flags) "idx[0= x%"PRIx32"] flags: 0x%" cpuhp_acpi_write_idx(uint32_t idx) "set active cpu idx: 0x%"PRIx32 cpuhp_acpi_write_cmd(uint32_t idx, uint8_t cmd) "idx[0x%"PRIx32"] cmd: 0x%= "PRIx8 cpuhp_acpi_read_cmd_data(uint32_t idx, uint32_t data) "idx[0x%"PRIx32"] da= ta: 0x%"PRIx32 +cpuhp_acpi_read_cmd_data2(uint32_t idx, uint32_t data) "idx[0x%"PRIx32"] d= ata: 0x%"PRIx32 cpuhp_acpi_cpu_has_events(uint32_t idx, bool ins, bool rm) "idx[0x%"PRIx32= "] inserting: %d, removing: %d" cpuhp_acpi_clear_inserting_evt(uint32_t idx) "idx[0x%"PRIx32"]" cpuhp_acpi_clear_remove_evt(uint32_t idx) "idx[0x%"PRIx32"]" --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579673212; cv=none; d=zohomail.com; s=zohoarc; b=SzmkvhljXxTv0w8FXLheVFbycJbY5s62Knt1b14AamPwqw1aH5y0ixTPzcTJ+ANFEIAR3IDJPivqlfwjaOMMvMR8eUooka/vigRDFQ6B2XEmVVvJ5G11TMu64lg4bF4v+3yIYZESN2iOnbsIAnjR89ZtD62/gt/ia5F7xq/rMKU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579673212; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=e6oF8ptLJSLl44PBoGi3WUQj8MqGR3g9tIutmWvq7mo=; b=jIx4L7/TYDBgfqken9igTKIJGnyns6KKoM/zPTMiGeHHXnlUB6Qjw6B/brQwVX2R6H/cZ5MHmbUz9/EcwYqppxePwSv3lFhPhi8EBqFX53/jTAPs1bSeBZJ680+cWZ4/rsrBLqYhfkQGWqV0by9q8ltu8sP0z4YnhgGEKtxug9c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579673212003740.7545813786543; Tue, 21 Jan 2020 22:06:52 -0800 (PST) Received: from localhost ([::1]:37214 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu9AB-0007bL-0F for importer@patchew.org; Wed, 22 Jan 2020 01:06:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60048) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8yp-000382-AZ for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:55:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8yl-00062s-Sx for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:55:07 -0500 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:54182 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8yl-00062g-Ok for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:55:03 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-417-j5dODfXyPTKeQBrDKtHMlg-1; Wed, 22 Jan 2020 00:52:09 -0500 Received: by mail-wr1-f71.google.com with SMTP id f15so2574345wrr.2 for ; Tue, 21 Jan 2020 21:52:09 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id z21sm2573980wml.5.2020.01.21.21.52.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672503; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=e6oF8ptLJSLl44PBoGi3WUQj8MqGR3g9tIutmWvq7mo=; b=UhiqXg00+4m7kQss8ADPYOd9FtUMlmDH5a8qylVnGxzdPTpy3ObRtqpSB1J+PWCKJxMcqJ oCUNo0bHS9QqD/T6bgAso22TkpOQiV2QImVE5GXo+y64B9at7DhmxEHBwQ6K+LJg/ry3MY DL1hyH4Oi/V0tomiAj8Xan9uBb67ixU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=e+M60MZmw7NUe0xGRZqvTtNyN03f8rI9bLRMhM9s7VE=; b=fUEyQxMxIX5n2/6Ow5ZbTrnLLLszeKaNuTa4DHpws85Yns7kgd8ez9Cj9/4fPKHnh+ 61K5+fmjVoggIAYg3a90D9jZon1L8wncNSKyisb2HkBLJzQr2cGUJmNFehPFVpCkTMsx nj/YSJMQfyWT3iK9mqIrIq+s+v56+E4EgZz3kRo09+ZuoN9bZsmkS3xtRalfjJWt5bxK hbaLIDph2rfVWV3MtIPdKU/MZCCV5GPIbn8RYcS+RgVzZPf91TXvBVtfrroYrQLzBk9f wEyBiF8E5SzPcJDBW1et59wmddz7EhTW5C2Y9+IvTst/6KrlB1ONKDPm+sWGP+9bU+tp zwSw== X-Gm-Message-State: APjAAAWgHyLrrH2reAF69rDA3sT0YxJ8GmFqshoECZbE9LYEKzq/FioS Zhtt8m2RXDcqzbrEzBYKca4GvMxgOuLETyYBSaHgIpSBVIjTz9tEDle3SdU83gbu5pB6oTKCXrW bInWJETh492ANIxo= X-Received: by 2002:adf:a746:: with SMTP id e6mr9011703wrd.329.1579672328245; Tue, 21 Jan 2020 21:52:08 -0800 (PST) X-Google-Smtp-Source: APXvYqyZGZhfi5cSW135aQDcfYrg1Tze217waWTrmf2dO4TP3H98PyupYZ7VaRELggtTnlNCZ8LCxA== X-Received: by 2002:adf:a746:: with SMTP id e6mr9011679wrd.329.1579672328008; Tue, 21 Jan 2020 21:52:08 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:05 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 07/17] acpi: cpuhp: spec: add typical usecases Message-ID: <20200122055115.429945-8-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: j5dODfXyPTKeQBrDKtHMlg-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 205.139.110.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Laszlo Ersek , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Igor Mammedov Document work-flows for * enabling/detecting modern CPU hotplug interface * finding a CPU with pending 'insert/remove' event * enumerating present and possible CPUs Signed-off-by: Igor Mammedov Message-Id: <1575896942-331151-9-git-send-email-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Reviewed-by: Laszlo Ersek --- docs/specs/acpi_cpu_hotplug.txt | 51 +++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/docs/specs/acpi_cpu_hotplug.txt b/docs/specs/acpi_cpu_hotplug.= txt index 9879f9ef7e..cb99cf3c8e 100644 --- a/docs/specs/acpi_cpu_hotplug.txt +++ b/docs/specs/acpi_cpu_hotplug.txt @@ -15,14 +15,14 @@ CPU present bitmap for: PIIX-PM (IO port 0xaf00-0xaf1f, 1-byte access) One bit per CPU. Bit position reflects corresponding CPU APIC ID. Read-o= nly. The first DWORD in bitmap is used in write mode to switch from legacy - to new CPU hotplug interface, write 0 into it to do switch. + to modern CPU hotplug interface, write 0 into it to do switch. --------------------------------------------------------------- QEMU sets corresponding CPU bit on hot-add event and issues SCI with GPE.2 event set. CPU present map is read by ACPI BIOS GPE.2 handler to notify OS about CPU hot-add events. CPU hot-remove isn't supported. =20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -ACPI CPU hotplug interface registers: +Modern ACPI CPU hotplug interface registers: ------------------------------------- Register block base address: ICH9-LPC IO port 0x0cd8 @@ -67,6 +67,7 @@ write access: [0x0-0x3] CPU selector: (DWORD access) selects active CPU device. All following accesses to other registers will read/store data from/to selected CPU. + Valid values: [0 .. max_cpus) [0x4] CPU device control fields: (1 byte access) bits: 0: reserved, OSPM must clear it before writing to register. @@ -98,4 +99,48 @@ write access: 2: stores value into OST status register, triggers ACPI_DEVICE_OST QMP event from QEMU to external applicati= ons with current values of OST event and status registers. - other values: reserved + other values: reserved + +Typical usecases: + - (x86) Detecting and enabling modern CPU hotplug interface. + QEMU starts with legacy CPU hotplug interface enabled. Detecting and + switching to modern interface is based on the 2 legacy CPU hotplug f= eatures: + 1. Writes into CPU bitmap are ignored. + 2. CPU bitmap always has bit#0 set, corresponding to boot CPU. + + Use following steps to detect and enable modern CPU hotplug interfac= e: + 1. Store 0x0 to the 'CPU selector' register, + attempting to switch to modern mode + 2. Store 0x0 to the 'CPU selector' register, + to ensure valid selector value + 3. Store 0x0 to the 'Command field' register, + 4. Read the 'Command data 2' register. + If read value is 0x0, the modern interface is enabled. + Otherwise legacy or no CPU hotplug interface available + + - Get a cpu with pending event + 1. Store 0x0 to the 'CPU selector' register. + 2. Store 0x0 to the 'Command field' register. + 3. Read the 'CPU device status fields' register. + 4. If both bit#1 and bit#2 are clear in the value read, there is no = CPU + with a pending event and selected CPU remains unchanged. + 5. Otherwise, read the 'Command data' register. The value read is the + selector of the CPU with the pending event (which is already + selected). + + - Enumerate CPUs present/non present CPUs + 01. Set the present CPU count to 0. + 02. Set the iterator to 0. + 03. Store 0x0 to the 'CPU selector' register, to ensure that it's in + a valid state and that access to other registers won't be ignore= d. + 04. Store 0x0 to the 'Command field' register to make 'Command data' + register return 'CPU selector' value of selected CPU + 05. Read the 'CPU device status fields' register. + 06. If bit#0 is set, increment the present CPU count. + 07. Increment the iterator. + 08. Store the iterator to the 'CPU selector' register. + 09. Read the 'Command data' register. + 10. If the value read is not zero, goto 05. + 11. Otherwise store 0x0 to the 'CPU selector' register, to put it + into a valid state and exit. + The iterator at this point equals "max_cpus". --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672449; cv=none; d=zohomail.com; s=zohoarc; b=cE61667zrCcnrIJ8/pBRbkp7J6HbZdkFtCfhJ92p5lhCp3GU0Jba6xmY7/IXhA6jYHtaWH6JwiqByqQC8xob9GBlT5yXJeNvcKsRHvcPtmIg6QhclOtPxrEMvkh70BlNXhiXsY7WuETxKxNtkVNet2M2/OJRcRLM+S0G9B3KoY0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672449; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=lSs10h7+g5GHkd748u1YKdPjMw3sPPNZXswgwHDuFfc=; b=EU2plKr4rvy6OPD8zOU94CTkNcm35/3guTFOjgwyKYsJd4cr7o9YekOS7mXljo21umXzcw5DHCcUiyVcoRqOUlzl7s7W/ip0tmeZBPqkLn7UmqTEb/40+G7COGy06Nq3fiY+X2FyuPwW9RR4xoBLFgSMOVGcEuVFGXZEUS0mlQE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579672449235282.3108036835905; Tue, 21 Jan 2020 21:54:09 -0800 (PST) Received: from localhost ([::1]:37040 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8xr-00013l-MG for importer@patchew.org; Wed, 22 Jan 2020 00:54:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59855) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8w8-0007k1-22 for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8w5-0004f3-Um for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:18 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:31501 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8w5-0004eL-Qr for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:17 -0500 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-97-DDIfF85aOiCZJ2UdP5kPvw-1; Wed, 22 Jan 2020 00:52:12 -0500 Received: by mail-wr1-f71.google.com with SMTP id v17so2512757wrm.17 for ; Tue, 21 Jan 2020 21:52:12 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id p18sm2413812wmb.8.2020.01.21.21.52.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lSs10h7+g5GHkd748u1YKdPjMw3sPPNZXswgwHDuFfc=; b=TsBI6zEz256Ulf3cRvp8f+pJxKDLKaj04HlzXtkcDvfuiKDkPp9TY4Dvx3rmysnF/F1Lx8 xH0RIYLWhX5/8WXLEDlsp1aoMejVIfPpDRdzV2dmfEzyhjfXdeeCg9KinPFxdczW+hoAOE 1mH7sstBGbTihOcUwu1RnZlA83ZvgG4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=bshZ29A7PK62drys54Y2NwFiWKvTA5OkiFM7lPNvHYk=; b=DiVD05Uc0wZOwHDT3lPg6EV9iwNtArrjyfhm4z0eq3+VWOUCHRqvU8+EIWPsT2tZiy wcaYSknoySGCeedZftj8ftQB9P4wgKo9c+WgK9f1saVEss8VK1a/qqF6zf9ERBkOfnFu S2IBuEWtmf41faQs6RCUx4IVdnA6b0awU44ku8SMBLfCT6y+Pdc1LIijniJAEaBZkRdI zPZrGpRz12JCw+AEQuUEFLfJlxwVp1M74jGajR9IKRSDHo5QcRj9PCj2N3VGnjsgosjg qs4RdOJp+I3GuzeaNeD0u40v83xoYk0euh/axFIFD/99FUpTJdwNALIApXXunRSbtb6Q Kn3w== X-Gm-Message-State: APjAAAXZmavyTvssePpJ+lhqyhFMlKmo0w4VUt5sv+/D9I3XZY12aO2O blk9OFAXhaZDKpvwa3cIAANbTuWWaxQnoTzKPjWGNUL60k0kVQYMSr2G16frzOOrZhdQCH9Dx87 eLLGWCZcWbtvjb6M= X-Received: by 2002:adf:ebc6:: with SMTP id v6mr8862698wrn.75.1579672331093; Tue, 21 Jan 2020 21:52:11 -0800 (PST) X-Google-Smtp-Source: APXvYqxYZU0MD7/VttmeVfqo3pZ2nkyaVSZkLIl6xBOqEvPv40YPjtbiaDdxjI2BTNWQIBeEBaZEgw== X-Received: by 2002:adf:ebc6:: with SMTP id v6mr8862673wrn.75.1579672330829; Tue, 21 Jan 2020 21:52:10 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:08 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 08/17] acpi: cpuhp: add CPHP_GET_CPU_ID_CMD command Message-ID: <20200122055115.429945-9-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: DDIfF85aOiCZJ2UdP5kPvw-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Laszlo Ersek , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Igor Mammedov Firmware can enumerate present at boot APs by broadcasting wakeup IPI, so that woken up secondary CPUs could register them-selves. However in CPU hotplug case, it would need to know architecture specific CPU IDs for possible and hotplugged CPUs so it could prepare environment for and wake hotplugged AP. Reuse and extend existing CPU hotplug interface to return architecture specific ID for currently selected CPU in 2 registers: - lower 32 bits in ACPI_CPU_CMD_DATA_OFFSET_RW - upper 32 bits in ACPI_CPU_CMD_DATA2_OFFSET_R On x86, firmware will use CPHP_GET_CPU_ID_CMD for fetching the APIC ID when handling hotplug SMI. Later, CPHP_GET_CPU_ID_CMD will be used on ARM to retrieve MPIDR, which serves the similar to APIC ID purpose. Signed-off-by: Igor Mammedov Message-Id: <1575896942-331151-10-git-send-email-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Reviewed-by: Laszlo Ersek --- docs/specs/acpi_cpu_hotplug.txt | 3 +++ hw/acpi/cpu.c | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/docs/specs/acpi_cpu_hotplug.txt b/docs/specs/acpi_cpu_hotplug.= txt index cb99cf3c8e..a8ce5e7402 100644 --- a/docs/specs/acpi_cpu_hotplug.txt +++ b/docs/specs/acpi_cpu_hotplug.txt @@ -47,6 +47,7 @@ read access: [0x0-0x3] Command data 2: (DWORD access) if value last stored in 'Command field': 0: reads as 0x0 + 3: upper 32 bits of architecture specific CPU ID value other values: reserved [0x4] CPU device status fields: (1 byte access) bits: @@ -61,6 +62,8 @@ read access: [0x8] Command data: (DWORD access) contains 0 unless value last stored in 'Command field' is one of: 0: contains 'CPU selector' value of a CPU with pending event= [s] + 3: lower 32 bits of architecture specific CPU ID value + (in x86 case: APIC ID) =20 write access: offset: diff --git a/hw/acpi/cpu.c b/hw/acpi/cpu.c index d475c06953..e2c957ce00 100644 --- a/hw/acpi/cpu.c +++ b/hw/acpi/cpu.c @@ -18,6 +18,7 @@ enum { CPHP_GET_NEXT_CPU_WITH_EVENT_CMD =3D 0, CPHP_OST_EVENT_CMD =3D 1, CPHP_OST_STATUS_CMD =3D 2, + CPHP_GET_CPU_ID_CMD =3D 3, CPHP_CMD_MAX }; =20 @@ -75,6 +76,9 @@ static uint64_t cpu_hotplug_rd(void *opaque, hwaddr addr,= unsigned size) case CPHP_GET_NEXT_CPU_WITH_EVENT_CMD: val =3D cpu_st->selector; break; + case CPHP_GET_CPU_ID_CMD: + val =3D cdev->arch_id & 0xFFFFFFFF; + break; default: break; } @@ -85,6 +89,9 @@ static uint64_t cpu_hotplug_rd(void *opaque, hwaddr addr,= unsigned size) case CPHP_GET_NEXT_CPU_WITH_EVENT_CMD: val =3D 0; break; + case CPHP_GET_CPU_ID_CMD: + val =3D cdev->arch_id >> 32; + break; default: break; } --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672618; cv=none; d=zohomail.com; s=zohoarc; b=EW9YUaDn/MtAtAhv8VS3vdwpwuq6PbHODOmnLduhhowqPD2u+foW+DO9pYx+ENRrU4snyy50/L0nBrILx86SZKvxFiqDf0T9sqAkcQAFuBtQ/zfynUALlGMcxCEg2YhdGAnxlvgGmc72ocga/oNPxz0akAjLaLJQvDomRnov46Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672618; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=eTnESgkc4Q1IE7eK3yhiRdRiKjKhsh/o/b9VSLnbvfo=; b=WMzhfDX3CjwY5sYl7GZSge7rcaI7ifbveCvRYEWNUwlZ5L0BmCCuLGIBmr5iNDhk6otJwp+wTzb18srrTkecSc2JbC2nfuXOXXaMdgtQbwQVX0zeq71Iknn0VrJjUg+bBybZObrilSBJWJWL0ASUNW01okPz083iU7kZqWrQxpw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579672618801118.7324794364273; Tue, 21 Jan 2020 21:56:58 -0800 (PST) Received: from localhost ([::1]:37084 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu90b-0004To-7J for importer@patchew.org; Wed, 22 Jan 2020 00:56:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59849) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8w6-0007jB-L3 for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8w5-0004ej-FP for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:18 -0500 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:27220 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8w5-0004eY-Bj for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:17 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-105-_ogpkDDrNxCa2xwNCATdyw-1; Wed, 22 Jan 2020 00:52:15 -0500 Received: by mail-wr1-f70.google.com with SMTP id u18so2523459wrn.11 for ; Tue, 21 Jan 2020 21:52:14 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id r62sm2741473wma.32.2020.01.21.21.52.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eTnESgkc4Q1IE7eK3yhiRdRiKjKhsh/o/b9VSLnbvfo=; b=T3sODZ2zQhZ17Q1IbGBKpAmlG4zHpX4enPEphIhrbfefBVhPO/QSRHtYwGAitfQ472z20Z MGA4QbRb8kKvzfGjuJodarmzYG5bfaSe0TQSp8/XqDN72g1xe1LdgBumXb/54Xk468OcmK JnUTUwJ1f1+Twn12ku9APNbGifYTBPo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=eAd3+nCoRQPzLOmjcY8CULrwvjv4VOu8uY/RSRtK8kQ=; b=V6ZPgMngttcE8AMgqHmm4HxygudPSJtBKDID1FHXiKN57MDaGwf4oIlPlRWB/o6JDo /IpoKt+WXVynHuvsJ1YKOyGC8IxfCzZh7WEakeYuUkrhYYu4R9V822XVEoBWd5NY0k/E vXw0vKH7joLLBIsSl+IBeixuzF40U2Rys+dPBtB96uNEkw94ag5MXm7Z3lcBqY7rO01N FAFfaaYFfv9Bhghx/nyOe8PM4XbILx9pIakPCrG9ljeKpbcGMayPV8zWcNdWtNFZ9nx9 GICQp9uzpgkaIvrEt6USd36N+y4TN1vOKXFlgDkA0LfvwyGn2kHK6weLLJ8xSofdGT+V 1Qng== X-Gm-Message-State: APjAAAX7c9P0j0JrHMKrVVpW+ZCi6bCCIz3WMvlXqxH/r/OnlrIb5v6a fFeDbMLGuNlaOHdpyPSoUC+tEayNvGoDwHTd4Py6DYL7GlsAIDLVKkbjs+t+c7MK7og6GCP6ihH Rlg7Og/YHzvd4DiQ= X-Received: by 2002:a7b:c85a:: with SMTP id c26mr916122wml.107.1579672333811; Tue, 21 Jan 2020 21:52:13 -0800 (PST) X-Google-Smtp-Source: APXvYqwmJIDsTQgLxKUE05HDlhhpmmTdJLeLAcbQ1VpU9acFlZcUvU3SPJ2PMKutdT9aXVqXaD0axQ== X-Received: by 2002:a7b:c85a:: with SMTP id c26mr916105wml.107.1579672333608; Tue, 21 Jan 2020 21:52:13 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:11 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 09/17] bios-tables-test: document expected file update Message-ID: <20200122055115.429945-10-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: _ogpkDDrNxCa2xwNCATdyw-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Peter Maydell , Thomas Huth , Paolo Bonzini , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Document the flow for the case where contributor updates the expected files. Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index f1ac2d7e96..3ab4872bd7 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -16,7 +16,10 @@ * 1. add empty files for new tables, if any, under tests/data/acpi * 2. list any changed files in tests/bios-tables-test-allowed-diff.h * 3. commit the above *before* making changes that affect the tables - * Maintainer: + * + * Contributor or ACPI Maintainer (steps 4-7 need to be redone to resolve = conflicts + * in binary commit created in step 6): + * * After 1-3 above tests will pass but ignore differences with the expecte= d files. * You will also notice that tests/bios-tables-test-allowed-diff.h lists * a bunch of files. This is your hint that you need to do the below: @@ -28,13 +31,23 @@ * output. If not - disassemble them yourself in any way you like. * Look at the differences - make sure they make sense and match what the * changes you are merging are supposed to do. + * Save the changes, preferably in form of ASL diff for the commit log in + * step 6. * * 5. From build directory, run: * $(SRC_PATH)/tests/data/acpi/rebuild-expected-aml.sh - * 6. Now commit any changes. - * 7. Before doing a pull request, make sure tests/bios-tables-test-allowe= d-diff.h - * is empty - this will ensure following changes to ACPI tables will - * be noticed. + * 6. Now commit any changes to the expected binary, include diff from ste= p 4 + * in commit log. + * 7. Before sending patches to the list (Contributor) + * or before doing a pull request (Maintainer), make sure + * tests/bios-tables-test-allowed-diff.h is empty - this will ensure + * following changes to ACPI tables will be noticed. + * + * The resulting patchset/pull request then looks like this: + * - patch 1: list changed files in tests/bios-tables-test-allowed-diff.h. + * - patches 2 - n: real changes, may contain multiple patches. + * - patch n + 1: update golden master binaries and empty + * tests/bios-tables-test-allowed-diff.h */ =20 #include "qemu/osdep.h" --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579673113; cv=none; d=zohomail.com; s=zohoarc; b=ZNiuq21LUISzr1VzG6LZzf+CETBLblSxexkpWUrHG1PyUN6YjdTq+yV7cx+4qI8EJez9vAFhDRT3doD2EqDIp2RZtMMEIfwc8uXGCIcrMEpQKRn+jh6ytzKejY3vGdrYmnPuPQ3oZmSy9dQbnb52bGriAQoVum1KjBsplwbXwYc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579673113; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7X8PjfcFHzdyIHec4OG6du8gOrCYueQPk/uwOaIht1o=; b=CgSmrLYhQfzL5WFmZsurq8tC+3tPleNwYBb2bM4Vr3xLXaT9WGN47VGZL/SXJq+SqcwcAh/7mh5ASOfxCAehy2xg1D3Bk9DWA0092jFhovARkdWE5pSGpWGjFSxe8KaeeIFLhpnn//XXf5ZODRLhl9LrbQtw/3WYPXc+7ODhidk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579673113275226.1428133376055; Tue, 21 Jan 2020 22:05:13 -0800 (PST) Received: from localhost ([::1]:37178 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu98a-0005ew-5o for importer@patchew.org; Wed, 22 Jan 2020 01:05:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60039) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8ym-00036c-F3 for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:55:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8yl-00062c-Av for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:55:04 -0500 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:31822 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8yl-00062R-6m for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:55:03 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-280-oan0X_gaPR6qBeX9o2WTIw-1; Wed, 22 Jan 2020 00:52:18 -0500 Received: by mail-wr1-f70.google.com with SMTP id h30so2536033wrh.5 for ; Tue, 21 Jan 2020 21:52:17 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id y7sm3397894wmd.1.2020.01.21.21.52.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672502; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7X8PjfcFHzdyIHec4OG6du8gOrCYueQPk/uwOaIht1o=; b=NSUMCQPVLIHBXKJi7iKTH3bEbRzQThVr7O478iaN9iq+MdArqQZWhMBVIZPdFPryKunx5K ErZDAESspQRPfnPSMGXqpeN1rwgyIyp6oIGmptoFsBnmUySqnlXgALNggTKCNyjdKLsdsG owpkBexwL6fDOirKpnoutbnliQo4X4Q= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=dKz9Yp7TsPHys5pVT0H9YPlrICr7T8Twac2SXPW2Rdw=; b=J1BZekiadLq0f0jFljxIKnb+5IrC1VbsM6lgoBT2ATEsWF9jH89UatHNLpSnXIdZA3 CiTPYwScRd1XqGPA54LMTWcXO/s6DKGUf675/AvgOeQiiPixtjhyU4SvS3ginY8oYu+U qRI/kA8AmZY9ECuvSxBBh91esyKneKsh5KYF9+LcOJxLCEDsush3ylJNXb+2u9YIojds GJCoVBUyjDEMAAtuMsx3zmdxVlksIhz77+8HPj9Gax0bfJalWOAPeHa4KydmKVf8YzxY mDZcJuYc+x+k2mgy06ovl443O1Mu4uSMYs2Ew1slRK8VAGpXUVz0Czya0qSnbnwrI8xC ZrNg== X-Gm-Message-State: APjAAAV9crnMOvNi0vqwsHT4qidu5vUT1l5ts0KggNhfRJvqmw/gF9Ox eTvJP95AWb3FJ3KFgAkgI+Z5JpMX+zt/+elrTTbveUE7ct+4L2RmBadSWCQv2LKUqgUT+ocGfjA ahmb65tIAsZ1XEVQ= X-Received: by 2002:a1c:6406:: with SMTP id y6mr983521wmb.144.1579672336785; Tue, 21 Jan 2020 21:52:16 -0800 (PST) X-Google-Smtp-Source: APXvYqzTaifIBwWsSl25yOVqAFDjlyQFK+ET+dfLxecNRF/RnTuNJLGSe8imqWJ7N1YdLgxwSGm9Zg== X-Received: by 2002:a1c:6406:: with SMTP id y6mr983502wmb.144.1579672336622; Tue, 21 Jan 2020 21:52:16 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:14 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 10/17] virtio-9p-device: fix memleak in virtio_9p_device_unrealize Message-ID: <20200122055115.429945-11-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: oan0X_gaPR6qBeX9o2WTIw-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 205.139.110.61 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Christian Schoenebeck , Pan Nengyuan , Greg Kurz , Euler Robot Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Pan Nengyuan v->vq forgot to cleanup in virtio_9p_device_unrealize, the memory leak stack is as follow: Direct leak of 14336 byte(s) in 2 object(s) allocated from: #0 0x7f819ae43970 (/lib64/libasan.so.5+0xef970) ??:? #1 0x7f819872f49d (/lib64/libglib-2.0.so.0+0x5249d) ??:? #2 0x55a3a58da624 (./x86_64-softmmu/qemu-system-x86_64+0x2c14624) /mnt/s= db/qemu/hw/virtio/virtio.c:2327 #3 0x55a3a571bac7 (./x86_64-softmmu/qemu-system-x86_64+0x2a55ac7) /mnt/s= db/qemu/hw/9pfs/virtio-9p-device.c:209 #4 0x55a3a58e7bc6 (./x86_64-softmmu/qemu-system-x86_64+0x2c21bc6) /mnt/s= db/qemu/hw/virtio/virtio.c:3504 #5 0x55a3a5ebfb37 (./x86_64-softmmu/qemu-system-x86_64+0x31f9b37) /mnt/s= db/qemu/hw/core/qdev.c:876 Reported-by: Euler Robot Signed-off-by: Pan Nengyuan Message-Id: <20200117060927.51996-2-pannengyuan@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Reviewed-by: Christian Schoenebeck Acked-by: Greg Kurz --- hw/9pfs/virtio-9p-device.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c index 991e175c82..ba35892940 100644 --- a/hw/9pfs/virtio-9p-device.c +++ b/hw/9pfs/virtio-9p-device.c @@ -218,6 +218,7 @@ static void virtio_9p_device_unrealize(DeviceState *dev= , Error **errp) V9fsVirtioState *v =3D VIRTIO_9P(dev); V9fsState *s =3D &v->state; =20 + virtio_del_queue(vdev, 0); virtio_cleanup(vdev); v9fs_device_unrealize_common(s, errp); } --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672939; cv=none; d=zohomail.com; s=zohoarc; b=DCCp8+44DGUcotgFkoEQ/ADUjCQrc5m5R//d89Rb7QMgOROU6SMii+C5ZCXJiSJ+9+fLBBeCd8n/dZjOvLGSW6LQw2w7zo7eXjZPbbTiNrP/T6SGv1O4NhkCCrYynZ2wEnyqv/ke3TU5dAYioZBWP8jCSNsSrkOMzVL2m86f6fw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672939; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=WBcIJ+XtEg+ynI5J149ubW51ZuYdwReRoLvMT6MynBM=; b=lkhn5YTTF/eKmNXE67ZvgYT/234JR/lXJSide9ECfonwKOLf5/fSL6ylklnWx44P+vZcgMk589t0Mshjl5Wq3Zrjl7dpC0sFHY4BurgVKs44h++u/rePsmzzAFO6B9uE1CTl8h9Ahi81BzhYd+STpp6i6OeBfrnOE5GDUl6acTs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579672939217669.4216740075881; Tue, 21 Jan 2020 22:02:19 -0800 (PST) Received: from localhost ([::1]:37150 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu95l-0002Iu-Ak for importer@patchew.org; Wed, 22 Jan 2020 01:02:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59874) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8wC-0007r7-PI for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8wB-0004iC-Kn for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:24 -0500 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:22672 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8wB-0004hz-Gg for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:23 -0500 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-289-3cYK1LSgMXCLpfu_kOt8sg-1; Wed, 22 Jan 2020 00:52:21 -0500 Received: by mail-wr1-f72.google.com with SMTP id f10so2558673wro.14 for ; Tue, 21 Jan 2020 21:52:20 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id u7sm2450601wmj.3.2020.01.21.21.52.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WBcIJ+XtEg+ynI5J149ubW51ZuYdwReRoLvMT6MynBM=; b=WmwOoTFM7pDbelGqHGahA1sxg1do2/9UOrUOS8Xq0tz5tduYJn7woxSklOIIY3IwUkXMSi xbuWZFzoUueBM6+9B2C6Pd7M4yv50y6kTPD/PuveUGi4gDI/TZRzz7Tc2f9vfAD5h5x0bO ERQxoMuSPMM52Q84qSriKc1hlAe/BzQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=crW7LUnM5y+vbTajSaV+13MSOoh5cZCcUuqLsKZn8gg=; b=eRKedrgIvVoiPoc/Z6JIKMZ4FhBcJ1KEb9WIaKxoObWrC38ZlBaqHWLHhfE8O9F4z4 Z5H/0U9ZD31Qsyn9LPCz5ZUvycUdVV74Ey0EtdiJykX2a2lbWHTF/3PySGxv6HYq7Ps4 D+/gfodpPnPHWzqXLJX06ipynQ2drxxu37UWllL48AP+/HrPSLUfGnpd5XYgBGnNbSFQ pMLtK5kOAUqjOhNtPXAHsjkLxZ99O1HuvN3oKL+Lb7nN1CZ42CPTILc8Hn92WdsODaRq x+dNIEhfStbfJgXH4AjRLSmXD11ErYl2LKe72L5tkTn+vEkSgiUsNuO0/gXBTt5aA2Bp raxA== X-Gm-Message-State: APjAAAUphjO2F2LS8qxUZroEfieDPlzhZxRUrInVd7QHCMC/JQVLkC0f imNJs7fN+vM5ohrKsxGvHmYSFBOhajcchoJyIIzRbXqKLhGhibmD9z+0WlILaOjSjIk/7fmlO33 zBmhGyh3JnN8bSaA= X-Received: by 2002:a5d:68c5:: with SMTP id p5mr8729642wrw.193.1579672339612; Tue, 21 Jan 2020 21:52:19 -0800 (PST) X-Google-Smtp-Source: APXvYqzD1MlErhdZ5m4C0FDaw4hNRzK0dz17IeiQUKYmnA6WWFF9OSnMDS2DBuYISZFOfipOZAinug== X-Received: by 2002:a5d:68c5:: with SMTP id p5mr8729631wrw.193.1579672339455; Tue, 21 Jan 2020 21:52:19 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:17 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 11/17] virtio-9p-device: convert to new virtio_delete_queue Message-ID: <20200122055115.429945-12-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: 3cYK1LSgMXCLpfu_kOt8sg-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Christian Schoenebeck , Pan Nengyuan , Greg Kurz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Pan Nengyuan Use virtio_delete_queue to make it more clear. Signed-off-by: Pan Nengyuan Message-Id: <20200117060927.51996-3-pannengyuan@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Acked-by: Christian Schoenebeck --- hw/9pfs/virtio-9p-device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c index ba35892940..1d1c50409c 100644 --- a/hw/9pfs/virtio-9p-device.c +++ b/hw/9pfs/virtio-9p-device.c @@ -218,7 +218,7 @@ static void virtio_9p_device_unrealize(DeviceState *dev= , Error **errp) V9fsVirtioState *v =3D VIRTIO_9P(dev); V9fsState *s =3D &v->state; =20 - virtio_del_queue(vdev, 0); + virtio_delete_queue(v->vq); virtio_cleanup(vdev); v9fs_device_unrealize_common(s, errp); } --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672936; cv=none; d=zohomail.com; s=zohoarc; b=XVyU9uJfN2fQLDCvskWONT0r9JX+X7Xosk+BmNG8uUIG7tkXXMoXzIxLV8BFkAIq6816mlAyXgnH5GlbM7Gal7ksHzrJJrBCDRjVZhKDgU6fBdy/3l1Fn8Oe8uBVzHAst/mgLYCXtPfx86U6fybda0Mn/WXtZmw4ks/VhuC/cBM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672936; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=EE2u/AAZTtiTF3BR1usKNAN0L1IlKKsiavRWKotl39g=; b=Df9KFJ/mG9T8F9zY+GivPKDY0J5rpoMmxjRbGoHwbPmKNYhTrH830xlTXm834rpGcEZTSodk3XPkK1qBxQdBL4Lf3b6g9JInXWeL+c6W1oc7v73J4x6cC7LllAU4D3CP2SixD2NdSPVOFh9RN1f2gQNzEQ/+Pq4/6Zb66jQFrg0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 15796729361937.855875477343034; Tue, 21 Jan 2020 22:02:16 -0800 (PST) Received: from localhost ([::1]:37147 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu95i-0002Et-HY for importer@patchew.org; Wed, 22 Jan 2020 01:02:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59885) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8wF-0007vX-Im for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8wE-0004ix-Gd for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:27 -0500 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:46348 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8wE-0004in-Cl for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:26 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-306-FvcvQntGOniG-HOaSYDZjQ-1; Wed, 22 Jan 2020 00:52:24 -0500 Received: by mail-wr1-f70.google.com with SMTP id u12so2541929wrt.15 for ; Tue, 21 Jan 2020 21:52:23 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id f1sm2282591wmc.45.2020.01.21.21.52.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EE2u/AAZTtiTF3BR1usKNAN0L1IlKKsiavRWKotl39g=; b=Jh9wcscvMOCco77tVRRwaqf+CAJtZNunEF/EJ18M0+c7J5bn1iUE2Lhnlg9h2hEzaUj6Ty ZOyDWtx85cYW/LCeBCK/a4apjDY50IHpbVPSL+IBwDWn2bZ4Ezg4dtY0c/Njfmhv5SBUcq 3+N3MzGGcm4ep8lFODarVj4tYCdgX1M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=uL+2BTDQ25Kv4JEooHriCyXb60bUBMFr6mqaTgyAVpc=; b=J60fBRIajnhHqyNv1nx2Ju6ZAN1q+4hQTFSk/nqE7+ozBSXjIIIlye5Ds8D/hM/L16 vhEl95FJXYOU8W3AIsH5KjiZ3tdQKc6a9V9QSoZLvPGyZHJmWFwzXA4NRG1xIaqDey82 TlleIXhrryJ0B3otTOB4IsovdVw+uGevKCK3ZMT4GP4+UkcDmZRy9aHjlW3IqlpuWgXC AMeF4ZBKXOzRb8tOzMn5FjPtOm9RcsrBT9Yg2QXeURmGRkFWi9Abx8KkqRzlKIueLSzk I04thzUj2N97YfwAkQdujyUxKTzv8uS28MpDZ2QqxRmaRb4srkYJfy216VFnjYMKbiAq ADpQ== X-Gm-Message-State: APjAAAX7ZTAJ22AAhomHXniQyFVbzOwkDd9HbNZXneColSF2+4sA1WWF Dkdwx6D6S/AsD8FoxgwhPa+9of162ZTOvC9m7pUa8khrAKsOYHIjElhpEAZvPa/QtraSyEZ5SDO t/z9BcrK94IZQLoQ= X-Received: by 2002:a7b:c74c:: with SMTP id w12mr905089wmk.1.1579672342726; Tue, 21 Jan 2020 21:52:22 -0800 (PST) X-Google-Smtp-Source: APXvYqxXd8z0wSVBm185mKPiPe+D2urgW8/geaBtaVp6C9432XWeIibNjidZNCEZTgNHcLiNPKz4Xg== X-Received: by 2002:a7b:c74c:: with SMTP id w12mr905071wmk.1.1579672342588; Tue, 21 Jan 2020 21:52:22 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:20 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 12/17] virtio-scsi: delete vqs in unrealize to avoid memleaks Message-ID: <20200122055115.429945-13-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: FvcvQntGOniG-HOaSYDZjQ-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 205.139.110.61 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Peter Maydell , Pan Nengyuan , Stefan Hajnoczi , Euler Robot , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Pan Nengyuan This patch fix memleaks when attaching/detaching virtio-scsi device, the memory leak stack is as follow: Direct leak of 21504 byte(s) in 3 object(s) allocated from: #0 0x7f491f2f2970 (/lib64/libasan.so.5+0xef970) ??:? #1 0x7f491e94649d (/lib64/libglib-2.0.so.0+0x5249d) ??:? #2 0x564d0f3919fa (./x86_64-softmmu/qemu-system-x86_64+0x2c3e9fa) /mnt/s= db/qemu/hw/virtio/virtio.c:2333 #3 0x564d0f2eca55 (./x86_64-softmmu/qemu-system-x86_64+0x2b99a55) /mnt/s= db/qemu/hw/scsi/virtio-scsi.c:912 #4 0x564d0f2ece7b (./x86_64-softmmu/qemu-system-x86_64+0x2b99e7b) /mnt/s= db/qemu/hw/scsi/virtio-scsi.c:924 #5 0x564d0f39ee47 (./x86_64-softmmu/qemu-system-x86_64+0x2c4be47) /mnt/s= db/qemu/hw/virtio/virtio.c:3531 #6 0x564d0f980224 (./x86_64-softmmu/qemu-system-x86_64+0x322d224) /mnt/s= db/qemu/hw/core/qdev.c:865 Reported-by: Euler Robot Signed-off-by: Pan Nengyuan Message-Id: <20200117075547.60864-2-pannengyuan@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Reviewed-by: Stefan Hajnoczi --- hw/scsi/virtio-scsi.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c index 4bc73a370e..858b3aaccb 100644 --- a/hw/scsi/virtio-scsi.c +++ b/hw/scsi/virtio-scsi.c @@ -943,7 +943,13 @@ void virtio_scsi_common_unrealize(DeviceState *dev) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIOSCSICommon *vs =3D VIRTIO_SCSI_COMMON(dev); + int i; =20 + virtio_del_queue(vdev, 0); + virtio_del_queue(vdev, 1); + for (i =3D 0; i < vs->conf.num_queues; i++) { + virtio_del_queue(vdev, i + 2); + } g_free(vs->cmd_vqs); virtio_cleanup(vdev); } --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672631; cv=none; d=zohomail.com; s=zohoarc; b=CNFYZXEihrQsYJsG/sVSwtJaPLeXlT2GCwtnK1wH/EzmZzWKRrtsk+Ge6yoAMN0V0hPty9k7oamtVXyUkiWg06PrTMVYzY8Cq5fauY5WTYZhp+JBVikcm/Q3qJ7NGwCFWrC2GOBMbUsM2BnfOe6KSH7NCZKLa4BEe0Ipj4o9T+s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672631; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1MaCdSCC18sa84xXKLha22neuWnQ0FyF+hqtGDwgw+w=; b=NH/W/+wXthckU+5/g6hMyEB0iQqW6mAGkoPvnvB11qUqJiJvaloABBEw6HiHcRz8gty/3dgi2l6BjknN7qRGhFPj3PjB9B7FsWrOFsh6QagPHGv5lHF21tpUEMvoFPBxDz0jTPNXnlQh4iSxjtt5T2CVM8q3IncCXopcej4meMY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579672631075917.2066140338925; Tue, 21 Jan 2020 21:57:11 -0800 (PST) Received: from localhost ([::1]:37086 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu90m-0004gd-SZ for importer@patchew.org; Wed, 22 Jan 2020 00:57:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59898) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8wK-00082v-Dw for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8wJ-0004kF-Ae for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:32 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:50541 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8wJ-0004k7-6y for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:31 -0500 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-181-AFVKhVSyOTqf3Lfdmo6WQA-1; Wed, 22 Jan 2020 00:52:27 -0500 Received: by mail-wm1-f70.google.com with SMTP id t16so1613299wmt.4 for ; Tue, 21 Jan 2020 21:52:26 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id q6sm58897606wrx.72.2020.01.21.21.52.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1MaCdSCC18sa84xXKLha22neuWnQ0FyF+hqtGDwgw+w=; b=NxUsimbaWev2Q6m1vRqkMEPLoZsTrSiS79BTTF3tuTnVZMzIWE7Y2GGFHrAdSJ2tkMamoE vV/j4LT3vtVGQoY/RkV4gszmH0HC5r+GSjJb2WTUabHLeaABugcBzkDzNfrd+RzqNRiuie zlAH943G2WtNtJjpgA9UMU+kzBlekl8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=JmSFm2DvEaju83wiB8EwbENmzUyJC9M0V+2bn9XbrpU=; b=j4HnNBq0Lv4hrdYoO/eei/MVJaqAW/IF5cIHro185NuuHv+JmcfLAHsUZtnQxoleLL Y9z9+8+Vcf8D8weAJkPTr/jjITTB4wCaSbXj30NiQcb/fWt4733gvZYotESnnSVAhZdc RI3CyEYG2Su+ma5DIbMiG2UT/+corqerBIJEvccd2ls3njuNByeUGLRHbZSh1riG/HYH CU8j4WVgWU4m8oBWXswF2ss8jmeATX0BSsqXQ9Y0bAKDKdsXqy4B7rv6dysyGDAeF3Gt rXptyg+vmIfaXBFYn3tY0BlDFqGzRzX/6f9PbDOAIbEpg70v8rhKCuikwbub0BLJCF8R Y27A== X-Gm-Message-State: APjAAAUHfuRWIIGA8kj4iXvbX47KyJE/pH+/tOP8nbP1ZNnz+GLGpi8I q/qDTLKcKR4YQLaq0NXuf7ZZaxcFeLngaq0DB8LIv6o6BJkxhpMSM43CcpcKDiWSwOdjcSW7P19 JdeJ1Le0n9jemI1s= X-Received: by 2002:a7b:c1c2:: with SMTP id a2mr960161wmj.52.1579672345660; Tue, 21 Jan 2020 21:52:25 -0800 (PST) X-Google-Smtp-Source: APXvYqzLOPTXGwAtfIcyYu5fkDYFruZ3PhvNeYsy/Y0e+ZvGo69yInY1370A9wcc1LT7PtBosTaQBg== X-Received: by 2002:a7b:c1c2:: with SMTP id a2mr960143wmj.52.1579672345486; Tue, 21 Jan 2020 21:52:25 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:23 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 13/17] virtio-scsi: convert to new virtio_delete_queue Message-ID: <20200122055115.429945-14-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: AFVKhVSyOTqf3Lfdmo6WQA-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Peter Maydell , Pan Nengyuan , Stefan Hajnoczi , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Pan Nengyuan Use virtio_delete_queue to make it more clear. Signed-off-by: Pan Nengyuan Message-Id: <20200117075547.60864-3-pannengyuan@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Reviewed-by: Stefan Hajnoczi --- hw/scsi/virtio-scsi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c index 858b3aaccb..d3af42ef92 100644 --- a/hw/scsi/virtio-scsi.c +++ b/hw/scsi/virtio-scsi.c @@ -945,10 +945,10 @@ void virtio_scsi_common_unrealize(DeviceState *dev) VirtIOSCSICommon *vs =3D VIRTIO_SCSI_COMMON(dev); int i; =20 - virtio_del_queue(vdev, 0); - virtio_del_queue(vdev, 1); + virtio_delete_queue(vs->ctrl_vq); + virtio_delete_queue(vs->event_vq); for (i =3D 0; i < vs->conf.num_queues; i++) { - virtio_del_queue(vdev, i + 2); + virtio_delete_queue(vs->cmd_vqs[i]); } g_free(vs->cmd_vqs); virtio_cleanup(vdev); --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672783; cv=none; d=zohomail.com; s=zohoarc; b=IR+Y4hHuxT4ADDucnneb0KGBJDngFeXyTxkQDEBSYcMh6Cl6FSrjHfAExHRJ5tckHFLKTBabfSQ/pl0SvjE7N0lgwrmqIvbIu1R7U4+0xMOWyv6sYvHvoPzvEdeD+wCOdY7hIi0r5FE1ad1xgNlAYKgJajLNh6TCc5Sumdr7Jp0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672783; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Fvu/JejnrpbIYjtd6kH0elorwKES/+22eaULELxAawU=; b=QspX7HPwady6KE7b5bTS/2VKc26mHpWGflAcyekluUmtfzK17PfNQSruRk2pJhZUC8FG4E2dGSQZ7rWQyITkjQij6mMRMGkWzftPOSd4M79AMcijQaF0bGNwXh20RtuK6hIDL1O0jCPtqA2OCV/HyqAdUZfW7Av452W6gjN2uhk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579672783713649.7322956262688; Tue, 21 Jan 2020 21:59:43 -0800 (PST) Received: from localhost ([::1]:37112 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu93G-0008C9-6I for importer@patchew.org; Wed, 22 Jan 2020 00:59:42 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59909) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8wM-00086F-0u for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8wK-0004ko-Ha for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:33 -0500 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:38025 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8wK-0004kY-Dr for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:32 -0500 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-281-5G-ZC4XSMn2wW4x6Dh0oHA-1; Wed, 22 Jan 2020 00:52:30 -0500 Received: by mail-wm1-f71.google.com with SMTP id b9so1611791wmj.6 for ; Tue, 21 Jan 2020 21:52:30 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id x10sm54796703wrp.58.2020.01.21.21.52.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672352; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Fvu/JejnrpbIYjtd6kH0elorwKES/+22eaULELxAawU=; b=dozQDJsQeRzcmkSzlbIBzuprvnuBxtDwz5B3+at+JcW7DlLOsnOviuIqnGUsrlnaOZHgX3 lyWWZFa8r3KbeZb9uS6jziIzWk7Og3ltUqUa57xkCH0+mZ++0+j4JQmQpdlpeNlA4pi33Q 56/jCeddQFrJ0O/1ebQwX76YfUt7HsY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=Pvkfe/62fecBB0WaC+0Ls5admcVzWgltEZR0OGv8pe0=; b=CKc9GbCaffJxi2A7cV7sBDhdJeT/ZsPwX7CC69v8dY6AxgAHUS9kM6Rl+GkfFTMC9y QL0RqvT29ELn2TI4b/AaIh0oXX1nuNOstIxn/MDPPb47/g2z5kYD5JiqrNUDVcn2Yz5B 1quLPlx87xm6S64Q+ZRLdDJThNd412zZ0XnvHjmdsJldkewnLAQceg+nbwbbOq2BOha1 KgFpeReY9qhazwR8rfkGxT5fjdTXNqQiv8w0cUhWTxeHWD/D6n0+Z9olLNtazldyxuDt A9ZKcJI1nPbE5elTYyljHWDuQfObc/IH1dxQ+3NIl7npiuzBJQyti/jSez3kDo8Incu9 6Tpg== X-Gm-Message-State: APjAAAWKxAHKIEnVCeXfnKLEEiba93jkSKJ72h7w6Tz1undMjS9vf+OM DEHPeUsRKMoSqKxs8lSR1UsH6+1XwZwQn5tc2ZZYxEKoaXmCRXskspyv1Ge7M/TP3BpsbRK5xBs X+P4RS+WRrFg45fo= X-Received: by 2002:adf:fe8c:: with SMTP id l12mr8843896wrr.215.1579672348700; Tue, 21 Jan 2020 21:52:28 -0800 (PST) X-Google-Smtp-Source: APXvYqzOo3WKw+ZTQYmeK6ibfu1TYMDxUXFo2zZZOqd5txWYy8zKU/jaSnDaNCClNYxlMTOjCgOO6g== X-Received: by 2002:adf:fe8c:: with SMTP id l12mr8843875wrr.215.1579672348443; Tue, 21 Jan 2020 21:52:28 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:26 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 14/17] vhost-vsock: delete vqs in vhost_vsock_unrealize to avoid memleaks Message-ID: <20200122055115.429945-15-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: 5G-ZC4XSMn2wW4x6Dh0oHA-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Stefano Garzarella , Pan Nengyuan , Stefan Hajnoczi , Euler Robot Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Pan Nengyuan Receive/transmit/event vqs forgot to cleanup in vhost_vsock_unrealize. This patch save receive/transmit vq pointer in realize() and cleanup vqs through those vq pointers in unrealize(). The leak stack is as follow: Direct leak of 21504 byte(s) in 3 object(s) allocated from: #0 0x7f86a1356970 (/lib64/libasan.so.5+0xef970) ??:? #1 0x7f86a09aa49d (/lib64/libglib-2.0.so.0+0x5249d) ??:? #2 0x5604852f85ca (./x86_64-softmmu/qemu-system-x86_64+0x2c3e5ca) /mnt/s= db/qemu/hw/virtio/virtio.c:2333 #3 0x560485356208 (./x86_64-softmmu/qemu-system-x86_64+0x2c9c208) /mnt/s= db/qemu/hw/virtio/vhost-vsock.c:339 #4 0x560485305a17 (./x86_64-softmmu/qemu-system-x86_64+0x2c4ba17) /mnt/s= db/qemu/hw/virtio/virtio.c:3531 #5 0x5604858e6b65 (./x86_64-softmmu/qemu-system-x86_64+0x322cb65) /mnt/s= db/qemu/hw/core/qdev.c:865 #6 0x5604861e6c41 (./x86_64-softmmu/qemu-system-x86_64+0x3b2cc41) /mnt/s= db/qemu/qom/object.c:2102 Reported-by: Euler Robot Signed-off-by: Pan Nengyuan Message-Id: <20200115062535.50644-1-pannengyuan@huawei.com> Reviewed-by: Stefano Garzarella Reviewed-by: Stefan Hajnoczi Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/vhost-vsock.h | 2 ++ hw/virtio/vhost-vsock.c | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/include/hw/virtio/vhost-vsock.h b/include/hw/virtio/vhost-vsoc= k.h index d509d67c4a..bc5a988ee5 100644 --- a/include/hw/virtio/vhost-vsock.h +++ b/include/hw/virtio/vhost-vsock.h @@ -33,6 +33,8 @@ typedef struct { struct vhost_virtqueue vhost_vqs[2]; struct vhost_dev vhost_dev; VirtQueue *event_vq; + VirtQueue *recv_vq; + VirtQueue *trans_vq; QEMUTimer *post_load_timer; =20 /*< public >*/ diff --git a/hw/virtio/vhost-vsock.c b/hw/virtio/vhost-vsock.c index f5744363a8..b6cee479bb 100644 --- a/hw/virtio/vhost-vsock.c +++ b/hw/virtio/vhost-vsock.c @@ -335,8 +335,10 @@ static void vhost_vsock_device_realize(DeviceState *de= v, Error **errp) sizeof(struct virtio_vsock_config)); =20 /* Receive and transmit queues belong to vhost */ - virtio_add_queue(vdev, VHOST_VSOCK_QUEUE_SIZE, vhost_vsock_handle_outp= ut); - virtio_add_queue(vdev, VHOST_VSOCK_QUEUE_SIZE, vhost_vsock_handle_outp= ut); + vsock->recv_vq =3D virtio_add_queue(vdev, VHOST_VSOCK_QUEUE_SIZE, + vhost_vsock_handle_output); + vsock->trans_vq =3D virtio_add_queue(vdev, VHOST_VSOCK_QUEUE_SIZE, + vhost_vsock_handle_output); =20 /* The event queue belongs to QEMU */ vsock->event_vq =3D virtio_add_queue(vdev, VHOST_VSOCK_QUEUE_SIZE, @@ -363,6 +365,9 @@ static void vhost_vsock_device_realize(DeviceState *dev= , Error **errp) err_vhost_dev: vhost_dev_cleanup(&vsock->vhost_dev); err_virtio: + virtio_delete_queue(vsock->recv_vq); + virtio_delete_queue(vsock->trans_vq); + virtio_delete_queue(vsock->event_vq); virtio_cleanup(vdev); close(vhostfd); return; @@ -379,6 +384,9 @@ static void vhost_vsock_device_unrealize(DeviceState *d= ev, Error **errp) vhost_vsock_set_status(vdev, 0); =20 vhost_dev_cleanup(&vsock->vhost_dev); + virtio_delete_queue(vsock->recv_vq); + virtio_delete_queue(vsock->trans_vq); + virtio_delete_queue(vsock->event_vq); virtio_cleanup(vdev); } =20 --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579673086; cv=none; d=zohomail.com; s=zohoarc; b=G/PE11ax5uy2Iyw0GxlBbvNS/3hsh8GfUeFtMetvtxfSZdOIg4+caTMG3VTeSsbrKizeF8jAP6D7HqfceE2tgVU+ei/n46/TvLIfq19rQWRC9VGoKOFrnjq8QESPp66rQUmop4JTTKjBAVgqsDhXh1P1A+77oaSz6uauUw+zcrY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579673086; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=rfFv49LFSLdXK1/7HJzZJqCabeu5CMr+Q9T61Qs2V4s=; b=TidVJJl9Z3/fSc0muFvu8yNXmIoNc+LWYsjXMamVd25q5IOo/tONHmExnNKpQzXLRoIUX+cRhsJSZU4kyUjIjmC3PqS6Q9Jkqpek8WIck8VZl+hSj/7BBxbCUTbJq+fsy1um4EgAqLK+v0JAL1Xa7sLqlcRPWgCPfzIgFOQoNFE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579673086424684.2075535093026; Tue, 21 Jan 2020 22:04:46 -0800 (PST) Received: from localhost ([::1]:37176 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu988-0005F0-Be for importer@patchew.org; Wed, 22 Jan 2020 01:04:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60090) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8zl-0004Cs-N8 for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:56:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8zk-0006N5-Gq for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:56:05 -0500 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:43367 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8zk-0006M6-Cc for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:56:04 -0500 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-347-H36N8YsHPxaa59tLGSO8YQ-1; Wed, 22 Jan 2020 00:52:32 -0500 Received: by mail-wm1-f69.google.com with SMTP id w205so1612537wmb.5 for ; Tue, 21 Jan 2020 21:52:32 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id s16sm57581474wrn.78.2020.01.21.21.52.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rfFv49LFSLdXK1/7HJzZJqCabeu5CMr+Q9T61Qs2V4s=; b=Q//XH7SWwWFycgLnV2GE/hfRGwiQFI/PaOj0UCYSIKp0CRyr0+abLODgUgdCgxvzKVFTq/ lCvCrXLagUGx8ZTNGAdIJuu/AjO7V0UGn9lDykpz96yUpONvPNvHdYmFoWeOlu6CL3qJek /WXg9GxTCinNHWqaCvuUaPNe0uDqJes= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=EdvlCEDlyygl5LZfs8930w7NjWVUhDfxRmswNGuyQBQ=; b=WMzm4g+XVO3WCkDJE6/citmKDdx+lvfAvMku43XKl2ZmLmsHBSQEIYUUtRGzxXMV8g hdY6BFmXT8H7AkX1oT2L9kaLN/Wm3RA6K2/e1ebTiCo7O5VIcJhBJ3Y9IXA8f36YOEsI ZThczp8Du/sEHg53uJ84Nfsah9UQXpMzFc8PqYKmD+q0l6ScgHvZ7EXXNA30z0XL9Sfb aITtYwTtjPIJuTH4qnJ0IYW6//GRBb0K6Iwln7yRgAaur3CYBmUomgnFcqYbK1S8ruL4 1HEDx3FR0QByZsjnoUgTe0u8VkUEzv7hkWSB/zBpZNGoQSnMshHqvnPyd0t8z0ULnBqZ h8tQ== X-Gm-Message-State: APjAAAVAGlhDNTVJOH3V7GBUEB8y0iEibldl0mmCdkS8KKMIvlXkpMwY CQpzux7iiw+N/jr6WcG4INi1HEv9u+KitLJ91A+C7owRP9TdlyNKYvgA48yrXzNASZLoO0g3WGV LvgwpdmT0eZxi6bE= X-Received: by 2002:a5d:6a02:: with SMTP id m2mr9031720wru.52.1579672351333; Tue, 21 Jan 2020 21:52:31 -0800 (PST) X-Google-Smtp-Source: APXvYqyYr1MIy6k1BrsQIYe+CBStkKXLBVLc0qgHfRnoPaCg7SX3mcsoJRF6DzpVNraANblBO0dq2A== X-Received: by 2002:a5d:6a02:: with SMTP id m2mr9031703wru.52.1579672351064; Tue, 21 Jan 2020 21:52:31 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:29 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 15/17] vhost: Add names to section rounded warning Message-ID: <20200122055115.429945-16-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: H36N8YsHPxaa59tLGSO8YQ-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , "Dr. David Alan Gilbert" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" From: "Dr. David Alan Gilbert" Add the memory region names to section rounding/alignment warnings. Signed-off-by: Dr. David Alan Gilbert Message-Id: <20200116202414.157959-2-dgilbert@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/vhost.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 4da0d5a6c5..774d87d98e 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -590,9 +590,10 @@ static void vhost_region_add_section(struct vhost_dev = *dev, * match up in the same RAMBlock if they do. */ if (mrs_gpa < prev_gpa_start) { - error_report("%s:Section rounded to %"PRIx64 - " prior to previous %"PRIx64, - __func__, mrs_gpa, prev_gpa_start); + error_report("%s:Section '%s' rounded to %"PRIx64 + " prior to previous '%s' %"PRIx64, + __func__, section->mr->name, mrs_gpa, + prev_sec->mr->name, prev_gpa_start); /* A way to cleanly fail here would be better */ return; } --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579672972; cv=none; d=zohomail.com; s=zohoarc; b=mLQj5d/w4dM6WdwcrEwu8bnimyGVrY8z1iMggW+0f5Smkq/DxVND5Y686QjlOtiHh9Sm7lsO7RoUtXPlXNm6xvCUiVQIjIt7/yn+4VQTGBuMzGneuEGN4ftrgBdTh+r9QiD/zgIHPycXKUdNpTWqg8N9GTvK6j4wg0NVyit2MRk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579672972; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=sUTzXG5c0P/cfpSyLzCfAtskYDWEcm5+URpIdvpUQzQ=; b=QPyFpOoHXyJloU9UQ6dD17QUEbnETf2mR66lg7TvUvFkIy/UKZk1dFdeYTTGKbRltG6WZLfqe832841H1cEH2471Mji+HLBhk6ttleftxBgRoLxTndGGWUasDymP3dY5+1oJsutBbnmQ3iPFC9RMjly3lQxdG5skalGl0XSiB58= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579672972663528.5435503158349; Tue, 21 Jan 2020 22:02:52 -0800 (PST) Received: from localhost ([::1]:37156 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu96J-0002zr-6E for importer@patchew.org; Wed, 22 Jan 2020 01:02:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59924) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8wT-0008Ho-K0 for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8wS-0004mq-Di for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:41 -0500 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:54177 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8wS-0004mk-9O for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:52:40 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-420-sIQvDZfLM1q3At90k3IYIw-1; Wed, 22 Jan 2020 00:52:35 -0500 Received: by mail-wr1-f70.google.com with SMTP id z14so2578868wrs.4 for ; Tue, 21 Jan 2020 21:52:35 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id s8sm54249628wrt.57.2020.01.21.21.52.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672359; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sUTzXG5c0P/cfpSyLzCfAtskYDWEcm5+URpIdvpUQzQ=; b=IoBBvlVndBCZRgF72dJrpLSyqDEmaNW85lm+a16+Pk3d2akwVpfcdQRKvki3FrshGwTF0c KXG4vjLFcZqQEL4w3vddUJzVZyHPmiXorracECg9a9Hebmybn1cCelkQGwGi3i4eEq010o Qwl/p+wrTRJUj43LaZu0hlaz+QS0MW8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=miOqrXp0EkoFa9QINKw9BvmGX6vXumq1+xiaY2GCJjQ=; b=tCbcnHUT0BiJWtN1zfqCypb7yVvCBCH4YsiRIrpMA9kXhDJpxs1HYoh6JwPHenjaM1 yc/n6MnuusTteM231M/b1ZlVaamqoGlVJoA5d/JRafz8n2eqiwdzxpi16s2aMJ7lLUO5 lVrzpKB4cDb/+7FIjiU3jijhA/jxoWKjmrLB6GH4XjkOpQaVfO2I4W2bhRLASYsOyLfv JablR1R9Z9WbcjwXW7R5JedGr2hQR+k3R9DIK0p7pKT8rAva2zccsMJHnWsXdP8l8Qnc Xf+1livy7OQNXtPRfwNPoRhZ7QIOvW3Ot4cp62/msyHJEZwPaLOSnXWZjzwcTstk0HAb kXfg== X-Gm-Message-State: APjAAAVpmSozxTfvyuv1RIweqES3F3Mp07LHbOMAKzk+EJL1LglCoeVA 9UVPqNzPx+Olx2fu6ZPKvdVMP5CLlat5DwnQnwBskLznOAxc9pPh4AXVFsUS1Xy6n+fHqB0O1+V E85R4x6i/SFsYupI= X-Received: by 2002:a5d:6748:: with SMTP id l8mr9368982wrw.188.1579672354163; Tue, 21 Jan 2020 21:52:34 -0800 (PST) X-Google-Smtp-Source: APXvYqwhbcmUFLIN5b6tTMH2NkObelThzQQzhOmbt5t8nUXv+9nZXWvgcqZaZUNPLWmMAROutW44tw== X-Received: by 2002:a5d:6748:: with SMTP id l8mr9368959wrw.188.1579672353916; Tue, 21 Jan 2020 21:52:33 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:31 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 16/17] vhost: Only align sections for vhost-user Message-ID: <20200122055115.429945-17-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: sIQvDZfLM1q3At90k3IYIw-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 205.139.110.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , "Dr. David Alan Gilbert" , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" From: "Dr. David Alan Gilbert" I added hugepage alignment code in c1ece84e7c9 to deal with vhost-user + postcopy which needs aligned pages when using userfault. However, on x86 the lower 2MB of address space tends to be shotgun'd with small fragments around the 512-640k range - e.g. video RAM, and with HyperV synic pages tend to sit around there - again splitting it up. The alignment code complains with a 'Section rounded to ...' error and gives up. Since vhost-user already filters out devices without an fd (see vhost-user.c vhost_user_mem_section_filter) it shouldn't be affected by those overlaps. Turn the alignment off on vhost-kernel so that it doesn't try and align, and thus won't hit the rounding issues. Signed-off-by: Dr. David Alan Gilbert Message-Id: <20200116202414.157959-3-dgilbert@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Reviewed-by: Paolo Bonzini --- hw/virtio/vhost.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 774d87d98e..25fd469179 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -547,26 +547,28 @@ static void vhost_region_add_section(struct vhost_dev= *dev, uintptr_t mrs_host =3D (uintptr_t)memory_region_get_ram_ptr(section->m= r) + section->offset_within_region; RAMBlock *mrs_rb =3D section->mr->ram_block; - size_t mrs_page =3D qemu_ram_pagesize(mrs_rb); =20 trace_vhost_region_add_section(section->mr->name, mrs_gpa, mrs_size, mrs_host); =20 - /* Round the section to it's page size */ - /* First align the start down to a page boundary */ - uint64_t alignage =3D mrs_host & (mrs_page - 1); - if (alignage) { - mrs_host -=3D alignage; - mrs_size +=3D alignage; - mrs_gpa -=3D alignage; + if (dev->vhost_ops->backend_type =3D=3D VHOST_BACKEND_TYPE_USER) { =20 + /* Round the section to it's page size */ + /* First align the start down to a page boundary */ + size_t mrs_page =3D qemu_ram_pagesize(mrs_rb); + uint64_t alignage =3D mrs_host & (mrs_page - 1); + if (alignage) { + mrs_host -=3D alignage; + mrs_size +=3D alignage; + mrs_gpa -=3D alignage; + } + /* Now align the size up to a page boundary */ + alignage =3D mrs_size & (mrs_page - 1); + if (alignage) { + mrs_size +=3D mrs_page - alignage; + } + trace_vhost_region_add_section_aligned(section->mr->name, mrs_gpa,= mrs_size, + mrs_host); } - /* Now align the size up to a page boundary */ - alignage =3D mrs_size & (mrs_page - 1); - if (alignage) { - mrs_size +=3D mrs_page - alignage; - } - trace_vhost_region_add_section_aligned(section->mr->name, mrs_gpa, mrs= _size, - mrs_host); =20 if (dev->n_tmp_sections) { /* Since we already have at least one section, lets see if --=20 MST From nobody Sat May 18 18:02:04 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1579673145; cv=none; d=zohomail.com; s=zohoarc; b=hW4AN/FpDJbX/o6lJy9giaBcGO47pd9M/l8cjSz9TPO0CIaUEr1P1EkAvF4WDnDahyew/laXETOL8ytsBAFPJIjB+QzXB3q971BBcISz1Xs7WW4+GWl+Q4bU2sjs/OBhHKobzEuvBzV9TWlJNW+/+j5Z5zeNcklxI8Qh1iBPdBY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1579673145; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=shDErniZALdZVUBKLmpqngo2SuBwNsdBv211Ad3xNJo=; b=DXo0sXbrA67FxIx7pyAGlhGaJsih+RZ7dUmybmwBTgJfv1udCGvpZ5PN0jHxVREKfjKYIKuMRNjJuwwJIMraEbqFND+RjdlM1laKrN0emeAJs1YcrpryCpSXm0Fbes11QFHhIYooVuePzpy4Rk1FgoSrDLN5RDDcp9LnvswryhQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1579673145437242.51265068759767; Tue, 21 Jan 2020 22:05:45 -0800 (PST) Received: from localhost ([::1]:37182 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu995-00060n-1s for importer@patchew.org; Wed, 22 Jan 2020 01:05:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:60092) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iu8zl-0004DB-V6 for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:56:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iu8zk-0006NB-H1 for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:56:05 -0500 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:29789 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iu8zk-0006M1-CF for qemu-devel@nongnu.org; Wed, 22 Jan 2020 00:56:04 -0500 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-239-VV20bqGGO9KTVs-J0uZObA-1; Wed, 22 Jan 2020 00:52:38 -0500 Received: by mail-wr1-f70.google.com with SMTP id u12so2542132wrt.15 for ; Tue, 21 Jan 2020 21:52:38 -0800 (PST) Received: from redhat.com (bzq-79-176-0-156.red.bezeqint.net. [79.176.0.156]) by smtp.gmail.com with ESMTPSA id b16sm57543354wrj.23.2020.01.21.21.52.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jan 2020 21:52:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579672562; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=shDErniZALdZVUBKLmpqngo2SuBwNsdBv211Ad3xNJo=; b=ZVTsjeH51elmaw/9yIQ6sQHd0xJrVqx2Gn5sjArenWST1ORXbY29d3kWeJFMTx/+OuJxJV P/gAF6CkaACnEA8GvbeYwODiJSMFub6IJWzCiHevd+JQoqxX1ZZAiQmzaGuRXCfmjmJBr0 +1IpEAvlWybzm0ZxKJi/7nmeDQX6SiA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=Vgii6CvMxdS++BmWpBDM1UCzoYjAMdxcKLgmBhMBs2I=; b=WlodtYkuQcxjsKD23uv7N/Gf9QLYLT4IY5xrF917tUfBfnPpR4e2C/Jqtec5VUTeiF +S7QKQbNpIUgJxYAM69lGud/2laShAUo5tfK68UfWM7JvOUOsIugrA8/0/P5OM+rV4ZW i0jTBkhhg1mX8yTmYifwhD3UQ2uh0RaTH3Bule4m2oirqFIkxkRRTOuAIyQKIEseBCAN E9upoAiSVb/wYtiv4Tn8wOFWWx+PyQb6btsLx9YZgaXPek93DnvN1rpYHq8zzVY1tPJY +ySRxC+gDpAKkcbhwFgFnMWraJW5BDvTYAKUIsa/0E7/jQhIFIYx/jgTSusrNQcpYduY TH+g== X-Gm-Message-State: APjAAAWLC+Fo1I1fc6cHfsxSywBZ3tbwouwDWj/psqtXcQbkuUTHpNpC /IB9lEW0hpquHKURKehE6sqHFLZ8BJy9DWyvZpMdmCgNCTnS48YiBP7opqORTNW/Jjnjm5eJTWk MPcCmJgwzwUksAbM= X-Received: by 2002:a1c:dcd5:: with SMTP id t204mr969597wmg.34.1579672357063; Tue, 21 Jan 2020 21:52:37 -0800 (PST) X-Google-Smtp-Source: APXvYqxiOlhv9ORqx3+dtTvHBcqZ7pJOMYLidYJqzTU2aaGtDYXeMfVE9O2/lhOWvnwFedyKYNezww== X-Received: by 2002:a1c:dcd5:: with SMTP id t204mr969578wmg.34.1579672356871; Tue, 21 Jan 2020 21:52:36 -0800 (PST) Date: Wed, 22 Jan 2020 00:52:34 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Subject: [PULL 17/17] i386:acpi: Remove _HID from the SMBus ACPI entry Message-ID: <20200122055115.429945-18-mst@redhat.com> References: <20200122055115.429945-1-mst@redhat.com> MIME-Version: 1.0 In-Reply-To: <20200122055115.429945-1-mst@redhat.com> X-Mailer: git-send-email 2.24.1.751.gd10ce2899c X-Mutt-Fcc: =sent X-MC-Unique: VV20bqGGO9KTVs-J0uZObA-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Eduardo Habkost , Corey Minyard , Paolo Bonzini , Igor Mammedov , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Corey Minyard Per the ACPI spec (version 6.1, section 6.1.5 _HID) it is not required on enumerated buses (like PCI in this case), _ADR is required (and is already there). And the _HID value is wrong. Linux appears to ignore the _HID entry, but Windows 10 detects it as 'Unknown Device' and there is no driver available. See https://bugs.launchpad.net/qemu/+bug/1856724 Signed-off-by: Corey Minyard Cc: Michael S. Tsirkin Cc: Igor Mammedov Reviewed-by: Igor Mammedov Message-Id: <20200120170725.24935-6-minyard@acm.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/acpi-build.c | 1 - tests/data/acpi/q35/DSDT | Bin 7879 -> 7869 bytes tests/data/acpi/q35/DSDT.bridge | Bin 7896 -> 7886 bytes tests/data/acpi/q35/DSDT.cphp | Bin 8342 -> 8332 bytes tests/data/acpi/q35/DSDT.dimmpxm | Bin 9532 -> 9522 bytes tests/data/acpi/q35/DSDT.ipmibt | Bin 7954 -> 7944 bytes tests/data/acpi/q35/DSDT.memhp | Bin 9238 -> 9228 bytes tests/data/acpi/q35/DSDT.mmio64 | Bin 9009 -> 8999 bytes tests/data/acpi/q35/DSDT.numamem | Bin 7885 -> 7875 bytes 9 files changed, 1 deletion(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index e25df838f0..9c4e46fa74 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -1816,7 +1816,6 @@ static void build_smb0(Aml *table, I2CBus *smbus, int= devnr, int func) Aml *scope =3D aml_scope("_SB.PCI0"); Aml *dev =3D aml_device("SMB0"); =20 - aml_append(dev, aml_name_decl("_HID", aml_eisaid("APP0005"))); aml_append(dev, aml_name_decl("_ADR", aml_int(devnr << 16 | func))); build_acpi_ipmi_devices(dev, BUS(smbus), "\\_SB.PCI0.SMB0"); aml_append(scope, dev); diff --git a/tests/data/acpi/q35/DSDT b/tests/data/acpi/q35/DSDT index 77ea60ffed421c566138fe6341421f579129a582..1f91888d7a485850cf27f152e24= 7a90b208003dc 100644 GIT binary patch delta 42 xcmX?ZyVsV>CDe&h`+ diff --git a/tests/data/acpi/q35/DSDT.dimmpxm b/tests/data/acpi/q35/DSDT.di= mmpxm index 23fdf5e60a5069f60d6c680ac9c68c4a8a81318e..02ccdd5f38d5b2356dcca89398c= 41dcf2595dfff 100644 GIT binary patch delta 42 xcmdnvwaJUiCDv8151UVN}qe1Nm3L39&;u&FFx2QKET=3D2Ai9Y^*w@Km^J2+-Rsi7S3kU!J delta 52 zcmeCMn`Fo366_KpB+tOWxOgL1ouss?UVN}qe1Nm3L3ER3u&>&QD-BUv81%BUVN}qe1Nm3L3ER3u&