From patchwork Mon Feb 8 18:22:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076635 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 681D9C433DB for ; Mon, 8 Feb 2021 22:38:56 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D74D264E56 for ; Mon, 8 Feb 2021 22:38:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D74D264E56 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:36704 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FBG-0002cc-QU for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:38:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50218) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCG-0002rz-ED for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:43 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:36564) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCE-00060v-0b for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:40 -0500 Received: by mail-wm1-x32e.google.com with SMTP id i9so68787wmq.1 for ; Mon, 08 Feb 2021 10:23:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yZ8FJGpwv9jExrvVdhSWdwCQKB+Qbmvb2iNieGmctWs=; b=Z4o97dp9EZH7zlbLlTpt34qBq4S4NjfGpECV6/bMyure+qEj0Uo5nUuikviofNMwE1 Tkgaq4VQ6HBSmpXGoIdH9/GddxvooJTM17lblrbj/r/LDJ7OxbW0OhWOxbP+8H9oQWJl JZicFCv9aFyJ6msyGqjwPEcbZsO3qEiRu07qXTn3J5Snz4rz788PW+ZpOfeAk1Xm+D9P 8CmvV2+WJIw6o1ycKbgkq3aILDBescdQVH6ubWlg+nYsUQnpcW/MrkfYOBiXmwlTMB9N uxyN7fE1atGIOqgphFuBXJ79HaTXdWjpslhgV0HzV+N9bWv0+25cN/frDh1Km8k49FhX X+GQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=yZ8FJGpwv9jExrvVdhSWdwCQKB+Qbmvb2iNieGmctWs=; b=rKrMtbnr6FuaV73hp4RJR1f3yajauMfI9NAxFfpw6xvSrtfuj2Iv26i9CXFia4xqrx OKQKNbfiuwgPeK7Yjaf2kNxZ3wbVW3vI9KZtcakGfX9+fAymXhpbvrWzb8Pj9SPaXDzm E6mTHQng541jD7nT9rIbxUV5Y2WZ8FLlyFTplfyY6fGb0rmXZjRlc+HhT8Vl6b0LZPts 6/wskBPav/Qw49Iudod+vgnfdoTAWVLd7xFaX5P5Uh0H2kkF/dAN5mwaKSBnv1a6GZpS tF3nxNurnkSCs7hofJnuBEOu0aiPQb9+XZUDSJ725sv3BwkkirrViOLZvTO5hpo7G8Mt PcLw== X-Gm-Message-State: AOAM531G441ln4nQrke0iTgcgQ7YGz7ArpsJw0scVDsoenawY7wI6Mno gL3RdbP7M8Vlk9T9HxaVhn8u3dzs24pIQg== X-Google-Smtp-Source: ABdhPJz1Tfh8em7uwEkaGr0btwKQRHAGfcg/y4HM/TD4x4IIK65QRDFkeqGGTkVRhYEQHvcLc5JvYQ== X-Received: by 2002:a05:600c:2ca:: with SMTP id 10mr33090wmn.151.1612808614727; Mon, 08 Feb 2021 10:23:34 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:34 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 01/46] fuzz: ignore address_space_map is_write flag Date: Mon, 8 Feb 2021 19:22:46 +0100 Message-Id: <20210208182331.58897-2-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x32e.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Alexander Bulekov , Darren Kenny Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Alexander Bulekov We passed an is_write flag to the fuzz_dma_read_cb function to differentiate between the mapped DMA regions that need to be populated with fuzzed data, and those that don't. We simply passed through the address_space_map is_write parameter. The goal was to cut down on unnecessarily populating mapped DMA regions, when they are not read from. Unfortunately, nothing precludes code from reading from regions mapped with is_write=true. For example, see: https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg04729.html This patch removes the is_write parameter to fuzz_dma_read_cb. As a result, we will fill all mapped DMA regions with fuzzed data, ignoring the specified transfer direction. Signed-off-by: Alexander Bulekov Reviewed-by: Darren Kenny Message-Id: <20210120060255.558535-1-alxndr@bu.edu> --- include/exec/memory.h | 8 +++----- include/exec/memory_ldst_cached.h.inc | 6 +++--- memory_ldst.c.inc | 8 ++++---- softmmu/memory.c | 5 ++--- softmmu/physmem.c | 4 ++-- tests/qtest/fuzz/generic_fuzz.c | 9 +++------ 6 files changed, 17 insertions(+), 23 deletions(-) diff --git a/include/exec/memory.h b/include/exec/memory.h index c6ce74fb79..ecba90bfd8 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -45,13 +45,11 @@ DECLARE_OBJ_CHECKERS(IOMMUMemoryRegion, IOMMUMemoryRegionClass, #ifdef CONFIG_FUZZ void fuzz_dma_read_cb(size_t addr, size_t len, - MemoryRegion *mr, - bool is_write); + MemoryRegion *mr); #else static inline void fuzz_dma_read_cb(size_t addr, size_t len, - MemoryRegion *mr, - bool is_write) + MemoryRegion *mr) { /* Do Nothing */ } @@ -2506,7 +2504,7 @@ address_space_read_cached(MemoryRegionCache *cache, hwaddr addr, void *buf, hwaddr len) { assert(addr < cache->len && len <= cache->len - addr); - fuzz_dma_read_cb(cache->xlat + addr, len, cache->mrs.mr, false); + fuzz_dma_read_cb(cache->xlat + addr, len, cache->mrs.mr); if (likely(cache->ptr)) { memcpy(buf, cache->ptr + addr, len); return MEMTX_OK; diff --git a/include/exec/memory_ldst_cached.h.inc b/include/exec/memory_ldst_cached.h.inc index 01efad62de..7bc8790d34 100644 --- a/include/exec/memory_ldst_cached.h.inc +++ b/include/exec/memory_ldst_cached.h.inc @@ -28,7 +28,7 @@ static inline uint32_t ADDRESS_SPACE_LD_CACHED(l)(MemoryRegionCache *cache, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { assert(addr < cache->len && 4 <= cache->len - addr); - fuzz_dma_read_cb(cache->xlat + addr, 4, cache->mrs.mr, false); + fuzz_dma_read_cb(cache->xlat + addr, 4, cache->mrs.mr); if (likely(cache->ptr)) { return LD_P(l)(cache->ptr + addr); } else { @@ -40,7 +40,7 @@ static inline uint64_t ADDRESS_SPACE_LD_CACHED(q)(MemoryRegionCache *cache, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { assert(addr < cache->len && 8 <= cache->len - addr); - fuzz_dma_read_cb(cache->xlat + addr, 8, cache->mrs.mr, false); + fuzz_dma_read_cb(cache->xlat + addr, 8, cache->mrs.mr); if (likely(cache->ptr)) { return LD_P(q)(cache->ptr + addr); } else { @@ -52,7 +52,7 @@ static inline uint32_t ADDRESS_SPACE_LD_CACHED(uw)(MemoryRegionCache *cache, hwaddr addr, MemTxAttrs attrs, MemTxResult *result) { assert(addr < cache->len && 2 <= cache->len - addr); - fuzz_dma_read_cb(cache->xlat + addr, 2, cache->mrs.mr, false); + fuzz_dma_read_cb(cache->xlat + addr, 2, cache->mrs.mr); if (likely(cache->ptr)) { return LD_P(uw)(cache->ptr + addr); } else { diff --git a/memory_ldst.c.inc b/memory_ldst.c.inc index 2fed2de18e..b56e961967 100644 --- a/memory_ldst.c.inc +++ b/memory_ldst.c.inc @@ -42,7 +42,7 @@ static inline uint32_t glue(address_space_ldl_internal, SUFFIX)(ARG1_DECL, MO_32 | devend_memop(endian), attrs); } else { /* RAM case */ - fuzz_dma_read_cb(addr, 4, mr, false); + fuzz_dma_read_cb(addr, 4, mr); ptr = qemu_map_ram_ptr(mr->ram_block, addr1); switch (endian) { case DEVICE_LITTLE_ENDIAN: @@ -111,7 +111,7 @@ static inline uint64_t glue(address_space_ldq_internal, SUFFIX)(ARG1_DECL, MO_64 | devend_memop(endian), attrs); } else { /* RAM case */ - fuzz_dma_read_cb(addr, 8, mr, false); + fuzz_dma_read_cb(addr, 8, mr); ptr = qemu_map_ram_ptr(mr->ram_block, addr1); switch (endian) { case DEVICE_LITTLE_ENDIAN: @@ -177,7 +177,7 @@ uint32_t glue(address_space_ldub, SUFFIX)(ARG1_DECL, r = memory_region_dispatch_read(mr, addr1, &val, MO_8, attrs); } else { /* RAM case */ - fuzz_dma_read_cb(addr, 1, mr, false); + fuzz_dma_read_cb(addr, 1, mr); ptr = qemu_map_ram_ptr(mr->ram_block, addr1); val = ldub_p(ptr); r = MEMTX_OK; @@ -215,7 +215,7 @@ static inline uint32_t glue(address_space_lduw_internal, SUFFIX)(ARG1_DECL, MO_16 | devend_memop(endian), attrs); } else { /* RAM case */ - fuzz_dma_read_cb(addr, 2, mr, false); + fuzz_dma_read_cb(addr, 2, mr); ptr = qemu_map_ram_ptr(mr->ram_block, addr1); switch (endian) { case DEVICE_LITTLE_ENDIAN: diff --git a/softmmu/memory.c b/softmmu/memory.c index c0c814fbb9..23e8e33001 100644 --- a/softmmu/memory.c +++ b/softmmu/memory.c @@ -1440,7 +1440,7 @@ MemTxResult memory_region_dispatch_read(MemoryRegion *mr, unsigned size = memop_size(op); MemTxResult r; - fuzz_dma_read_cb(addr, size, mr, false); + fuzz_dma_read_cb(addr, size, mr); if (!memory_region_access_valid(mr, addr, size, false, attrs)) { *pval = unassigned_mem_read(mr, addr, size); return MEMTX_DECODE_ERROR; @@ -3285,8 +3285,7 @@ void memory_region_init_rom_device(MemoryRegion *mr, #ifdef CONFIG_FUZZ void __attribute__((weak)) fuzz_dma_read_cb(size_t addr, size_t len, - MemoryRegion *mr, - bool is_write) + MemoryRegion *mr) { } #endif diff --git a/softmmu/physmem.c b/softmmu/physmem.c index 243c3097d3..96efaef97a 100644 --- a/softmmu/physmem.c +++ b/softmmu/physmem.c @@ -2839,7 +2839,7 @@ MemTxResult flatview_read_continue(FlatView *fv, hwaddr addr, stn_he_p(buf, l, val); } else { /* RAM case */ - fuzz_dma_read_cb(addr, len, mr, false); + fuzz_dma_read_cb(addr, len, mr); ram_ptr = qemu_ram_ptr_length(mr->ram_block, addr1, &l, false); memcpy(buf, ram_ptr, l); } @@ -3200,7 +3200,7 @@ void *address_space_map(AddressSpace *as, memory_region_ref(mr); *plen = flatview_extend_translation(fv, addr, len, mr, xlat, l, is_write, attrs); - fuzz_dma_read_cb(addr, *plen, mr, is_write); + fuzz_dma_read_cb(addr, *plen, mr); ptr = qemu_ram_ptr_length(mr->ram_block, xlat, plen, true); return ptr; diff --git a/tests/qtest/fuzz/generic_fuzz.c b/tests/qtest/fuzz/generic_fuzz.c index be76d47d2d..deb74f15be 100644 --- a/tests/qtest/fuzz/generic_fuzz.c +++ b/tests/qtest/fuzz/generic_fuzz.c @@ -175,7 +175,7 @@ static int memory_access_size(MemoryRegion *mr, unsigned l, hwaddr addr) * generic_fuzz(), avoiding potential race-conditions, which we don't have * a good way for reproducing right now. */ -void fuzz_dma_read_cb(size_t addr, size_t len, MemoryRegion *mr, bool is_write) +void fuzz_dma_read_cb(size_t addr, size_t len, MemoryRegion *mr) { /* Are we in the generic-fuzzer or are we using another fuzz-target? */ if (!qts_global) { @@ -187,14 +187,11 @@ void fuzz_dma_read_cb(size_t addr, size_t len, MemoryRegion *mr, bool is_write) * - We have no DMA patterns defined * - The length of the DMA read request is zero * - The DMA read is hitting an MR other than the machine's main RAM - * - The DMA request is not a read (what happens for a address_space_map - * with is_write=True? Can the device use the same pointer to do reads?) * - The DMA request hits past the bounds of our RAM */ if (dma_patterns->len == 0 || len == 0 || mr != current_machine->ram - || is_write || addr > current_machine->ram_size) { return; } @@ -213,12 +210,12 @@ void fuzz_dma_read_cb(size_t addr, size_t len, MemoryRegion *mr, bool is_write) double_fetch = true; if (addr < region.addr && avoid_double_fetches) { - fuzz_dma_read_cb(addr, region.addr - addr, mr, is_write); + fuzz_dma_read_cb(addr, region.addr - addr, mr); } if (addr + len > region.addr + region.size && avoid_double_fetches) { fuzz_dma_read_cb(region.addr + region.size, - addr + len - (region.addr + region.size), mr, is_write); + addr + len - (region.addr + region.size), mr); } return; } From patchwork Mon Feb 8 18:22:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076681 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CB1EAC433DB for ; Mon, 8 Feb 2021 22:54:44 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3199E64DDB for ; Mon, 8 Feb 2021 22:54:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3199E64DDB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:55852 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FQY-0005j9-T7 for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:54:42 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50194) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCF-0002rs-TV for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:43 -0500 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:40935) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCE-00061d-0h for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:39 -0500 Received: by mail-wr1-x432.google.com with SMTP id v14so2805386wro.7 for ; Mon, 08 Feb 2021 10:23:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fD81jsDTeYK4+eURnIGLe1g62Xp8VlxDYja/CHWOcds=; b=WYdJEtWQoO/+YbvLTH81icEs/Hw8A7tsJBDbsowE5F58uTZnisLP1fqxX6ryiploCg CL1ODgBkCgbTfAMvj5n4DAMktZ3Pg+9fICmeWQkeY41FyqqXQJN5HzC+iJ6b3pj453Tv GH6VdA7yv7dmLszTFiMuLO0gO5/mUF+9qtNlFa7KzpusceETrQFWfpOhvr7Ea0zKSpi1 rUjgZS7bOd3wAlESmc4qSkWd6aa3/OAzZNTZcAwVNe2h/WHln1YkPYCMYKhJNs+YNhhG F0opRSR9cImCFQ5hfRSUFKROGi4C3nXzkKq9HadBkwVnk+Kk8gSJNYtYtSXY9KmG57+U 0m2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=fD81jsDTeYK4+eURnIGLe1g62Xp8VlxDYja/CHWOcds=; b=gk+LCu3dNBA0P51+ay5Sm129SN3eDRcxYiAD9FrBlVWMab5eliZI4GKUG7rnzC2lRq BqdcVr8T2F44X7K3yu7rwUTrOfX77nOpGfOYCxN/n/ZdblO+qkAbCSRJKRFZ7TSDNq7t xniNXTtooNo7+dWfb34wuIXMgqXxP1zj4PcoFEM4QcYbyzK2FmKIm3cgUFh+gQl2bz9o dKKsNj76JT5FLKYozvPdJV9IIHqpLF+K8NXGsvR6Tx2f1fLWvE65lvyasWv4sCCvd+DG nJNJmdYI8Mjv05s8zdudwhEHJ0BdyVSzihIo6woEggdCBvQnRpWtwnJMWbYFHQqnBjoV tBAg== X-Gm-Message-State: AOAM531qyYZ7TGRHEeVsKqob/J0kRXJsEWKFo+vDDNFMwAcGfjsq6Nhf +3nvrk/QXT79NU+WqAsahfl5+o4pVL1DQw== X-Google-Smtp-Source: ABdhPJxvslcWVYgeuJH02unfMN4nlBe1VcflbFqTnU9mEVyRNsbdf0tCNVSUNHw1N+fPMNGdkKi95w== X-Received: by 2002:a05:6000:11c5:: with SMTP id i5mr21466192wrx.302.1612808615696; Mon, 08 Feb 2021 10:23:35 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:35 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 02/46] fuzz: refine the ide/ahci fuzzer configs Date: Mon, 8 Feb 2021 19:22:47 +0100 Message-Id: <20210208182331.58897-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x432.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Alexander Bulekov , Thomas Huth , Darren Kenny Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Alexander Bulekov Disks work differently depending on the x86 machine type (SATA vs PATA). Additionally, we should fuzz the atapi code paths, which might contain vulnerabilities such as CVE-2020-29443. This patch adds hard-disk and cdrom generic-fuzzer configs for both the pc (PATA) and q35 (SATA) machine types. Signed-off-by: Alexander Bulekov Acked-by: Thomas Huth Reviewed-by: Darren Kenny Message-Id: <20210120152211.109782-1-alxndr@bu.edu> --- tests/qtest/fuzz/generic_fuzz_configs.h | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/qtest/fuzz/generic_fuzz_configs.h b/tests/qtest/fuzz/generic_fuzz_configs.h index 7fed035345..aa4c03f1ae 100644 --- a/tests/qtest/fuzz/generic_fuzz_configs.h +++ b/tests/qtest/fuzz/generic_fuzz_configs.h @@ -85,10 +85,28 @@ const generic_fuzz_config predefined_configs[] = { .objects = "intel-hda", },{ .name = "ide-hd", + .args = "-machine pc -nodefaults " + "-drive file=null-co://,if=none,format=raw,id=disk0 " + "-device ide-hd,drive=disk0", + .objects = "*ide*", + },{ + .name = "ide-atapi", + .args = "-machine pc -nodefaults " + "-drive file=null-co://,if=none,format=raw,id=disk0 " + "-device ide-cd,drive=disk0", + .objects = "*ide*", + },{ + .name = "ahci-hd", .args = "-machine q35 -nodefaults " "-drive file=null-co://,if=none,format=raw,id=disk0 " "-device ide-hd,drive=disk0", - .objects = "ahci*", + .objects = "*ahci*", + },{ + .name = "ahci-atapi", + .args = "-machine q35 -nodefaults " + "-drive file=null-co://,if=none,format=raw,id=disk0 " + "-device ide-cd,drive=disk0", + .objects = "*ahci*", },{ .name = "floppy", .args = "-machine pc -nodefaults -device floppy,id=floppy0 " From patchwork Mon Feb 8 18:22:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076677 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 10A23C433DB for ; Mon, 8 Feb 2021 22:52:01 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 78F3F64E28 for ; Mon, 8 Feb 2021 22:52:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 78F3F64E28 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:47184 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FNv-00028N-GL for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:51:59 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50196) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCF-0002rt-TM for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:43 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:40444) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCE-00062M-1I for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:39 -0500 Received: by mail-wm1-x32c.google.com with SMTP id o24so42100wmh.5 for ; Mon, 08 Feb 2021 10:23:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vM/hCi4QzyBItSwDReV3rwOFjjrUHsJHgYVNtzBAOv8=; b=gvV6FC8roxEVoAL6VqZF7mZpTGJlLXYnJt30vepqx0454Met4G3vrLtkb30gIGKd9s VQ2mdW9qrqw68ggTb2qT9KAXemyC9ld5+Zhhji90WaP0s7CvXGk5HnNmhbzRo7+mdQgJ 3m9E59NGcHIpNNHcePUr/M++jxghZueFiRkfpFMt54b69JZ4lx4wMUmrXwATowoxRQzs 7gqYfMQTjazUY4EIlh2MQ3XR8bCiOi0l9Bu4FU5VaRVnHgAaaANVsIbkKBx4wAGeL8tv WEeYZ2ER0wnTBab34xYidAhFqGz8MS/YM1B/nbSHsS7hgThiryQBSmaQDjeehnbrfUn3 NuhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=vM/hCi4QzyBItSwDReV3rwOFjjrUHsJHgYVNtzBAOv8=; b=qimQd255TU+Erc2oTETlYP14TlwQiU+n8NZ7jE7RXnMDeWU7iTVfmgh/Op8/4/GYP5 9sY6MZ2Ic4xUvo629B10D7bORtS9tDEVnD3ygke3AJOI9ugKM3X6OHRMmqnnkk62nuUp irGYTaU/+7pRX9LYUT+UBJoRhNFXZmSGCe5W3jM5+mjxVHrCcbBohCe/aqORF7lxh5ri df3m7QiMO82pEDa3vcBQvPGKDqysV/0UNzYg/8Whcsel9zmdqyn/B9EXNhtD/FmJAFoF MuFIM2Moje8TK2S9n7Vs5uO13dDYbRyJJqFlKIlKHqcJSLVj6byR16a/6yNMC0Harv28 kxww== X-Gm-Message-State: AOAM530yUJBV+xbl0trQ3t8cKTTezNEpSX1cMm6i+uH9gK5KeJx0X7PF 8tp8s4/jawRsqB8OF3fuAZsEQebpXpKq7A== X-Google-Smtp-Source: ABdhPJyVjP72Oa0WxkghnEtUWqH0qoattN9sTXkNuZWbt6UyQWtqWoHUAyehwwDneNkYvrvGOjX69A== X-Received: by 2002:a1c:2d0b:: with SMTP id t11mr41032wmt.109.1612808616605; Mon, 08 Feb 2021 10:23:36 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:36 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 03/46] docs/fuzz: fix pre-meson path Date: Mon, 8 Feb 2021 19:22:48 +0100 Message-Id: <20210208182331.58897-4-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x32c.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Alexander Bulekov , Thomas Huth Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Alexander Bulekov Signed-off-by: Alexander Bulekov Reviewed-by: Thomas Huth Message-Id: <20210117201014.271610-2-alxndr@bu.edu> --- docs/devel/fuzzing.rst | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/devel/fuzzing.rst b/docs/devel/fuzzing.rst index 6096242d99..5f5200c843 100644 --- a/docs/devel/fuzzing.rst +++ b/docs/devel/fuzzing.rst @@ -119,7 +119,7 @@ Adding a new fuzzer Coverage over virtual devices can be improved by adding additional fuzzers. Fuzzers are kept in ``tests/qtest/fuzz/`` and should be added to -``tests/qtest/fuzz/Makefile.include`` +``tests/qtest/fuzz/meson.build`` Fuzzers can rely on both qtest and libqos to communicate with virtual devices. @@ -128,8 +128,7 @@ Fuzzers can rely on both qtest and libqos to communicate with virtual devices. 2. Write the fuzzing code using the libqtest/libqos API. See existing fuzzers for reference. -3. Register the fuzzer in ``tests/fuzz/Makefile.include`` by appending the - corresponding object to fuzz-obj-y +3. Add the fuzzer to ``tests/qtest/fuzz/meson.build``. Fuzzers can be more-or-less thought of as special qtest programs which can modify the qtest commands and/or qtest command arguments based on inputs From patchwork Mon Feb 8 18:22:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076629 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD488C433E0 for ; Mon, 8 Feb 2021 22:36:07 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 83AB764EA6 for ; Mon, 8 Feb 2021 22:36:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 83AB764EA6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:56174 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9F8Y-0007BQ-IH for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:36:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50242) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCH-0002s4-3n for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:43 -0500 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:41374) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCF-00062V-24 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:40 -0500 Received: by mail-wr1-x429.google.com with SMTP id n6so5553278wrv.8 for ; Mon, 08 Feb 2021 10:23:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=p0gUq9l/dd+MCZ+Us772HwQOuGhCcjbbMzRDKa3bhUc=; b=C4MlXNBfo2KsFenIf2jAJp20ZJcb1EwTiUETBSDMXpmmPvfME9vK1yeBmAOAAqZBPw s+MP7P2at3lNp2mXUwpErjV9aIMxwQ1/9t4peGgbkPbaAJvPaqnsBUqW6LL+GZKc1Un0 C1lVN7D7O8uuVMkWhNU8emBf5ZGfmYORur8LpzDHdOo6KF7Czr2XpR5JFTwTZnYeMUow qDhbAwOwGTQ35izbPJ8mAvkg4SEOvjS0ubQMsnRa1jZ7lloM+qA1art6kN6FQ2jZBHWQ tcTJn+p+DGNK8Jg0mDxWSYnj5SgN3KTITFWcnitwKw2KidMFqQ09fCL6pZQS7CK5Kaam peog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=p0gUq9l/dd+MCZ+Us772HwQOuGhCcjbbMzRDKa3bhUc=; b=r+Aj0Es1WxZ/FuHPfvhlOwoj5bjtF9Ay+Gq7IFnJ+G7a3AFekGS1753JKGa9v1GAhm qtbIwWEa6SaqSyE/X1fkrrletpdR+k/LsejpiMkTYQhMalM3PaAyNUrfiKtzPxCqjrFa JvnwLL5Wy65h6QvjW78nJYLEflh6TDjWrgZh+2KePzWewjCCCAONKA6jjJ48fa3vk2ZA JVKAZhbiSJlRBiKM3ubc0qSpl35H7ZRKGDMNIdklxxDjoU5wk/DPZziG709MosRmqBwh eNfMQMgqBsmzpP5Z80zxmiajCPzST83Z9s2hsOOHeuzJq0jTjFPUq9zX1c1s+wUbwTUL CNVQ== X-Gm-Message-State: AOAM533MAxBV+8vK0LqCxdS5C1nT4rW67L8BZsUeGMKVA0cB4YsKQkud 2SapZJDfcevqEZm7ddWJYU5wIwkTIQT06w== X-Google-Smtp-Source: ABdhPJyqZJc0p7f8aVop4tInF0spbjsV1poCkdP2dyU1094oEZqI9P4ZeWXrNJMg9n6hQEsgafXhMw== X-Received: by 2002:a5d:6541:: with SMTP id z1mr20743318wrv.128.1612808617619; Mon, 08 Feb 2021 10:23:37 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:36 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 04/46] fuzz: log the arguments used to initialize QEMU Date: Mon, 8 Feb 2021 19:22:49 +0100 Message-Id: <20210208182331.58897-5-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x429.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Alexander Bulekov , Thomas Huth Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Alexander Bulekov This is useful for building reproducers. Instead checking the code or the QEMU_FUZZ_ARGS, the arguments are at the top of the crash log. Signed-off-by: Alexander Bulekov Reviewed-by: Thomas Huth Message-Id: <20210117201014.271610-3-alxndr@bu.edu> --- tests/qtest/fuzz/fuzz.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/qtest/fuzz/fuzz.c b/tests/qtest/fuzz/fuzz.c index 238866a037..496d11a231 100644 --- a/tests/qtest/fuzz/fuzz.c +++ b/tests/qtest/fuzz/fuzz.c @@ -159,6 +159,8 @@ int LLVMFuzzerInitialize(int *argc, char ***argv, char ***envp) char *target_name; const char *bindir; char *datadir; + GString *cmd_line; + gchar *pretty_cmd_line; bool serialize = false; /* Initialize qgraph and modules */ @@ -217,7 +219,7 @@ int LLVMFuzzerInitialize(int *argc, char ***argv, char ***envp) } /* Run QEMU's softmmu main with the fuzz-target dependent arguments */ - GString *cmd_line = fuzz_target->get_init_cmdline(fuzz_target); + cmd_line = fuzz_target->get_init_cmdline(fuzz_target); g_string_append_printf(cmd_line, " %s -qtest /dev/null ", getenv("QTEST_LOG") ? "" : "-qtest-log none"); @@ -226,6 +228,13 @@ int LLVMFuzzerInitialize(int *argc, char ***argv, char ***envp) wordexp(cmd_line->str, &result, 0); g_string_free(cmd_line, true); + if (getenv("QTEST_LOG")) { + pretty_cmd_line = g_strjoinv(" ", result.we_wordv + 1); + printf("Starting %s with Arguments: %s\n", + result.we_wordv[0], pretty_cmd_line); + g_free(pretty_cmd_line); + } + qemu_init(result.we_wordc, result.we_wordv, NULL); /* re-enable the rcu atfork, which was previously disabled in qemu_init */ From patchwork Mon Feb 8 18:22:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076555 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DD162C433E0 for ; Mon, 8 Feb 2021 21:51:55 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3AE5E64E66 for ; Mon, 8 Feb 2021 21:51:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3AE5E64E66 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:41252 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9ERl-0006l8-Tt for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 16:51:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50256) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCJ-0002sZ-NT for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:43 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:40447) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCF-00063L-QY for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:41 -0500 Received: by mail-wm1-x32f.google.com with SMTP id o24so42222wmh.5 for ; Mon, 08 Feb 2021 10:23:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6i9W6OOUOf+/H2AgjkKfRW+CSfY5qPrCTrtVFBIN+NA=; b=bGRLDat7YmehzyXmbYcs2xjOIumBX+sJhUbKkeqa7nAvQLiec9mow4C3GUID+beRbj n0EbTcOTzY8YWJIy4xhoGldU701ZakaaYi+8y6Tiu1umYmmrpd0mt2fFDs6CY29ytWbL ryDOh57gEITDwxzav3Hp7kTBD0LStC0bhrbFYtkNm0uKrtgrbHthNOxt3tdjZbmOOkSs dJOJ/njfMwoxr7S30Mret1WxAKKQW/QWpLlc1uQM5DFePy/ucDYhvZgJUqa8bOXGGsUq eT7S2GhnubHwFLN6giefMAcQcodTO5YHpCRBaO1bzOyjEVwypRpBEadT9m4QsrfNhlbr 3dAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=6i9W6OOUOf+/H2AgjkKfRW+CSfY5qPrCTrtVFBIN+NA=; b=mFKia7eZHcSBlqXwJswz7RQyRIccacTZA2KnvWrDfXDqLsvDr9Ah310KGtP/o1qtCV UM0a32S2A3EhSJ9L1YQEWYbP9Dj4glk8Cw7C80rb3Dby22UHqi7/cb8mRUbAwkmH/8bg 2KLhky55rN9Pr/q0Nqmjh4DFvo4AtRwClByggA0Zqc4E1EdiJVtzuhSbpHvBQG/IamtG DphF9m+/PdHMnMIbllWMsV8Sq+++JDXAJOX1BCAgt/5KrGpHUGim3qvyVP17pZuk8n8A rW7R1aNLa+LWeAuq0EHTdMnYJibGG+yTyOZO6ZPwSsDscVsmG1iQzwxR12VrBvFlbhPf 4Rlw== X-Gm-Message-State: AOAM531qsIuTS5zAMgYKEsnwwuKnNHGQWVRxx5SAFvXFIo+Lwnbh5hWU xsqnKVELLLevptUwMM4TsaNjqwojkYnO6A== X-Google-Smtp-Source: ABdhPJyLgnpnkurvyBh/PKAgub1APy2s7L0KkzZHSeDvnNOdXuFGseI3yhaTzXADHKREp3RHvv7GEQ== X-Received: by 2002:a1c:7f83:: with SMTP id a125mr35645wmd.141.1612808618486; Mon, 08 Feb 2021 10:23:38 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:38 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 05/46] fuzz: enable dynamic args for generic-fuzz configs Date: Mon, 8 Feb 2021 19:22:50 +0100 Message-Id: <20210208182331.58897-6-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x32f.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Alexander Bulekov , Thomas Huth Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Alexander Bulekov For some device configurations, it is useful to configure some resources, and adjust QEMU arguments at runtime, prior to fuzzing. This patch adds an "argfunc" to generic the generic_fuzz_config. When specified, it is responsible for configuring the resources and returning a string containing the corresponding QEMU arguments. This can be useful for targets that rely on e.g.: * a temporary qcow2 image * a temporary directory * an unused TCP port used to bind the VNC server Signed-off-by: Alexander Bulekov Reviewed-by: Thomas Huth Message-Id: <20210117230924.449676-2-alxndr@bu.edu> --- tests/qtest/fuzz/generic_fuzz.c | 10 +++++++++- tests/qtest/fuzz/generic_fuzz_configs.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/qtest/fuzz/generic_fuzz.c b/tests/qtest/fuzz/generic_fuzz.c index deb74f15be..ee8c17a04c 100644 --- a/tests/qtest/fuzz/generic_fuzz.c +++ b/tests/qtest/fuzz/generic_fuzz.c @@ -933,12 +933,20 @@ static GString *generic_fuzz_cmdline(FuzzTarget *t) static GString *generic_fuzz_predefined_config_cmdline(FuzzTarget *t) { + gchar *args; const generic_fuzz_config *config; g_assert(t->opaque); config = t->opaque; setenv("QEMU_AVOID_DOUBLE_FETCH", "1", 1); - setenv("QEMU_FUZZ_ARGS", config->args, 1); + if (config->argfunc) { + args = config->argfunc(); + setenv("QEMU_FUZZ_ARGS", args, 1); + g_free(args); + } else { + g_assert_nonnull(config->args); + setenv("QEMU_FUZZ_ARGS", config->args, 1); + } setenv("QEMU_FUZZ_OBJECTS", config->objects, 1); return generic_fuzz_cmdline(t); } diff --git a/tests/qtest/fuzz/generic_fuzz_configs.h b/tests/qtest/fuzz/generic_fuzz_configs.h index aa4c03f1ae..51e69c6e42 100644 --- a/tests/qtest/fuzz/generic_fuzz_configs.h +++ b/tests/qtest/fuzz/generic_fuzz_configs.h @@ -16,6 +16,7 @@ typedef struct generic_fuzz_config { const char *name, *args, *objects; + gchar* (*argfunc)(void); /* Result must be freeable by g_free() */ } generic_fuzz_config; const generic_fuzz_config predefined_configs[] = { From patchwork Mon Feb 8 18:22:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076707 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-21.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 090A1C433DB for ; Mon, 8 Feb 2021 22:57:33 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 96C0C64DB3 for ; Mon, 8 Feb 2021 22:57:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 96C0C64DB3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:36212 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FTH-0000un-Ly for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:57:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50258) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCJ-0002sf-PU for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:43 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:37648) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCG-00063j-KW for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:41 -0500 Received: by mail-wm1-x329.google.com with SMTP id m1so60505wml.2 for ; Mon, 08 Feb 2021 10:23:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=N868ZEyZ6u5XOq6H/Pyk+nswe7j/Yy+s5xT76V+knOs=; b=JX5JK7AERWMd439EyMMsilXq/aYnO4/CLjt1hbNI3Z4b8nVOKjfVzmJFlUHmYMFXkE taH+/xegOR9CaDW6Q1/u4g1uxV3aAUb1lL8IpRHwJ1f7iRfvotm+Ch97s4v8xRG1YlCJ ybQLQgQlTDHyMRdaH3i+P0k4gmahZuJbIxyIIV3vJtEnMs8wJ+fu+vwWOp9rH6RDrrlS zOvUD/PLIHzaXxg4pAqaVgFqsiAJwwhcmC8WvoCEHBJ/r2FYR0t0hypFzWXbivfbBxa+ bPFCwbDD5KBtJchTyfiYmd6xtRsRtSTR2I9UkhwYwwlWfOvwzI2AADLdgutsbIZ9iafo lJ+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=N868ZEyZ6u5XOq6H/Pyk+nswe7j/Yy+s5xT76V+knOs=; b=Taj3gH0VWnTAxuZDylWOzPOjy2XVIx45pqvuXx8IeB/t9MJHMV3cZcQlZJAvdx+a41 cqav0LGWYdN/xG5mSTfJ+R4ouHR2cJE8nk4Fs4y+LXCmzcGyNcguFFccOhN5/ww3lPgw hecq/NvC0PE0f9slCuvAag1UekW0XdkSlzVSdDwwnPT8K+yniFEWpoapVEd0CV20qem8 Nn79pVi+szR+3Q1+9oik7haDngZoDQysk3hgCsNI/9aa0l55I5+x8hec+RUm/Bg3htg7 bOI+xQYKAyxXyfDGFouV1fPcgoWHJqD963rqr/K00tJa8mk8nuC9eD78ycQUTQOdPkjQ Nd2Q== X-Gm-Message-State: AOAM531eMLMQUPa6Qv/JjxR0IUSbOknQbtZK6yi/KZnUKy2kfvf9nHmQ SZSmOH60HQqgodPX/7Y6UwjTxMclN11+lg== X-Google-Smtp-Source: ABdhPJzbYDCQu17d4qV3/zm29W/ERTntURi51mlluyz8l7okv8sbrSbbK9ad4+vJYnv+4ha1fmeI6Q== X-Received: by 2002:a1c:b6c5:: with SMTP id g188mr63698wmf.27.1612808619392; Mon, 08 Feb 2021 10:23:39 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:38 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 06/46] docs/fuzz: add some information about OSS-Fuzz Date: Mon, 8 Feb 2021 19:22:51 +0100 Message-Id: <20210208182331.58897-7-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x329.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Alexander Bulekov , Darren Kenny Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Alexander Bulekov Signed-off-by: Alexander Bulekov Reviewed-by: Darren Kenny Message-Id: <20210117230924.449676-3-alxndr@bu.edu> --- docs/devel/fuzzing.rst | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/docs/devel/fuzzing.rst b/docs/devel/fuzzing.rst index 5f5200c843..97797c4f8c 100644 --- a/docs/devel/fuzzing.rst +++ b/docs/devel/fuzzing.rst @@ -180,6 +180,36 @@ To ensure that these env variables have been configured correctly, we can use:: The output should contain a complete list of matched MemoryRegions. +OSS-Fuzz +-------- +QEMU is continuously fuzzed on `OSS-Fuzz` __(https://github.com/google/oss-fuzz). +By default, the OSS-Fuzz build will try to fuzz every fuzz-target. Since the +generic-fuzz target requires additional information provided in environment +variables, we pre-define some generic-fuzz configs in +``tests/qtest/fuzz/generic_fuzz_configs.h``. Each config must specify: + +- ``.name``: To identify the fuzzer config + +- ``.args`` OR ``.argfunc``: A string or pointer to a function returning a + string. These strings are used to specify the ``QEMU_FUZZ_ARGS`` + environment variable. ``argfunc`` is useful when the config relies on e.g. + a dynamically created temp directory, or a free tcp/udp port. + +- ``.objects``: A string that specifies the ``QEMU_FUZZ_OBJECTS`` environment + variable. + +To fuzz additional devices/device configuration on OSS-Fuzz, send patches for +either a new device-specific fuzzer or a new generic-fuzz config. + +Build details: + +- The Dockerfile that sets up the environment for building QEMU's + fuzzers on OSS-Fuzz can be fund in the OSS-Fuzz repository + __(https://github.com/google/oss-fuzz/blob/master/projects/qemu/Dockerfile) + +- The script responsible for building the fuzzers can be found in the + QEMU source tree at ``scripts/oss-fuzz/build.sh`` + Implementation Details / Fuzzer Lifecycle ----------------------------------------- From patchwork Mon Feb 8 18:22:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076713 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0CF08C433DB for ; Mon, 8 Feb 2021 22:59:10 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 85BBF64E28 for ; Mon, 8 Feb 2021 22:59:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 85BBF64E28 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:45028 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FUq-0004Rw-Il for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:59:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50280) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCL-0002vz-00 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:45 -0500 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:43490) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCJ-00064Q-GQ for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:44 -0500 Received: by mail-wr1-x429.google.com with SMTP id z6so18322748wrq.10 for ; Mon, 08 Feb 2021 10:23:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZmniK0yzO+id8G0haBxNriDaxYyBXhcth1WQMA0kwrs=; b=CCrcVeLOh4kGQ9osxUe4OttGTZh/eGQnEu3yVoZQ+NmuFPyJfDyNmaOpPJ1LznO5uD Q/vhRbrubHH4sTC8xtVChJANLHNyy01dMUWBENBJrLp3+FOuBd6o2MqkNfdAByHJfsb/ leM2xJ4qh8PVBCE4ToOpuo7oz36V7iGnVMRKXzhTEmCub5r2dtCHUGnXoiV5/OBaLrk9 enyv5N2OkK153pyR+0LtioqwbxZ3tZbFfcAO93jS2uJspFau5TJsgM6LDqwrky+MLpAT Pe48HI+/1tbiBXW8J5U0OriHT2XvyGOIxBHjFf5gb6vaF4urvkA5Le+2owZjIzkTGudL ii0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=ZmniK0yzO+id8G0haBxNriDaxYyBXhcth1WQMA0kwrs=; b=Y7VexnQqlvBtYwfhjOBQbKq2yVCnanGhxW6XeV8oNHRKBO+YOIVAHfBBh0sR5x0hDL +KWiH5n6XkcmhaEPi5mHM6KiOA2yihk4py8aRLiW+Ezm9moSiUsQ+BlVj9TGX6nCphQE YCD+bDeQ9rDhLncO380MA5DhYO24E7EIf5qaB2qhXsVYEqY6R4q5FZOwCQXcs5UKdrgo QJNOChoNktEOyuCNh6CscNSbGsXdMj63qAEikiMQxs74+VIxjDzBl3949tENDp2Cl4eS dhpjneCqSeqvKvUSCIJMBWx26Fq0zAVqWO1HHgA00LsKcFCDq67BwQabqJVBAWryWobO 7wQQ== X-Gm-Message-State: AOAM532+3OMd/ntFe3Kl2ZtUeV/pXwCJPgkxE0mhVVNRKRhIuBNzwqHC bidjIQEQ2Fj4aIUShon5wNk0VZsJZvBIgg== X-Google-Smtp-Source: ABdhPJxYqYoD1o+oE3oc0QmZHk4bOILMT1lYKU1JxGMg9P/teXkaJjezRsqizkKtMCVu4hUmaGfJ0Q== X-Received: by 2002:a5d:58ec:: with SMTP id f12mr20727541wrd.134.1612808620243; Mon, 08 Feb 2021 10:23:40 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:39 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 07/46] fuzz: add virtio-9p configurations for fuzzing Date: Mon, 8 Feb 2021 19:22:52 +0100 Message-Id: <20210208182331.58897-8-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x429.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Alexander Bulekov , Darren Kenny Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Alexander Bulekov virtio-9p devices are often used to expose a virtual-filesystem to the guest. There have been some bugs reported in this device, such as CVE-2018-19364, and CVE-2021-20181. We should fuzz this device This patch adds two virtio-9p configurations: * One with the widely used -fsdev local driver. This driver leaks some state in the form of files/directories created in the shared dir. * One with the synth driver. While it is not used in the real world, this driver won't leak leak state between fuzz inputs. Signed-off-by: Alexander Bulekov Reviewed-by: Darren Kenny Message-Id: <20210117230924.449676-4-alxndr@bu.edu> --- tests/qtest/fuzz/generic_fuzz_configs.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/qtest/fuzz/generic_fuzz_configs.h b/tests/qtest/fuzz/generic_fuzz_configs.h index 51e69c6e42..5d599765c4 100644 --- a/tests/qtest/fuzz/generic_fuzz_configs.h +++ b/tests/qtest/fuzz/generic_fuzz_configs.h @@ -19,6 +19,16 @@ typedef struct generic_fuzz_config { gchar* (*argfunc)(void); /* Result must be freeable by g_free() */ } generic_fuzz_config; +static inline gchar *generic_fuzzer_virtio_9p_args(void){ + char tmpdir[] = "/tmp/qemu-fuzz.XXXXXX"; + g_assert_nonnull(mkdtemp(tmpdir)); + + return g_strdup_printf("-machine q35 -nodefaults " + "-device virtio-9p,fsdev=hshare,mount_tag=hshare " + "-fsdev local,id=hshare,path=%s,security_model=mapped-xattr," + "writeout=immediate,fmode=0600,dmode=0700", tmpdir); +} + const generic_fuzz_config predefined_configs[] = { { .name = "virtio-net-pci-slirp", @@ -60,6 +70,16 @@ const generic_fuzz_config predefined_configs[] = { .name = "virtio-mouse", .args = "-machine q35 -nodefaults -device virtio-mouse", .objects = "virtio*", + },{ + .name = "virtio-9p", + .argfunc = generic_fuzzer_virtio_9p_args, + .objects = "virtio*", + },{ + .name = "virtio-9p-synth", + .args = "-machine q35 -nodefaults " + "-device virtio-9p,fsdev=hshare,mount_tag=hshare " + "-fsdev synth,id=hshare", + .objects = "virtio*", },{ .name = "e1000", .args = "-M q35 -nodefaults " From patchwork Mon Feb 8 18:22:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076559 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BB38DC433DB for ; Mon, 8 Feb 2021 21:55:20 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1CE4564E66 for ; Mon, 8 Feb 2021 21:55:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1CE4564E66 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:49980 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9EV3-000201-Vv for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 16:55:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50282) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCL-0002wE-2W for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:45 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:53012) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCJ-00064e-Ge for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:44 -0500 Received: by mail-wm1-x32c.google.com with SMTP id i5so55555wmq.2 for ; Mon, 08 Feb 2021 10:23:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2ZrhSGZHZsewA1YLv+O2cscVrZTHkKVYgMwlTBRd5Qk=; b=NoY5jSyR8XDupV+I6XhCuhN6z2Np0YxzPlq0drZwb1Npfz79I3DJ6b1wRrxden5jvT qh/58maVFCpSiNHRBX/oNloXsWj1agGjcIXgdNL+F4Nlihi/RBQjxXpX0vJXRyRP/XYv 05R5gdJ3v6934AlW3X2PbVVmrYGmfvaBcv44Wqrr5HXooxAGZRf8SVZjFaj4JoqXSMVI RLfpUlpMTEqMseU1B0vVfdGW2SZ79wmCRjhqMoWphJzOLulVRBtACe6KEui4Q9JdXx2t neGZQC3go5rhnQwsYT9N42klxvYEseZCG5+bcw4tey/6P+26gr2ZEj3z92E7UOqLiL9d CJTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=2ZrhSGZHZsewA1YLv+O2cscVrZTHkKVYgMwlTBRd5Qk=; b=P+HCdwHrEHe/LW05PjuhMF7eJsZqbWWNPoxK2rQn12It8sg4DMA071qVfsrWfFwk3f uNVSmb3m1VfMaRpKLH1calDfOFoodsKyb8K13TqO8IrKyQnx0du9bkZ88VkHyCwW9iA4 cxJzP15YyGKT+puTPcLmvgJdyXlxWoiRodWxnH6Ri4iNqS9rTlv0fRQCNGKyIOeCsxx3 +8AvcfSckWmEePTaM7wpce+H0qPXwqGFKy9wH5VVf9OWB6YLQAuy2DJ/IF0HxTJmx3Fu WOTyMs9FoL5VCs4X+CWhmPnoUQ0ts8+pK9ixbSQgUFiaPogEAW5IRsimdTkhrbpmBDRV jmjQ== X-Gm-Message-State: AOAM532K4TkGk3VAopbsZrl2/6sHG2c34Fywz8SSbymQ3uzeQ9u9z9G1 KV709qPc7P/k89hgKyfTbaEMgAgwynF+jQ== X-Google-Smtp-Source: ABdhPJx5RivjIg1G0F+pIKDtkiwQwAzveGTQi/OdYr0u9z/MFybWqcpVcBcRTs6+P1LyWEVVxxciTQ== X-Received: by 2002:a1c:b386:: with SMTP id c128mr95451wmf.48.1612808621138; Mon, 08 Feb 2021 10:23:41 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:40 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 08/46] target/i386: do not set LM for 32-bit emulation "-cpu host/max" Date: Mon, 8 Feb 2021 19:22:53 +0100 Message-Id: <20210208182331.58897-9-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x32c.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Nathan Chancellor Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" 32-bit targets by definition do not support long mode; therefore, the bit must be masked in the features supported by the accelerator. As a side effect, this avoids setting up the 0x80000008 CPUID leaf for qemu-system-i386 -cpu host which since commit 5a140b255d ("x86/cpu: Use max host physical address if -cpu max option is applied") would have printed this error: qemu-system-i386: phys-bits should be between 32 and 36 (but is 48) Reported-by: Nathan Chancellor Tested-by: Nathan Chancellor Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index ae89024d36..e775e9abb5 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -5073,6 +5073,11 @@ static uint64_t x86_cpu_get_supported_feature_word(FeatureWord w, } else { return ~0; } +#ifndef TARGET_X86_64 + if (w == FEAT_8000_0001_EDX) { + r &= ~CPUID_EXT2_LM; + } +#endif if (migratable_only) { r &= x86_cpu_get_migratable_flags(w); } From patchwork Mon Feb 8 18:22:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076657 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DB6B2C433E0 for ; Mon, 8 Feb 2021 22:43:25 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 73B3B64E8C for ; Mon, 8 Feb 2021 22:43:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 73B3B64E8C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:48146 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FFc-0007a5-I3 for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:43:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50322) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCM-0002zw-CN for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:46 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:44816) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCJ-00064j-H7 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:46 -0500 Received: by mail-wr1-x433.google.com with SMTP id g6so5380811wrs.11 for ; Mon, 08 Feb 2021 10:23:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xrqHyb+jMQamBTP0MyZvB39Spy2vE3z7WOTs42/P5n0=; b=K9Qt2hpmJ967PY7dA+BOGyKdLAkmQZ0+q6GglI6EiGeGvzWJ0bjBQ0ZhBELxsa9mqI BWeAGDQHjFMNsp5IgI/f4KQNEfBzfHR4A/moWZuycQrz8z+t1HPId7BY69fTiUaE4eX4 6Bu9m8+L0noDI8TRLOSXo2dbfYYXHuR8inK0X7u/NT2SGELjNSX0dl4SpmcVcnQTAPc6 lDkhAz08EmqMDwirfOL8czj1eV9oAMniwk8ODqcs8lxEKs/vV5RFJ/FQ2/0X0AWX4uc/ AzfImCzmDTzc1l8xiA0Su26ijHE79tLkBoTTWCxgwjXwKBsd1uRI6mGLEz3/wzSTcNGE P8uQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=xrqHyb+jMQamBTP0MyZvB39Spy2vE3z7WOTs42/P5n0=; b=YDCtR1roJofRunuJZsXEeSiND7NUetBAby72A/n9NKwkHntQbhZzuCDrL7+VXrUJfi ton0+1hjFIVJhKhvVec5vA8wU+hH8mceiT7cPjMbqDRPfgjtUSVK20Po6VndXoYEkhO1 mUwr+WJkFXyokMlOXXh3Z0jIC6iXi2zweRjk9rSQ8LOGBQzVZD+Sd6qQpxccMNK3hHU1 UfT4fi2MqPaTKdA/WeiODhEYpc8mMNdF6zhVjPf2oxhvIAW/WvzssN+0ju86i8bHxUma IFUOo33MvW5t3hKfBdJMyhmNvjFb3AbYZw+xVwK1TUgr2mTZmhFhcDm9fpMJ4Ygetmq8 4hQA== X-Gm-Message-State: AOAM533tu0aGA4S9jHoW19Rv546g7k/eYXtYHte7wvthFK4NsHxF0eXj vNEySUTAvUUX9vvbu51wo7NwqVaJIWmtxg== X-Google-Smtp-Source: ABdhPJyEZDIbGOjPbtG6vPJpPm1FW+mQXCRq89qhWJp7bPGXH2Qp1885MLK0u65JTSyd9uyuUbXG/A== X-Received: by 2002:adf:808c:: with SMTP id 12mr3007033wrl.139.1612808621952; Mon, 08 Feb 2021 10:23:41 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:41 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 09/46] machine: add missing doc for memory-backend option Date: Mon, 8 Feb 2021 19:22:54 +0100 Message-Id: <20210208182331.58897-10-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x433.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Igor Mammedov Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Igor Mammedov Add documentation for '-machine memory-backend' CLI option and how to use it. And document that x-use-canonical-path-for-ramblock-id, is considered to be stable to make sure it won't go away by accident. x- was intended for unstable/iternal properties, and not supposed to be stable option. However it's too late to rename (drop x-) it as it would mean that users will have to mantain both x-use-canonical-path-for-ramblock-id (for QEMU 5.0-5.2) versions and prefix-less for later versions. Signed-off-by: Igor Mammedov Message-Id: <20210121161504.1007247-1-imammedo@redhat.com> Signed-off-by: Paolo Bonzini --- backends/hostmem.c | 10 ++++++++++ qemu-options.hx | 26 +++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/backends/hostmem.c b/backends/hostmem.c index be0c3b079f..c6c1ff5b99 100644 --- a/backends/hostmem.c +++ b/backends/hostmem.c @@ -494,6 +494,16 @@ host_memory_backend_class_init(ObjectClass *oc, void *data) host_memory_backend_get_share, host_memory_backend_set_share); object_class_property_set_description(oc, "share", "Mark the memory as private to QEMU or shared"); + /* + * Do not delete/rename option. This option must be considered stable + * (as if it didn't have the 'x-' prefix including deprecation period) as + * long as 4.0 and older machine types exists. + * Option will be used by upper layers to override (disable) canonical path + * for ramblock-id set by compat properties on old machine types ( <= 4.0), + * to keep migration working when backend is used for main RAM with + * -machine memory-backend= option (main RAM historically used prefix-less + * ramblock-id). + */ object_class_property_add_bool(oc, "x-use-canonical-path-for-ramblock-id", host_memory_backend_get_use_canonical_path, host_memory_backend_set_use_canonical_path); diff --git a/qemu-options.hx b/qemu-options.hx index c09c4646e2..6c34c7050f 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -35,7 +35,8 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \ " suppress-vmdesc=on|off disables self-describing migration (default=off)\n" " nvdimm=on|off controls NVDIMM support (default=off)\n" " memory-encryption=@var{} memory encryption object to use (default=none)\n" - " hmat=on|off controls ACPI HMAT support (default=off)\n", + " hmat=on|off controls ACPI HMAT support (default=off)\n" + " memory-backend='backend-id' specifies explicitly provided backend for main RAM (default=none)\n", QEMU_ARCH_ALL) SRST ``-machine [type=]name[,prop=value[,...]]`` @@ -96,6 +97,29 @@ SRST ``hmat=on|off`` Enables or disables ACPI Heterogeneous Memory Attribute Table (HMAT) support. The default is off. + + ``memory-backend='id'`` + An alternative to legacy ``-mem-path`` and ``mem-prealloc`` options. + Allows to use a memory backend as main RAM. + + For example: + :: + -object memory-backend-file,id=pc.ram,size=512M,mem-path=/hugetlbfs,prealloc=on,share=on + -machine memory-backend=pc.ram + -m 512M + + Migration compatibility note: + a) as backend id one shall use value of 'default-ram-id', advertised by + machine type (available via ``query-machines`` QMP command), if migration + to/from old QEMU (<5.0) is expected. + b) for machine types 4.0 and older, user shall + use ``x-use-canonical-path-for-ramblock-id=off`` backend option + if migration to/from old QEMU (<5.0) is expected. + For example: + :: + -object memory-backend-ram,id=pc.ram,size=512M,x-use-canonical-path-for-ramblock-id=off + -machine memory-backend=pc.ram + -m 512M ERST HXCOMM Deprecated by -machine From patchwork Mon Feb 8 18:22:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076723 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9DB77C433E0 for ; Mon, 8 Feb 2021 23:02:40 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 37B4C64E7A for ; Mon, 8 Feb 2021 23:02:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 37B4C64E7A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:54024 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FYF-0008Ca-2m for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 18:02:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50346) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCM-00031W-VP for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:46 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:45574) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCK-00064n-7F for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:46 -0500 Received: by mail-wr1-x42e.google.com with SMTP id m13so18329840wro.12 for ; Mon, 08 Feb 2021 10:23:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=v3nWXJKoken2wu6yZkOmxurevNjqlczbSMx4DrujPTw=; b=YgVvYOUy1L1v3NTOCR5+OI9ZNf/nC0Zwnfkazwc1Pk+BcTZORx00iuuTRsOYETBzYR KB6tuhrXMv54mKqfqd7+VJdYADXTrlCiQhc5emOWSZn/tu3hNg3UCm/3DYbFODCZFyTJ Pgip8XPkNFhUfjgxe47j+8E+fjGaaYuj/95kzVekUd8RWI9O3J6Hh47I0EZCDQ33BNM9 BJ+6FnEjdcjCS2BHoG/t7X7vvGLZTZS9XXSDnCEzAI4pmdKE4idcXGavbeWNo7PlAib/ UFOkfgt/qNFXUpypPzUri1fIqk48Op5MaDOrhMIPnDt8YX4MxBdzIi+o51LPjJx2p0ZF Ej1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=v3nWXJKoken2wu6yZkOmxurevNjqlczbSMx4DrujPTw=; b=llt0fi1/7pecL78apQseGBrtPAsf9FxThAmRc0XzOgBysRcMcbE7CPjk385iaRbqfT E/bGEYUjyth3MUNdp7G/HaFgwpSD5Z9CBd+pFdx618U4ODzzMKvUb050qmQpcs7uJpes WNHEKcBWkEyAn/XgCvKAKwem2CjmnVRLae6TMEb6989hU9no2lAkz33Ck/YU9gtAK7w+ OtAud2GXCixnl8NWpLIPDrkL3R66UPCqZjtwdWqX9WR5mDZoMguzgw86ZslsP2fnMd5e Zb2+hapzdP2QElFJKIHNFPFrCZ/rNlcH/Tvvnzijd4t71nop74BAKndr8Nv4vKaC2a8I fS+A== X-Gm-Message-State: AOAM531COo72LdznBEwrlZRQPbjDzVAN5zixaKjTDhVDDM2HRqV8Ah8R I63Y1U7tp+BBoCbNd4lkerEoQhcTWfvQAg== X-Google-Smtp-Source: ABdhPJzcE5bcO1Imk5qKAlV0McXqjza6V/zdImTLyJx+wdkWxykoB1YbkdTXhsgXtoPUSTmwIOIofw== X-Received: by 2002:a5d:6b47:: with SMTP id x7mr21641023wrw.170.1612808622815; Mon, 08 Feb 2021 10:23:42 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:42 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 10/46] meson: accept either shared or static libraries if --disable-static Date: Mon, 8 Feb 2021 19:22:55 +0100 Message-Id: <20210208182331.58897-11-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x42e.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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 Lieven Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Meson's "static" argument to cc.find_library is a tri-state. By default Meson *prefers* a shared library, which basically means using -l to look for it; instead, "static: false" *requires* a shared library. Of course, "static: true" requires a static library, which is all good for --enable-static builds. For --disable-static, "static: false" is rarely desirable; it does not match what the configure script used to do and the test is more complex (and harder to debug if it fails, which was reported by Peter Lieven for librbd). Reported-by: Peter Lieven Tested-by: Peter Lieven Signed-off-by: Paolo Bonzini --- docs/devel/build-system.rst | 2 +- meson.build | 79 +++++++++++++++++++------------------ 2 files changed, 42 insertions(+), 39 deletions(-) diff --git a/docs/devel/build-system.rst b/docs/devel/build-system.rst index 31f4dced2a..69ce3087e3 100644 --- a/docs/devel/build-system.rst +++ b/docs/devel/build-system.rst @@ -100,7 +100,7 @@ In meson.build:: # Detect dependency sdl_image = dependency('SDL2_image', required: get_option('sdl_image'), method: 'pkg-config', - static: enable_static) + kwargs: static_kwargs) # Create config-host.h (if applicable) config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found()) diff --git a/meson.build b/meson.build index 2d8b433ff0..6d6537d74a 100644 --- a/meson.build +++ b/meson.build @@ -18,6 +18,9 @@ config_host = keyval.load(meson.current_build_dir() / 'config-host.mak') enable_modules = 'CONFIG_MODULES' in config_host enable_static = 'CONFIG_STATIC' in config_host +# Allow both shared and static libraries unless --enable-static +static_kwargs = enable_static ? {'static': true} : {} + # Temporary directory used for files created while # configure runs. Since it is in the build directory # we can safely blow away any previous version of it @@ -311,14 +314,14 @@ endif pixman = not_found if have_system or have_tools pixman = dependency('pixman-1', required: have_system, version:'>=0.21.8', - method: 'pkg-config', static: enable_static) + method: 'pkg-config', kwargs: static_kwargs) endif pam = not_found if 'CONFIG_AUTH_PAM' in config_host pam = cc.find_library('pam') endif libaio = cc.find_library('aio', required: false) -zlib = dependency('zlib', required: true, static: enable_static) +zlib = dependency('zlib', required: true, kwargs: static_kwargs) linux_io_uring = not_found if 'CONFIG_LINUX_IO_URING' in config_host linux_io_uring = declare_dependency(compile_args: config_host['LINUX_IO_URING_CFLAGS'].split(), @@ -333,7 +336,7 @@ libnfs = not_found if not get_option('libnfs').auto() or have_block libnfs = dependency('libnfs', version: '>=1.9.3', required: get_option('libnfs'), - method: 'pkg-config', static: enable_static) + method: 'pkg-config', kwargs: static_kwargs) endif libattr_test = ''' @@ -354,7 +357,7 @@ if not get_option('attr').disabled() else libattr = cc.find_library('attr', has_headers: ['attr/xattr.h'], required: get_option('attr'), - static: enable_static) + kwargs: static_kwargs) if libattr.found() and not \ cc.links(libattr_test, dependencies: libattr, args: '-DCONFIG_LIBATTR') libattr = not_found @@ -381,14 +384,14 @@ seccomp = not_found if not get_option('seccomp').auto() or have_system or have_tools seccomp = dependency('libseccomp', version: '>=2.3.0', required: get_option('seccomp'), - method: 'pkg-config', static: enable_static) + method: 'pkg-config', kwargs: static_kwargs) endif libcap_ng = not_found if not get_option('cap_ng').auto() or have_system or have_tools libcap_ng = cc.find_library('cap-ng', has_headers: ['cap-ng.h'], required: get_option('cap_ng'), - static: enable_static) + kwargs: static_kwargs) endif if libcap_ng.found() and not cc.links(''' #include @@ -409,7 +412,7 @@ if get_option('xkbcommon').auto() and not have_system and not have_tools xkbcommon = not_found else xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'), - method: 'pkg-config', static: enable_static) + method: 'pkg-config', kwargs: static_kwargs) endif vde = not_found if config_host.has_key('CONFIG_VDE') @@ -445,13 +448,13 @@ libiscsi = not_found if not get_option('libiscsi').auto() or have_block libiscsi = dependency('libiscsi', version: '>=1.9.0', required: get_option('libiscsi'), - method: 'pkg-config', static: enable_static) + method: 'pkg-config', kwargs: static_kwargs) endif zstd = not_found if not get_option('zstd').auto() or have_block zstd = dependency('libzstd', version: '>=1.4.0', required: get_option('zstd'), - method: 'pkg-config', static: enable_static) + method: 'pkg-config', kwargs: static_kwargs) endif gbm = not_found if 'CONFIG_GBM' in config_host @@ -468,14 +471,14 @@ if not get_option('curl').auto() or have_block curl = dependency('libcurl', version: '>=7.29.0', method: 'pkg-config', required: get_option('curl'), - static: enable_static) + kwargs: static_kwargs) endif libudev = not_found if targetos == 'linux' and (have_system or have_tools) libudev = dependency('libudev', method: 'pkg-config', required: get_option('libudev'), - static: enable_static) + kwargs: static_kwargs) endif mpathlibs = [libudev] @@ -511,17 +514,17 @@ if targetos == 'linux' and have_tools and not get_option('mpath').disabled() }''' libmpathpersist = cc.find_library('mpathpersist', required: get_option('mpath'), - static: enable_static) + kwargs: static_kwargs) if libmpathpersist.found() mpathlibs += libmpathpersist if enable_static mpathlibs += cc.find_library('devmapper', required: get_option('mpath'), - static: enable_static) + kwargs: static_kwargs) endif mpathlibs += cc.find_library('multipath', required: get_option('mpath'), - static: enable_static) + kwargs: static_kwargs) foreach lib: mpathlibs if not lib.found() mpathlibs = [] @@ -571,7 +574,7 @@ if have_system and not get_option('curses').disabled() curses = dependency(curses_dep, required: false, method: 'pkg-config', - static: enable_static) + kwargs: static_kwargs) endif endforeach msg = get_option('curses').enabled() ? 'curses library not found' : '' @@ -596,7 +599,7 @@ if have_system and not get_option('curses').disabled() foreach curses_libname : curses_libname_list libcurses = cc.find_library(curses_libname, required: false, - static: enable_static) + kwargs: static_kwargs) if libcurses.found() if cc.links(curses_test, args: curses_compile_args, dependencies: libcurses) curses = declare_dependency(compile_args: curses_compile_args, @@ -647,7 +650,7 @@ brlapi = not_found if not get_option('brlapi').auto() or have_system brlapi = cc.find_library('brlapi', has_headers: ['brlapi.h'], required: get_option('brlapi'), - static: enable_static) + kwargs: static_kwargs) if brlapi.found() and not cc.links(''' #include #include @@ -663,7 +666,7 @@ endif sdl = not_found if not get_option('sdl').auto() or (have_system and not cocoa.found()) - sdl = dependency('sdl2', required: get_option('sdl'), static: enable_static) + sdl = dependency('sdl2', required: get_option('sdl'), kwargs: static_kwargs) sdl_image = not_found endif if sdl.found() @@ -671,7 +674,7 @@ if sdl.found() sdl = declare_dependency(compile_args: '-Wno-undef', dependencies: sdl) sdl_image = dependency('SDL2_image', required: get_option('sdl_image'), - method: 'pkg-config', static: enable_static) + method: 'pkg-config', kwargs: static_kwargs) else if get_option('sdl_image').enabled() error('sdl-image required, but SDL was @0@'.format( @@ -683,10 +686,10 @@ endif rbd = not_found if not get_option('rbd').auto() or have_block librados = cc.find_library('rados', required: get_option('rbd'), - static: enable_static) + kwargs: static_kwargs) librbd = cc.find_library('rbd', has_headers: ['rbd/librbd.h'], required: get_option('rbd'), - static: enable_static) + kwargs: static_kwargs) if librados.found() and librbd.found() and cc.links(''' #include #include @@ -705,7 +708,7 @@ glusterfs_iocb_has_stat = false if not get_option('glusterfs').auto() or have_block glusterfs = dependency('glusterfs-api', version: '>=3', required: get_option('glusterfs'), - method: 'pkg-config', static: enable_static) + method: 'pkg-config', kwargs: static_kwargs) if glusterfs.found() glusterfs_ftruncate_has_stat = cc.links(''' #include @@ -744,7 +747,7 @@ libbzip2 = not_found if not get_option('bzip2').auto() or have_block libbzip2 = cc.find_library('bz2', has_headers: ['bzlib.h'], required: get_option('bzip2'), - static: enable_static) + kwargs: static_kwargs) if libbzip2.found() and not cc.links(''' #include int main(void) { BZ2_bzlibVersion(); return 0; }''', dependencies: libbzip2) @@ -761,7 +764,7 @@ liblzfse = not_found if not get_option('lzfse').auto() or have_block liblzfse = cc.find_library('lzfse', has_headers: ['lzfse.h'], required: get_option('lzfse'), - static: enable_static) + kwargs: static_kwargs) endif if liblzfse.found() and not cc.links(''' #include @@ -798,12 +801,12 @@ if not get_option('gtk').auto() or (have_system and not cocoa.found()) gtk = dependency('gtk+-3.0', version: '>=3.22.0', method: 'pkg-config', required: get_option('gtk'), - static: enable_static) + kwargs: static_kwargs) if gtk.found() gtkx11 = dependency('gtk+-x11-3.0', version: '>=3.22.0', method: 'pkg-config', required: false, - static: enable_static) + kwargs: static_kwargs) gtk = declare_dependency(dependencies: [gtk, gtkx11]) endif endif @@ -816,7 +819,7 @@ endif x11 = not_found if gtkx11.found() or 'lm32-softmmu' in target_dirs x11 = dependency('x11', method: 'pkg-config', required: gtkx11.found(), - static: enable_static) + kwargs: static_kwargs) endif vnc = not_found png = not_found @@ -825,12 +828,12 @@ sasl = not_found if get_option('vnc').enabled() vnc = declare_dependency() # dummy dependency png = dependency('libpng', required: get_option('vnc_png'), - method: 'pkg-config', static: enable_static) + method: 'pkg-config', kwargs: static_kwargs) jpeg = dependency('libjpeg', required: get_option('vnc_jpeg'), - method: 'pkg-config', static: enable_static) + method: 'pkg-config', kwargs: static_kwargs) sasl = cc.find_library('sasl2', has_headers: ['sasl/sasl.h'], required: get_option('vnc_sasl'), - static: enable_static) + kwargs: static_kwargs) if sasl.found() sasl = declare_dependency(dependencies: sasl, compile_args: '-DSTRUCT_IOVEC_DEFINED') @@ -841,7 +844,7 @@ snappy = not_found if not get_option('snappy').auto() or have_system snappy = cc.find_library('snappy', has_headers: ['snappy-c.h'], required: get_option('snappy'), - static: enable_static) + kwargs: static_kwargs) endif if snappy.found() and not cc.links(''' #include @@ -858,7 +861,7 @@ lzo = not_found if not get_option('lzo').auto() or have_system lzo = cc.find_library('lzo2', has_headers: ['lzo/lzo1x.h'], required: get_option('lzo'), - static: enable_static) + kwargs: static_kwargs) endif if lzo.found() and not cc.links(''' #include @@ -893,7 +896,7 @@ u2f = not_found if have_system u2f = dependency('u2f-emu', required: get_option('u2f'), method: 'pkg-config', - static: enable_static) + kwargs: static_kwargs) endif usbredir = not_found if 'CONFIG_USB_REDIR' in config_host @@ -920,7 +923,7 @@ if 'CONFIG_TASN1' in config_host link_args: config_host['TASN1_LIBS'].split()) endif keyutils = dependency('libkeyutils', required: false, - method: 'pkg-config', static: enable_static) + method: 'pkg-config', kwargs: static_kwargs) has_gettid = cc.has_function('gettid') @@ -979,7 +982,7 @@ endif fuse = dependency('fuse3', required: get_option('fuse'), version: '>=3.1', method: 'pkg-config', - static: enable_static) + kwargs: static_kwargs) fuse_lseek = not_found if not get_option('fuse_lseek').disabled() @@ -1367,7 +1370,7 @@ capstone_opt = get_option('capstone') if capstone_opt in ['enabled', 'auto', 'system'] have_internal = fs.exists(meson.current_source_dir() / 'capstone/Makefile') capstone = dependency('capstone', version: '>=4.0', - static: enable_static, method: 'pkg-config', + kwargs: static_kwargs, method: 'pkg-config', required: capstone_opt == 'system' or capstone_opt == 'enabled' and not have_internal) if capstone.found() @@ -1477,7 +1480,7 @@ if have_system slirp_opt = get_option('slirp') if slirp_opt in ['enabled', 'auto', 'system'] have_internal = fs.exists(meson.current_source_dir() / 'slirp/meson.build') - slirp = dependency('slirp', static: enable_static, + slirp = dependency('slirp', kwargs: static_kwargs, method: 'pkg-config', required: slirp_opt == 'system' or slirp_opt == 'enabled' and not have_internal) @@ -1556,7 +1559,7 @@ fdt_opt = get_option('fdt') if have_system if fdt_opt in ['enabled', 'auto', 'system'] have_internal = fs.exists(meson.current_source_dir() / 'dtc/libfdt/Makefile.libfdt') - fdt = cc.find_library('fdt', static: enable_static, + fdt = cc.find_library('fdt', kwargs: static_kwargs, required: fdt_opt == 'system' or fdt_opt == 'enabled' and not have_internal) if fdt.found() and cc.links(''' From patchwork Mon Feb 8 18:22:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076567 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 632C8C433E0 for ; Mon, 8 Feb 2021 21:58:58 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D2C3B64E66 for ; Mon, 8 Feb 2021 21:58:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D2C3B64E66 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:58676 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9EYa-0005f1-Rf for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 16:58:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50326) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCM-00030H-GH for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:46 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:36569) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCK-00065I-VN for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:46 -0500 Received: by mail-wm1-x332.google.com with SMTP id i9so69258wmq.1 for ; Mon, 08 Feb 2021 10:23:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=m9+H1ATH2dCIeCzK/A3SmO1reDOgs5mxyLkmqSTIPAs=; b=Iy9p7ZnjQbPB9vzFsfjxrjzVsugphMDlhEj8SHKAPY19oCCObSYixweP5YNNCnCPSj 8yuZ9Q8FU0NxDuK7bJb0x5nI3DWdoRekF7JQVUYi45xYreNbzqT2tRL8eN08xqiPBVqa lMq4dV8Qz47nI8KD3zUPPm0aA1j9Fz+oQpqjTBhopkz0C+Q3CF8lg5ujbvP7+YEOXyzF qNtTzaDGyrx78Omioxffn/6g1/BI4OFdH0szkJKRXF8pT7eX2/F0TquEivTepS4S2Y+a DxxJqoZvPn1vcV1iJo+FAkKE7i7AG7aWYUG1kyBX80Ogew5WlvQdEfbp81+aK3k0shb2 Ksbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=m9+H1ATH2dCIeCzK/A3SmO1reDOgs5mxyLkmqSTIPAs=; b=BYeVW6ofxSZcRgx5F6GXXaMpXlLF2aRXD7OYPioCcurHOhzK0tL++S9ubYXfB+H4ZY ZzwURJ4qpzcPymzPMyYfRZgfRSwsnu8V3g3gULw8AL3EecQaWOwOXfv6nl0J7RrKYkGa aPJWM6yqgynvwOVIvzefmkNEQPAuxQ0omUE5/KKnfDr2erlnzkHx5Hsuy+rHjeRR6LKC mC8x3hAI+5glTPTBOu2ItBhnwuC+8p0XETONJ3tAgK+hx9VK8gNTy74QgQW6XrdUtujr 8WQIdSMi0hGTSaEwR+ibU+5KuCWGOudatbSwuUzxwCTBMvR0m2tmRQrZeZ7wfIcZnKTg G7VA== X-Gm-Message-State: AOAM532I0HsIYDev56YOku6jKqDMVIE7sfZCdL5I1GmCX7jdqFHXncXB Kdo/5sVJTfe6aRYLx3YVEbkhlk/RStp5cQ== X-Google-Smtp-Source: ABdhPJyzz7qTmyEbVPxIFFHKUc30busAR2sQ3ua6FtwPcDqdW+bqmpI3FX44lUxToPjC4PjKZXw8Cg== X-Received: by 2002:a7b:c753:: with SMTP id w19mr58715wmk.41.1612808623752; Mon, 08 Feb 2021 10:23:43 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:43 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 11/46] meson: honor --enable-rbd if cc.links test fails Date: Mon, 8 Feb 2021 19:22:56 +0100 Message-Id: <20210208182331.58897-12-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x332.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" If the link test failed, compilation proceeded with RBD disabled, even if --enable-rbd was used on the configure command line. Fix that. Signed-off-by: Paolo Bonzini --- meson.build | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/meson.build b/meson.build index 6d6537d74a..5bd22f431a 100644 --- a/meson.build +++ b/meson.build @@ -690,15 +690,21 @@ if not get_option('rbd').auto() or have_block librbd = cc.find_library('rbd', has_headers: ['rbd/librbd.h'], required: get_option('rbd'), kwargs: static_kwargs) - if librados.found() and librbd.found() and cc.links(''' - #include - #include - int main(void) { - rados_t cluster; - rados_create(&cluster, NULL); - return 0; - }''', dependencies: [librbd, librados]) - rbd = declare_dependency(dependencies: [librbd, librados]) + if librados.found() and librbd.found() + if cc.links(''' + #include + #include + int main(void) { + rados_t cluster; + rados_create(&cluster, NULL); + return 0; + }''', dependencies: [librbd, librados]) + rbd = declare_dependency(dependencies: [librbd, librados]) + elif get_option('rbd').enabled() + error('could not link librados') + else + warning('could not link librados, disabling') + endif endif endif From patchwork Mon Feb 8 18:22:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076573 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 973DEC433E0 for ; Mon, 8 Feb 2021 22:03:47 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2B24D64E82 for ; Mon, 8 Feb 2021 22:03:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2B24D64E82 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:39356 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9EdG-00019g-7H for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:03:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50364) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCN-00033S-KY for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:48 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:40940) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCL-00066L-SK for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:47 -0500 Received: by mail-wr1-x436.google.com with SMTP id v14so2805909wro.7 for ; Mon, 08 Feb 2021 10:23:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5+Qquv8OR22XOEyWZERU5+Z7g58iUqcyj2p9zxcpyRs=; b=BCbbI36F60SUgrK/cwkULiuW3yLypiE8SrciEOFI9ONSiv8WmELrgLf2oux8Dqqcou f9xjbayNjA5WqWrFi1NoSg0J7yKqQ+tM+vmfbSeKNoj3R3RQoW58qt/98VApcfK1ixbI ILJx6wBbU07/w8/mMylZ2CIYjSUxuyDXLoRUKJiV47s247e/bNPxHMDZqkZPozllFw3O j4f75in1VHffb5vNFAMc4FG9siqwq1FSJ5W3s4ZYapAQqEoHCYhdaQI6c9fP0Xwjne5d 48medoSg1c+fKfNZiagW+wIBbvFY7+PK8EQdntaffNzcrn7mM/leaGNy0gW7D4kt/DDM wRsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=5+Qquv8OR22XOEyWZERU5+Z7g58iUqcyj2p9zxcpyRs=; b=Ulsw9WF6WdTTD+pQbJX2RUtj4txQFgbxgaIkOXVP3V8SMwXdF5ENzlrGJeN/vUpCus im3bAZGwPibkcV00RzU1+aJdWYhA44Um5PGklALuiBQ9ZY6sfjBsS5OYmaJlTj/ESKut dAoXcdOtf7KOYnSfJfUtZfO9ucyD4+Q7NbU620zlbWoqey50weAFGSnctsgzuOjYm4mf ZV94Z1D7G71tRyO5x/QAqJlDncOVoxUMm+/XlS+TZauWg+DtsN1MC+KHweRIsF7PzjbH EVhCNXpyt2CZi4n3r4OPj/KnwNam7/iGY3oBaZC/gI1p7bCHdAW/MOx6tEz8vXxJvPoJ AtCQ== X-Gm-Message-State: AOAM531M4aEXOFjb9AJn/n+yuT/Hcj2R+0pGMCOe+yYidinicWVtdLiL GxnWT1yk3X92KX3f1o3PBe1DNyw/ohZmwA== X-Google-Smtp-Source: ABdhPJyqDffqbXNbT5XAGup+ZfAWUu0SRjKjx0hlhO931CqQZDffjTBgOcEHR8HdWAIf7TM1rg1HsA== X-Received: by 2002:adf:dd81:: with SMTP id x1mr8406954wrl.233.1612808624586; Mon, 08 Feb 2021 10:23:44 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:44 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 12/46] x86/cpu: Populate SVM CPUID feature bits Date: Mon, 8 Feb 2021 19:22:57 +0100 Message-Id: <20210208182331.58897-13-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x436.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Wei Huang Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Wei Huang Newer AMD CPUs will add CPUID_0x8000000A_EDX[28] bit, which indicates that SVM instructions (VMRUN/VMSAVE/VMLOAD) will trigger #VMEXIT before CPU checking their EAX against reserved memory regions. This change will allow the hypervisor to avoid intercepting #GP and emulating SVM instructions. KVM turns on this CPUID bit for nested VMs. In order to support it, let us populate this bit, along with other SVM feature bits, in FEAT_SVM. Signed-off-by: Wei Huang Message-Id: <20210126202456.589932-1-wei.huang2@amd.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 6 +++--- target/i386/cpu.h | 24 ++++++++++++++---------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index e775e9abb5..ff25ad6f6c 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -926,11 +926,11 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = { "npt", "lbrv", "svm-lock", "nrip-save", "tsc-scale", "vmcb-clean", "flushbyasid", "decodeassists", NULL, NULL, "pause-filter", NULL, - "pfthreshold", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, + "pfthreshold", "avic", NULL, "v-vmsave-vmload", + "vgif", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "svme-addr-chk", NULL, NULL, NULL, }, .cpuid = { .eax = 0x8000000A, .reg = R_EDX, }, .tcg_features = TCG_SVM_FEATURES, diff --git a/target/i386/cpu.h b/target/i386/cpu.h index d23a5b340a..b39ec505de 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -670,16 +670,20 @@ typedef uint64_t FeatureWordArray[FEATURE_WORDS]; #define CPUID_EXT3_PERFCORE (1U << 23) #define CPUID_EXT3_PERFNB (1U << 24) -#define CPUID_SVM_NPT (1U << 0) -#define CPUID_SVM_LBRV (1U << 1) -#define CPUID_SVM_SVMLOCK (1U << 2) -#define CPUID_SVM_NRIPSAVE (1U << 3) -#define CPUID_SVM_TSCSCALE (1U << 4) -#define CPUID_SVM_VMCBCLEAN (1U << 5) -#define CPUID_SVM_FLUSHASID (1U << 6) -#define CPUID_SVM_DECODEASSIST (1U << 7) -#define CPUID_SVM_PAUSEFILTER (1U << 10) -#define CPUID_SVM_PFTHRESHOLD (1U << 12) +#define CPUID_SVM_NPT (1U << 0) +#define CPUID_SVM_LBRV (1U << 1) +#define CPUID_SVM_SVMLOCK (1U << 2) +#define CPUID_SVM_NRIPSAVE (1U << 3) +#define CPUID_SVM_TSCSCALE (1U << 4) +#define CPUID_SVM_VMCBCLEAN (1U << 5) +#define CPUID_SVM_FLUSHASID (1U << 6) +#define CPUID_SVM_DECODEASSIST (1U << 7) +#define CPUID_SVM_PAUSEFILTER (1U << 10) +#define CPUID_SVM_PFTHRESHOLD (1U << 12) +#define CPUID_SVM_AVIC (1U << 13) +#define CPUID_SVM_V_VMSAVE_VMLOAD (1U << 15) +#define CPUID_SVM_VGIF (1U << 16) +#define CPUID_SVM_SVME_ADDR_CHK (1U << 28) /* Support RDFSBASE/RDGSBASE/WRFSBASE/WRGSBASE */ #define CPUID_7_0_EBX_FSGSBASE (1U << 0) From patchwork Mon Feb 8 18:22:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076569 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 39ED1C433DB for ; Mon, 8 Feb 2021 21:59:09 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A640164E66 for ; Mon, 8 Feb 2021 21:59:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A640164E66 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:59292 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9EYl-0005ty-I0 for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 16:59:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50374) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCO-00034h-E6 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:48 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:38074) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCN-00066b-0W for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:48 -0500 Received: by mail-wr1-x42f.google.com with SMTP id b3so18382099wrj.5 for ; Mon, 08 Feb 2021 10:23:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WW9FjE01j//RL/qhn41ULN+iS845r2HT2fAeuJfLQAw=; b=gbed6NQ1Af+p/c/1vSg6J0npdPCXfPbpF+0b5ZrLj1ygEUtqklW1VGT5xBcETEO/2f erOd3ZzcrR/S741BFH4bzYYkLupSOUU0Hf0tZK1QZXKxByaTDHNSpzotOjszWtu0D9On Y4gGXxkfCQQfCkuoZ7Bga91Uir/NhkPfdeq0VXikLmcBL0GPnur35BAv/98XzS/kZH3s HKsLm9nGeBfmt9vI3BKRIvrqkXZn0PJqZy45PGYztuPxtLNNQzHOrW7KdvuCX7TcA1f4 t4fSbMtvVblbsqtc24gL8cxTdZKeYUySEmN0LoT0Rg7V9yIyChfLImlbSeTJhiLcwrKM r76A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=WW9FjE01j//RL/qhn41ULN+iS845r2HT2fAeuJfLQAw=; b=awm64/9IlavvAwrdd4uNGhYZP2kIeKhF0wg/TshRHMQJFvKAl98aVCL5f0gOv4Cifw aFE6CZ2LnPSCXBb3kmcryS2gnXrbv3gd/PbBR+qX4IEuBm3P8xlFGlS9JLPlkZfQYqBa H5WeZwSp3yqMUW3eH0HvFZ8GFITKGn2BoFXzqGMLpLJ/2oiaa2rkhI9J48Qdt+vwSUBg xGcM10aQ2uDCqiNLBm9UaXvkxE2F96lTXFvZoj0I+pW+EUdd5v0KTnTKsaZ0tTboLhMn RS7zMIe7i3lfh72Hq+TOoHGXx/QTg1MDUtzz3txeeDNj4B4r+psWfLE6dbDFn22KhLuB BLVw== X-Gm-Message-State: AOAM5316IQ0Sy5xDQvmash6zxSqZ+jSlktuxqh3uOnLlMVo428EP5zT9 RCagtvsQW6kDHVhbRQIb8hviXog4oWs+Mg== X-Google-Smtp-Source: ABdhPJwCQjgrgwfEOSTcXT4KiV2CaYQwW9PcmYYPm5DUTvyyjxURMvhWBlITgBQcAFgHreRXVmqqzg== X-Received: by 2002:adf:ea02:: with SMTP id q2mr21506413wrm.25.1612808625750; Mon, 08 Feb 2021 10:23:45 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:44 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 13/46] fuzz: fix wrong index in clear_bits Date: Mon, 8 Feb 2021 19:22:58 +0100 Message-Id: <20210208182331.58897-14-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x42f.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Qiuhao Li Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Qiuhao Li Signed-off-by: Qiuhao Li Message-Id: Signed-off-by: Paolo Bonzini --- scripts/oss-fuzz/minimize_qtest_trace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/oss-fuzz/minimize_qtest_trace.py b/scripts/oss-fuzz/minimize_qtest_trace.py index 4cba96dee2..20825768c2 100755 --- a/scripts/oss-fuzz/minimize_qtest_trace.py +++ b/scripts/oss-fuzz/minimize_qtest_trace.py @@ -261,7 +261,7 @@ def clear_bits(newtrace, outpath): data_try = hex(int("".join(data_bin_list), 2)) # It seems qtest only accepts padded hex-values. if len(data_try) % 2 == 1: - data_try = data_try[:2] + "0" + data_try[2:-1] + data_try = data_try[:2] + "0" + data_try[2:] newtrace[i] = "{prefix} {data_try}\n".format( prefix=prefix, From patchwork Mon Feb 8 18:22:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076575 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C0A2BC433DB for ; Mon, 8 Feb 2021 22:04:03 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 34B8D64E66 for ; Mon, 8 Feb 2021 22:04:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 34B8D64E66 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:40038 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9EdV-0001QG-Ic for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:04:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50400) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCP-00037y-HE for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:49 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:36563) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCO-00067N-0U for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:49 -0500 Received: by mail-wm1-x32b.google.com with SMTP id i9so69391wmq.1 for ; Mon, 08 Feb 2021 10:23:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=C8pY6ef/gvyMoBxKzaS6s9owrZc+gVZ4zdWQxqRNCqM=; b=Lg5aVtxd+pXASqhBnzwMTpz7NHTCV+QDuZ+AZSn0FXBgQlxaXHKuMc0Aw9B+NeoDK7 aPhuVijsp1MAQ5SbcU6AMYdEEdB7rnNI9wik/f8gev0AKa4p4mHFRoZGl4HOMBWacpVd YPTTHCRPIznShJD5//MSW2Hm9fBSLn8trROf1r60OZi7I7+ZrrmHik2P6ZRG5bdpdwJ2 NM7BEHmFx6Gz+ywVtPmcfrc31e+ZRi4/kV8V17q5Ht/c60vwMxLtfdu7WyCGTveX7uTL P8d6xrwABut0hM6v3QagwxiGFdh7Dm/didBL5nvb8VqVOsh6xZUh3CH+RveXv2zp1ypJ PnwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=C8pY6ef/gvyMoBxKzaS6s9owrZc+gVZ4zdWQxqRNCqM=; b=Tg1KlGjq9O2cfokNxvoGZ3pj/OmSdRsvLvWgr6NnioXciCiYOwiPrjqPJUXH1oi3ov yHX/iFucsqrtYZ6KDWvofu0Ov9Fn6B4F5deY/vPcWM8YHhLk0Kxfl81+oHZCd7m+oeoO dxZReUBe4T945KvZuPxiHDtT1mGcYgLFC/PPOdzWx4UpY12t25DFu88Mz7u3F1OF4A0R 51byMCY+DJ7lqElfYwjjOJGGkli+x1mZUr3sK18qeTNds8rDoCgf9g6Bh391WAKcn/bZ SeaO4Y8s5D1a7N+KrXtzrVJDKF7MqyBZRj6f7DM8JE+QNNPyt6V7vPH1slDRpefJ2DVf KDPg== X-Gm-Message-State: AOAM532VQ/ydADRq4RChazFHM+vlaSnonwfJ6vHJXq4KOYiz9fiWgt5Z I4dpbwL8dXnIWiC4rXrYgCifz+6KS8qDwg== X-Google-Smtp-Source: ABdhPJztnVW1YIFUlQFbLYkn8D7QetBtNxbEQUuqnViR/6cedBjLYXYbiClAKTpMIZZY6TnjDek+Gg== X-Received: by 2002:a7b:c5cc:: with SMTP id n12mr40617wmk.123.1612808626648; Mon, 08 Feb 2021 10:23:46 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:46 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 14/46] docs: don't install corresponding man page if guest agent is disabled Date: Mon, 8 Feb 2021 19:22:59 +0100 Message-Id: <20210208182331.58897-15-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x32b.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Stefan Reiter Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Stefan Reiter No sense outputting the qemu-ga and qemu-ga-ref man pages when the guest agent binary itself is disabled. This mirrors behaviour from before the meson switch. Signed-off-by: Stefan Reiter Message-Id: <20210128145801.14384-1-s.reiter@proxmox.com> Signed-off-by: Paolo Bonzini --- docs/meson.build | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/meson.build b/docs/meson.build index bb14eaebd3..f84306ba7e 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -46,9 +46,11 @@ if build_docs meson.source_root() / 'docs/sphinx/qmp_lexer.py', qapi_gen_depends ] + have_ga = have_tools and config_host.has_key('CONFIG_GUEST_AGENT') + man_pages = { - 'qemu-ga.8': (have_tools ? 'man8' : ''), - 'qemu-ga-ref.7': 'man7', + 'qemu-ga.8': (have_ga ? 'man8' : ''), + 'qemu-ga-ref.7': (have_ga ? 'man7' : ''), 'qemu-qmp-ref.7': 'man7', 'qemu-storage-daemon-qmp-ref.7': (have_tools ? 'man7' : ''), 'qemu-img.1': (have_tools ? 'man1' : ''), From patchwork Mon Feb 8 18:23:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076583 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E4D64C433E0 for ; Mon, 8 Feb 2021 22:07:16 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 737DC64E82 for ; Mon, 8 Feb 2021 22:07:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 737DC64E82 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:48946 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9Egd-0005Ne-A4 for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:07:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50424) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCQ-00039t-CW for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:50 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:38076) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCO-00068K-Qj for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:50 -0500 Received: by mail-wr1-x431.google.com with SMTP id b3so18382209wrj.5 for ; Mon, 08 Feb 2021 10:23:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+gYBA8EOP9voo6st9l/tKav/btWR7A0x68POX4fuYnY=; b=KSFRiRzSCcTb7KhJzJZ746g1L0bHQMoEO2I2fcSPp5kXxxMnNfOZExDWEC4GHtsoOu zrM1Pt+Dk+D4Lw0sfXPHCMA/O74FzrpXVY8PKi302hIAF6Mz/5DkOJV+UfjzWlUQcuuc EPMg6z1XlRm+m7H+lIP1A8dZIrfPnXfXfbWX3TU6Hs4De0qAQuu/bD5plr5PrqZOAw3p mv3zMopdi873m1ugly6kRWtJBGhAAYLRMYZwqYV4ri7Rfx2X5NBf/lS/8fbFyHChhV9h wFwbG1FVDsw4iEb0C8xGq9b5OfUs4pfaKEoV+msq9W8fxB9jvg3GfLfvjLLzADhy64Ld Pi2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=+gYBA8EOP9voo6st9l/tKav/btWR7A0x68POX4fuYnY=; b=o9VHbZ+eqktNDimkjMIKZ9wrciTmcwYy9/dkWTC77kNdS9EykQuXrwF68AdxjC+FUd FIpUvWr9zk+VxQtoQ7SmJDMiUeCay5OJP8u+MbsSD16Rfcu/rfGF/NJQscYNUfzj53v3 ediF8BItkqkuXVRld4lzGn5+3sRjcvbfQ173APToI75DtpeAsHMsAsVTjJ2l7xDQtVyV JrJ6OnnXx/5Gjln1eRgPRLk3NHgb/W6lGpJyAWCvhqb15I9cxgLhRAtwwgJly/etvXz4 Q24aTBVp8FLmlypG+/pCzyhpbRTw7XaMUw9jdyfI0Q3XWlHZisg2kaACCVGzRo0gIhJq lwQg== X-Gm-Message-State: AOAM533j59eJ5pNGQ5rCZvToqDcoIg3yXg2NRO8XL7WZB4eiJBsoPO33 Sgqfc3r/CfoVFMhwxlhBQqWwghywOeOEeg== X-Google-Smtp-Source: ABdhPJyNdbgmQv1yK+MpgE7dMpqmNKLUBg3VaA8FGQlJP8YwlrVY3D7+2TBJvbJWOAAOw8V+mthAXQ== X-Received: by 2002:adf:a196:: with SMTP id u22mr2669895wru.416.1612808627580; Mon, 08 Feb 2021 10:23:47 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:47 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 15/46] virtio-scsi: don't uninitialize queues that we didn't initialize Date: Mon, 8 Feb 2021 19:23:00 +0100 Message-Id: <20210208182331.58897-16-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x431.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Maxim Levitsky Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Maxim Levitsky Count number of queues that we initialized and only deinitialize these that we initialized successfully. Signed-off-by: Maxim Levitsky Message-Id: <20201217150040.906961-3-mlevitsk@redhat.com> Signed-off-by: Paolo Bonzini --- hw/scsi/virtio-scsi-dataplane.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/scsi/virtio-scsi-dataplane.c b/hw/scsi/virtio-scsi-dataplane.c index b995bab3a2..2c83a0ab1f 100644 --- a/hw/scsi/virtio-scsi-dataplane.c +++ b/hw/scsi/virtio-scsi-dataplane.c @@ -126,6 +126,7 @@ int virtio_scsi_dataplane_start(VirtIODevice *vdev) { int i; int rc; + int vq_init_count = 0; BusState *qbus = qdev_get_parent_bus(DEVICE(vdev)); VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus); VirtIOSCSICommon *vs = VIRTIO_SCSI_COMMON(vdev); @@ -153,17 +154,22 @@ int virtio_scsi_dataplane_start(VirtIODevice *vdev) if (rc) { goto fail_vrings; } + + vq_init_count++; rc = virtio_scsi_vring_init(s, vs->event_vq, 1, virtio_scsi_data_plane_handle_event); if (rc) { goto fail_vrings; } + + vq_init_count++; for (i = 0; i < vs->conf.num_queues; i++) { rc = virtio_scsi_vring_init(s, vs->cmd_vqs[i], i + 2, virtio_scsi_data_plane_handle_cmd); if (rc) { goto fail_vrings; } + vq_init_count++; } s->dataplane_starting = false; @@ -174,7 +180,7 @@ int virtio_scsi_dataplane_start(VirtIODevice *vdev) fail_vrings: aio_wait_bh_oneshot(s->ctx, virtio_scsi_dataplane_stop_bh, s); aio_context_release(s->ctx); - for (i = 0; i < vs->conf.num_queues + 2; i++) { + for (i = 0; i < vq_init_count; i++) { virtio_bus_set_host_notifier(VIRTIO_BUS(qbus), i, false); virtio_bus_cleanup_host_notifier(VIRTIO_BUS(qbus), i); } From patchwork Mon Feb 8 18:23:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076581 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A8DA7C433E0 for ; Mon, 8 Feb 2021 22:07:07 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1640364E27 for ; Mon, 8 Feb 2021 22:07:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1640364E27 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:48202 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9EgT-00050v-GM for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:07:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50452) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCR-0003Bf-9f for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:51 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:39546) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCP-00069B-NU for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:51 -0500 Received: by mail-wm1-x331.google.com with SMTP id u14so48151wmq.4 for ; Mon, 08 Feb 2021 10:23:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BX3ZP47xPXHNjViaL+mWjoCAJTKiSXDCljaMBbMGeYI=; b=lmPX2d1OfvWm4AP1WhVZ/CjiTSUu3GpTHdjNdIZ3P/B8oVAEPJ/YJlZCHMmhyUlwv9 PzeAd8R/Vnq9qy9l4SbAc8QWn5f8KT0cq1bdu0s+gb/0rl6gn9V3DNBTGl1FjNYDtKZx Z0AlOzMztRjSlk4GKpuVeaEAi4WkWwDg/Cua1DsWqICKmzcjO5bheHiqPYodJyVizOGJ j8o6M1dema+qL2hzO4hgCL48jsoPJfUwSr7cR/eAHHLb4nrWvmc9RZLozNXCHGA1mKQt AFPoZwzpU1py6jSKXh7IEtaEdejh8dc+iY509yDn6jQeqhOnBL2N8u0qqsYSNXhPhxch NbWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=BX3ZP47xPXHNjViaL+mWjoCAJTKiSXDCljaMBbMGeYI=; b=YU2DEvxIWZIwTMR7X1jb5l31Nd2FNVfxo62sBbJVuU5B9r+VlS5zKd4hS57UKSpPrb 4Qm2fFVgQssZKGziI6H69r3f0+tYzN+FuyETO6exrRRcaiOFrewYFZR230rvRrGskHHR gBTlrbVvG6au4Ws5r5IEKjDW4CVohXJqYr5m4WMVHwcQ6O9rfXbpxTYlc/6pHAzTlw37 c1lNo53ROdSVrN/ykEKWuKtp27TL+cRd6BfaXTR7adTM/9AyK2Sa3QJo/fs4etenFPNm uyOSUVMzwxr1DC5JvAgdVbRuDooLjE/dGSdt3rSgHkVb8cNamiV/Q10HLWKRK204qX1Z n7Tg== X-Gm-Message-State: AOAM532XJTPTDfFbW/4nqRkENfxuPNolX0D3aSYMatVo3jW1G3atPg6a 87csEnVw/Bx61c1ZEMQ+7sXh5Ya9et0fmw== X-Google-Smtp-Source: ABdhPJy0GjbZLAQfF3glDgt1ccsyMogCn/EDRMvzLUl7YfvTXvZ8IVRvZ+6aFu9hykD1OhU/j/JXHg== X-Received: by 2002:a1c:9851:: with SMTP id a78mr92422wme.66.1612808628329; Mon, 08 Feb 2021 10:23:48 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:47 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 16/46] event_notifier: handle initialization failure better Date: Mon, 8 Feb 2021 19:23:01 +0100 Message-Id: <20210208182331.58897-17-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x331.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Maxim Levitsky Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Maxim Levitsky Add 'initialized' field and use it to avoid touching event notifiers which are either not initialized or if their initialization failed. This is somewhat a hack, but it seems the less intrusive way to make virtio code deal with event notifiers that failed initialization. Signed-off-by: Maxim Levitsky Message-Id: <20201217150040.906961-4-mlevitsk@redhat.com> Signed-off-by: Paolo Bonzini --- include/qemu/event_notifier.h | 1 + util/event_notifier-posix.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/include/qemu/event_notifier.h b/include/qemu/event_notifier.h index 3380b662f3..b79add035d 100644 --- a/include/qemu/event_notifier.h +++ b/include/qemu/event_notifier.h @@ -24,6 +24,7 @@ struct EventNotifier { #else int rfd; int wfd; + bool initialized; #endif }; diff --git a/util/event_notifier-posix.c b/util/event_notifier-posix.c index 00d93204f9..5b2110e861 100644 --- a/util/event_notifier-posix.c +++ b/util/event_notifier-posix.c @@ -29,6 +29,7 @@ void event_notifier_init_fd(EventNotifier *e, int fd) { e->rfd = fd; e->wfd = fd; + e->initialized = true; } #endif @@ -68,6 +69,7 @@ int event_notifier_init(EventNotifier *e, int active) if (active) { event_notifier_set(e); } + e->initialized = true; return 0; fail: @@ -78,12 +80,18 @@ fail: void event_notifier_cleanup(EventNotifier *e) { + if (!e->initialized) { + return; + } + if (e->rfd != e->wfd) { close(e->rfd); } + e->rfd = -1; close(e->wfd); e->wfd = -1; + e->initialized = false; } int event_notifier_get_fd(const EventNotifier *e) @@ -96,6 +104,10 @@ int event_notifier_set(EventNotifier *e) static const uint64_t value = 1; ssize_t ret; + if (!e->initialized) { + return -1; + } + do { ret = write(e->wfd, &value, sizeof(value)); } while (ret < 0 && errno == EINTR); @@ -113,6 +125,10 @@ int event_notifier_test_and_clear(EventNotifier *e) ssize_t len; char buffer[512]; + if (!e->initialized) { + return 0; + } + /* Drain the notify pipe. For eventfd, only 8 bytes will be read. */ value = 0; do { From patchwork Mon Feb 8 18:23:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076587 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 63AEAC433DB for ; Mon, 8 Feb 2021 22:10:02 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C886F64E82 for ; Mon, 8 Feb 2021 22:10:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C886F64E82 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:57734 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9EjI-0000oy-4P for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:10:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50484) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCS-0003FI-Eg for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:52 -0500 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:34083) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCQ-00069e-Pv for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:52 -0500 Received: by mail-wr1-x430.google.com with SMTP id g10so18424754wrx.1 for ; Mon, 08 Feb 2021 10:23:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=d+G+BDRQ2Y2nPV4bMRufOluSE675gO6hBAOJ+JNH5TA=; b=vdjF7qpygnoL40iXRnQwfWmFIwdBBhqO+VgN6mqECtLR6sTAGeU387AflJ71LjV3iy UKiW7z8V25Fw2qB6UPwMTgeKHVFgex3Q5AAm7Pb/4fan4CLbiyHXbyS/ybYPSxi1KDZ9 6o05o+25Oi+j7HgVRjNl//l1NDvPrV5PwL/39fVfKaJIt+MSt32NlL6beOfAIFlvH/Lx MMj6Orkid69+3bvcfVh07ayD5xHQI31uv7l8do3Upk/tgSFPe4JKsnC6+xTKgjHOCyq1 VzrVu45nJ+xow+ge0ZduNSKloyHfSYvK9YqFSAb6FkBd1gKWBF3pRxusOtxcIPWYgMl8 FLRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=d+G+BDRQ2Y2nPV4bMRufOluSE675gO6hBAOJ+JNH5TA=; b=SnLThniOh8yOMC3NpmdtfN5jzCEts/ERLahSfdjWpcXvfHkIt/EB50Sb/4KI46W96V /YpOW3CxXFs7BFpuBK8nOwBBwWnqWaE6f3TTGiy0/vNCn5OHvS3b8kg8FvIhP5c3dYB9 MOp+eVVZeRNA1BVGESbUmMId2w26XJKtJdBs2XVd+rw3H73k0MK55SXjdE4XucCGnQH8 q6a2TADQ/wf369c71n+H5R5iusS7S3O1UMKrwF+dzfk0DmGq4bBpnoqvsqwZNbkXD3D/ 0ewOK7HEg6UnZnBDAIVEn3T4kYnyyku6oxdsua8KD+If++lk/Pg9MLtOzXYCy9BrM6K0 nE/Q== X-Gm-Message-State: AOAM532xne+O8FY8UDWfB707lFdMDhZ8MUk2Y8VhEDCH/nTyqsuD8x8B GUiRhK85c9BbHUJ6iRvDpJp9DaRtgIJtMw== X-Google-Smtp-Source: ABdhPJwyFdvp0qUmc7KyPbVGMcO1O2iHrpqPuMI8AZd8xpqV2j0SQGWSwUmFJrpg4bAmrh5RQMJjHw== X-Received: by 2002:adf:fd52:: with SMTP id h18mr21411786wrs.295.1612808629214; Mon, 08 Feb 2021 10:23:49 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:48 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 17/46] target/i386: Fix decoding of certain BMI instructions Date: Mon, 8 Feb 2021 19:23:02 +0100 Message-Id: <20210208182331.58897-18-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x430.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: David Greenaway Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: David Greenaway This patch fixes a translation bug for a subset of x86 BMI instructions such as the following: c4 e2 f9 f7 c0 shlxq %rax, %rax, %rax Currently, these incorrectly generate an undefined instruction exception when SSE is disabled via CR4, while instructions like "shrxq" work fine. The problem appears to be related to BMI instructions encoded using VEX and with a mandatory prefix of "0x66" (data). Instructions with this data prefix (such as shlxq) are currently rejected. Instructions with other mandatory prefixes (such as shrxq) translate as expected. This patch removes the incorrect check in "gen_sse" that causes the exception to be generated. For the non-BMI cases, the check is redundant: prefixes are already checked at line 3696. Buglink: https://bugs.launchpad.net/qemu/+bug/1748296 Signed-off-by: David Greenaway Message-Id: <20210114063958.1508050-1-dgreenaway@google.com> Signed-off-by: Paolo Bonzini --- target/i386/tcg/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index 6a4c31f933..af1faf9342 100644 --- a/target/i386/tcg/translate.c +++ b/target/i386/tcg/translate.c @@ -3075,7 +3075,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b, } if (is_xmm && !(s->flags & HF_OSFXSR_MASK) - && ((b != 0x38 && b != 0x3a) || (s->prefix & PREFIX_DATA))) { + && (b != 0x38 && b != 0x3a)) { goto unknown_op; } if (b == 0x0e) { From patchwork Mon Feb 8 18:23:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076725 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 85481C433E0 for ; Mon, 8 Feb 2021 23:04:58 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1831A64E82 for ; Mon, 8 Feb 2021 23:04:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1831A64E82 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:34468 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FaT-0003Pn-0q for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 18:04:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50500) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCT-0003HM-80 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:53 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:36569) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCR-0006AL-GP for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:53 -0500 Received: by mail-wm1-x331.google.com with SMTP id i9so69577wmq.1 for ; Mon, 08 Feb 2021 10:23:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fdH7HJcBmEgUBu/EmlvYnMP4ZoHFqPuIpDZypVoA0WI=; b=qUV1H97y1G9j00CS03vpYUVH+0oXCebgfwJq5Qal6U36EM7tyfDYcsYcZC6HnHZtpv A8CPA0EGSZpkaZXKA46/KvehD87TKTIzpTCx+FM3RNu1KOfKhZP+qkxeOZ/OF4QgI6jT XHVKgE3s+OOpucWvo94S19E+tDdDiWoymgHhTl8reC1X1jU1s89uT21IpAY1fzLvDGHP q+rw3t1xu3AZ7Og10f+DuvLSUwLJc2tOmVwOR+STEgncA3KsYWvWdkyZW83iSJVsKxqH fbcqordtVu8+RfI1UBJGlBqgZH1GGM7PUwlNX/TNOdTpRGu8YYajrIqhw7PWvlCoC0fn 2dbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=fdH7HJcBmEgUBu/EmlvYnMP4ZoHFqPuIpDZypVoA0WI=; b=kEdq2OTXdXzOaqYUVb39d/+X8B8l2M2BX2TaZ//Fl1DKYawus+FwwVdXOy8uNgMB0G aW8nxCmby5EQYrF/SLkM0BaRB825oPNPBl3Df7WEqWDTJzMmhtkod4eBjXavrbH93ZWu 6zQOmCzIG+S5FhFmxmbtvAbLnuta3jGOEN7OPpqbduoidQR4H8ha4htHtne7Q9p495RW DT8ZmUwQAGRs6Z9MaU6r6TlZHfLKjy0QtTlW8Vqk8HSMWC07GZfFJ/Zi4Rnd2VC+YdOe 2S3xl48oFK961UWSP42jQ7KQkgk9g0OvddkBISwMu0fDVENwhKkEHbqcTmVosksis1Yf DoSw== X-Gm-Message-State: AOAM533ejLyaCVZspnGVEFbPdF5nld5hbf3HMmmyux1q2dNSRm2lYW/x gn3Fz90l6LT/+Tfy9kaXPUThpYZmyE13hg== X-Google-Smtp-Source: ABdhPJxtR3iBp8lixG0c2cmxbVLsEEsONdeDgzTzRsjDlck3X6fRU3aJYOFF2YKSvP8jLmzTK02tOg== X-Received: by 2002:a05:600c:2252:: with SMTP id a18mr30921wmm.167.1612808630132; Mon, 08 Feb 2021 10:23:50 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:49 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 18/46] target/i86: implement PKS Date: Mon, 8 Feb 2021 19:23:03 +0100 Message-Id: <20210208182331.58897-19-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x331.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Protection Keys for Supervisor-mode pages is a simple extension of the PKU feature that QEMU already implements. For supervisor-mode pages, protection key restrictions come from a new MSR. The MSR has no XSAVE state associated to it. PKS is only respected in long mode. However, in principle it is possible to set the MSR even outside long mode, and in fact even the XSAVE state for PKRU could be set outside long mode using XRSTOR. So do not limit the migration subsections for PKRU and PKRS to long mode. Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 4 ++-- target/i386/cpu.h | 5 +++++ target/i386/helper.c | 3 +++ target/i386/machine.c | 24 ++++++++++++++++++++---- target/i386/tcg/excp_helper.c | 32 ++++++++++++++++++++------------ target/i386/tcg/misc_helper.c | 14 ++++++++++++++ 6 files changed, 64 insertions(+), 18 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index ff25ad6f6c..0b0d65c21c 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -667,7 +667,7 @@ static void x86_cpu_vendor_words2str(char *dst, uint32_t vendor1, CPUID_7_0_EBX_RDSEED */ #define TCG_7_0_ECX_FEATURES (CPUID_7_0_ECX_PKU | \ /* CPUID_7_0_ECX_OSPKE is dynamic */ \ - CPUID_7_0_ECX_LA57) + CPUID_7_0_ECX_LA57 | CPUID_7_0_ECX_PKS) #define TCG_7_0_EDX_FEATURES 0 #define TCG_7_1_EAX_FEATURES 0 #define TCG_APM_FEATURES 0 @@ -964,7 +964,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = { "la57", NULL, NULL, NULL, NULL, NULL, "rdpid", NULL, NULL, "cldemote", NULL, "movdiri", - "movdir64b", NULL, NULL, NULL, + "movdir64b", NULL, NULL, "pks", }, .cpuid = { .eax = 7, diff --git a/target/i386/cpu.h b/target/i386/cpu.h index b39ec505de..cc5a26f35b 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -247,6 +247,7 @@ typedef enum X86Seg { #define CR4_SMEP_MASK (1U << 20) #define CR4_SMAP_MASK (1U << 21) #define CR4_PKE_MASK (1U << 22) +#define CR4_PKS_MASK (1U << 24) #define DR6_BD (1 << 13) #define DR6_BS (1 << 14) @@ -357,6 +358,7 @@ typedef enum X86Seg { #define MSR_IA32_TSX_CTRL 0x122 #define MSR_IA32_TSCDEADLINE 0x6e0 +#define MSR_IA32_PKRS 0x6e1 #define FEATURE_CONTROL_LOCKED (1<<0) #define FEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX (1<<2) @@ -772,6 +774,8 @@ typedef uint64_t FeatureWordArray[FEATURE_WORDS]; #define CPUID_7_0_ECX_MOVDIRI (1U << 27) /* Move 64 Bytes as Direct Store Instruction */ #define CPUID_7_0_ECX_MOVDIR64B (1U << 28) +/* Protection Keys for Supervisor-mode Pages */ +#define CPUID_7_0_ECX_PKS (1U << 31) /* AVX512 Neural Network Instructions */ #define CPUID_7_0_EDX_AVX512_4VNNIW (1U << 2) @@ -1487,6 +1491,7 @@ typedef struct CPUX86State { uint64_t msr_smi_count; uint32_t pkru; + uint32_t pkrs; uint32_t tsx_ctrl; uint64_t spec_ctrl; diff --git a/target/i386/helper.c b/target/i386/helper.c index 6bb0c53182..618ad1c409 100644 --- a/target/i386/helper.c +++ b/target/i386/helper.c @@ -194,6 +194,9 @@ void cpu_x86_update_cr4(CPUX86State *env, uint32_t new_cr4) if (!(env->features[FEAT_7_0_ECX] & CPUID_7_0_ECX_PKU)) { new_cr4 &= ~CR4_PKE_MASK; } + if (!(env->features[FEAT_7_0_ECX] & CPUID_7_0_ECX_PKS)) { + new_cr4 &= ~CR4_PKS_MASK; + } env->cr[4] = new_cr4; env->hflags = hflags; diff --git a/target/i386/machine.c b/target/i386/machine.c index 1614e8c2f8..3768a753af 100644 --- a/target/i386/machine.c +++ b/target/i386/machine.c @@ -980,7 +980,6 @@ static const VMStateDescription vmstate_umwait = { } }; -#ifdef TARGET_X86_64 static bool pkru_needed(void *opaque) { X86CPU *cpu = opaque; @@ -999,7 +998,25 @@ static const VMStateDescription vmstate_pkru = { VMSTATE_END_OF_LIST() } }; -#endif + +static bool pkrs_needed(void *opaque) +{ + X86CPU *cpu = opaque; + CPUX86State *env = &cpu->env; + + return env->pkrs != 0; +} + +static const VMStateDescription vmstate_pkrs = { + .name = "cpu/pkrs", + .version_id = 1, + .minimum_version_id = 1, + .needed = pkrs_needed, + .fields = (VMStateField[]){ + VMSTATE_UINT32(env.pkrs, X86CPU), + VMSTATE_END_OF_LIST() + } +}; static bool tsc_khz_needed(void *opaque) { @@ -1480,9 +1497,8 @@ VMStateDescription vmstate_x86_cpu = { &vmstate_umwait, &vmstate_tsc_khz, &vmstate_msr_smi_count, -#ifdef TARGET_X86_64 &vmstate_pkru, -#endif + &vmstate_pkrs, &vmstate_spec_ctrl, &vmstate_mcg_ext_ctl, &vmstate_msr_intel_pt, diff --git a/target/i386/tcg/excp_helper.c b/target/i386/tcg/excp_helper.c index a0f44431fe..b7d6259e4a 100644 --- a/target/i386/tcg/excp_helper.c +++ b/target/i386/tcg/excp_helper.c @@ -361,6 +361,7 @@ static int handle_mmu_fault(CPUState *cs, vaddr addr, int size, uint64_t rsvd_mask = PG_HI_RSVD_MASK; uint32_t page_offset; target_ulong vaddr; + uint32_t pkr; is_user = mmu_idx == MMU_USER_IDX; #if defined(DEBUG_MMU) @@ -588,21 +589,28 @@ do_check_protect_pse36: !((env->cr[4] & CR4_SMEP_MASK) && (ptep & PG_USER_MASK)))) { prot |= PAGE_EXEC; } - if ((env->cr[4] & CR4_PKE_MASK) && (env->hflags & HF_LMA_MASK) && - (ptep & PG_USER_MASK) && env->pkru) { + + if (!(env->hflags & HF_LMA_MASK)) { + pkr = 0; + } else if (ptep & PG_USER_MASK) { + pkr = env->cr[4] & CR4_PKE_MASK ? env->pkru : 0; + } else { + pkr = env->cr[4] & CR4_PKS_MASK ? env->pkrs : 0; + } + if (pkr) { uint32_t pk = (pte & PG_PKRU_MASK) >> PG_PKRU_BIT; - uint32_t pkru_ad = (env->pkru >> pk * 2) & 1; - uint32_t pkru_wd = (env->pkru >> pk * 2) & 2; - uint32_t pkru_prot = PAGE_READ | PAGE_WRITE | PAGE_EXEC; - - if (pkru_ad) { - pkru_prot &= ~(PAGE_READ | PAGE_WRITE); - } else if (pkru_wd && (is_user || env->cr[0] & CR0_WP_MASK)) { - pkru_prot &= ~PAGE_WRITE; + uint32_t pkr_ad = (pkr >> pk * 2) & 1; + uint32_t pkr_wd = (pkr >> pk * 2) & 2; + uint32_t pkr_prot = PAGE_READ | PAGE_WRITE | PAGE_EXEC; + + if (pkr_ad) { + pkr_prot &= ~(PAGE_READ | PAGE_WRITE); + } else if (pkr_wd && (is_user || env->cr[0] & CR0_WP_MASK)) { + pkr_prot &= ~PAGE_WRITE; } - prot &= pkru_prot; - if ((pkru_prot & (1 << is_write1)) == 0) { + prot &= pkr_prot; + if ((pkr_prot & (1 << is_write1)) == 0) { assert(is_write1 != 2); error_code |= PG_ERROR_PK_MASK; goto do_fault_protect; diff --git a/target/i386/tcg/misc_helper.c b/target/i386/tcg/misc_helper.c index 0bd6c95749..f02e4fd400 100644 --- a/target/i386/tcg/misc_helper.c +++ b/target/i386/tcg/misc_helper.c @@ -244,6 +244,7 @@ void helper_rdmsr(CPUX86State *env) void helper_wrmsr(CPUX86State *env) { uint64_t val; + CPUState *cs = env_cpu(env); cpu_svm_check_intercept_param(env, SVM_EXIT_MSR, 1, GETPC()); @@ -296,6 +297,13 @@ void helper_wrmsr(CPUX86State *env) case MSR_PAT: env->pat = val; break; + case MSR_IA32_PKRS: + if (val & 0xFFFFFFFF00000000ull) { + goto error; + } + env->pkrs = val; + tlb_flush(cs); + break; case MSR_VM_HSAVE_PA: env->vm_hsave = val; break; @@ -399,6 +407,9 @@ void helper_wrmsr(CPUX86State *env) /* XXX: exception? */ break; } + return; +error: + raise_exception_err_ra(env, EXCP0D_GPF, 0, GETPC()); } void helper_rdmsr(CPUX86State *env) @@ -430,6 +441,9 @@ void helper_rdmsr(CPUX86State *env) case MSR_PAT: val = env->pat; break; + case MSR_IA32_PKRS: + val = env->pkrs; + break; case MSR_VM_HSAVE_PA: val = env->vm_hsave; break; From patchwork Mon Feb 8 18:23:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076591 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4411CC433E0 for ; Mon, 8 Feb 2021 22:14:19 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 99C1564E9A for ; Mon, 8 Feb 2021 22:14:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 99C1564E9A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:38400 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9EnR-0004e7-HN for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:14:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50518) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCU-0003Jj-2O for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:54 -0500 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:39549) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCS-0006Bi-Ih for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:53 -0500 Received: by mail-wm1-x334.google.com with SMTP id u14so48279wmq.4 for ; Mon, 08 Feb 2021 10:23:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=v1wa2wRNyEOkT0LUu3oyTGoavZ989jCMYDDvFmxxWSs=; b=Xr35hmIOJXIve2F/DcC//05qVK6i10c6yzqM+S+oKwYFit7fLkNQ5KCZcvIihyFpwY YRg2q7Z5GsSWdYM0GNnV1pee//8p48oxHrAj/9u0y6/RyW3BUqfMLUROcq84XJILllk+ 84EypVBsSYANcRNqOPBbsDtq5um9znVTWoADZbIgXA2k8NkgE7moxosLmvlF5yiZ8fP7 /HvqcvUpJA8io6n5nWVtf+XRxo4AccjsSgi9ZqlpgBV6UJSSfaZ6wb3MeGVAqLwyzWSu KhBC/a7l1QmlkTejUiWsAIC3ARf40mJkZ8iM5L9pyNYKehszcxFcOiXxjhKTmYPE4T8s e87g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=v1wa2wRNyEOkT0LUu3oyTGoavZ989jCMYDDvFmxxWSs=; b=fgPtnk5EzLatVm861Mn32BqpL7xCW3Gvh1mJQEP5DU4wgbmHZIMpfCCIZeKZ08XH35 TdZuqAL2sW2yeZtq+IV80R1143ejkCg1dxc2Y7YzioPv5JeWJEKpDLEWfsOw+xj9nNiE 5bFMZ2d2dJhOBrjyBrV1k7C/DGT8iJ4+T2uJjjrFWQ1vOTtP8W9jKrCVvSjhLw20L2vZ Nyvp5KVpa4m+tyjt/i8xMZrt7Y0KrsKL1teMRTAgqRi2J2EpU8wGdQh34bjzopkJjofp iaJ0jaL80twJUuaCbPITLbL18YFK8QoL5S6yvWH44SINK049B6X6w5aBbLujvWxK/clt jWmA== X-Gm-Message-State: AOAM531ltUcwPgBeYx9nQ3F73TLn+dyduouUCbI/SQE6pJbYWhrtCMqf fePp49vz2oNlNMMu7vHISuV4stDDFWAGWw== X-Google-Smtp-Source: ABdhPJynaG5ufmOkPY8auHXcoXJv1C1UWrSzVTrVVmIJp/HW2UduxVffx7X5fjA7BsUJnJowFCFD3Q== X-Received: by 2002:a1c:678a:: with SMTP id b132mr61825wmc.35.1612808631306; Mon, 08 Feb 2021 10:23:51 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:50 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 19/46] configure: Improve TCI feature description Date: Mon, 8 Feb 2021 19:23:04 +0100 Message-Id: <20210208182331.58897-20-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x334.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Daniel_P_=2E_Berrang=C3=A9?= , Thomas Huth , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Users might want to enable all features, without realizing some features have negative effect. Mention the TCI feature is slow and experimental, hoping it will be selected knowingly. Suggested-by: Thomas Huth Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Daniel P. Berrangé Message-Id: <20210125144530.2837481-3-philmd@redhat.com> Signed-off-by: Paolo Bonzini --- configure | 2 +- meson_options.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure index a34f91171d..ca2cf50773 100755 --- a/configure +++ b/configure @@ -1764,7 +1764,7 @@ Advanced options (experts only): --with-trace-file=NAME Full PATH,NAME of file to store traces Default:trace- --disable-slirp disable SLIRP userspace network connectivity - --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI) + --enable-tcg-interpreter enable TCI (TCG with bytecode interpreter, experimental and slow) --enable-malloc-trim enable libc malloc_trim() for memory optimization --oss-lib path to OSS library --cpu=CPU Build for host CPU [$cpu] diff --git a/meson_options.txt b/meson_options.txt index 95f1079829..675a9c500a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -40,7 +40,7 @@ option('xen_pci_passthrough', type: 'feature', value: 'auto', option('tcg', type: 'feature', value: 'auto', description: 'TCG support') option('tcg_interpreter', type: 'boolean', value: false, - description: 'TCG bytecode interpreter (TCI)') + description: 'TCG with bytecode interpreter (experimental and slow)') option('cfi', type: 'boolean', value: 'false', description: 'Control-Flow Integrity (CFI)') option('cfi_debug', type: 'boolean', value: 'false', From patchwork Mon Feb 8 18:23:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076585 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NORMAL_HTTP_TO_IP,NUMERIC_HTTP_ADDR,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DCF20C433DB for ; Mon, 8 Feb 2021 22:09:54 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 57BE964E27 for ; Mon, 8 Feb 2021 22:09:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 57BE964E27 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:57222 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9EjB-0000cE-6x for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:09:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50530) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCU-0003MA-Tu for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:54 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:43499) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCT-0006CC-Bj for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:54 -0500 Received: by mail-wr1-x431.google.com with SMTP id z6so18323541wrq.10 for ; Mon, 08 Feb 2021 10:23:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FB792gMakZ0hTlgIYeDNLYESrKnUaofy8ukq0Ox5nFg=; b=jvfLLk50IXK/jiyJiG0Ig29V+tZKRfZEtrC3IG86aaDkmpayVC5XWB1ZsitB8ktLGx 2j976yAbpTtm+pnRkTX+Uec8Um4DReB6d2IMt0HdrvZTp9r+Bhl5PFo07yP4FCt670+U F060czCyVsEhx4Bxj9WvE8A9u48pk6u1yYrhENhfi5Nk/ln/AWLPL0d6s1ORFp4Jyn2b udKsyPKOLm2N96tNVIi0IOGL3jzKWBaaJjeg4h+DDZCkrQW+UuBzC8fKY/acWRSNpTzE UTTu5MU2Mi3brrA2GlsWux4ifH4aYCvyRQininO1PEdoQ5SABS4mYH5R/uJ0qTla6Pz3 dlqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=FB792gMakZ0hTlgIYeDNLYESrKnUaofy8ukq0Ox5nFg=; b=JJkRhlLTHiW+jEiHPs4yIsS6bcNCqAZk6Tr99dnZYbpc4/PlV2iDfmsRSStz+XSLGd XKebXDxg9xI3aW0VOdBtLzJlu3y+fEcTUj8TYZlAkthbi9mKISakrSP8zwn2+uJ2xYvx o9xMz1SqkHT7mxr9jQb7hoPrBrrFY1O0xTLND2zHlaY+OmtLoCUKIAtpSuoeTBgIpOYL /U73rBbz1Lp9GWM/vtW9VRfggtR6ZkRFjbiupL8UwIpfWkO7/kiH1+SXzu3GLyMLzPbl fhqU2qY69ByQvgaDEyFDvRM8bvAsQc80W/Q/l4dx3YjnS4+MsJqvdn7cC+ocEswawWB1 fAxQ== X-Gm-Message-State: AOAM531F9tmMb6jD2QctPLQqTVYeTTer4swW7Z6ZcQPKvRk/jCRlMFdE W0+fht5mgusiZdI93lrymvRUnxnw037yQQ== X-Google-Smtp-Source: ABdhPJwjMstddpKSFGcxjVbblH8HQjgdC876tWc2Z70A/Y9yxuKL+/GpZusvPkLPyrPomaL11z0ngw== X-Received: by 2002:adf:ab10:: with SMTP id q16mr3367162wrc.376.1612808632189; Mon, 08 Feb 2021 10:23:52 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:51 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 20/46] meson: Explicit TCG backend used Date: Mon, 8 Feb 2021 19:23:05 +0100 Message-Id: <20210208182331.58897-21-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x431.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Stefan Weil , Thomas Huth , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Dani?= =?utf-8?q?el_P_=2E_Berrang=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Reviewed-by: Stefan Weil Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Daniel P. Berrangé Message-Id: <20210125144530.2837481-4-philmd@redhat.com> Signed-off-by: Paolo Bonzini --- meson.build | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 5bd22f431a..3a13ba3307 100644 --- a/meson.build +++ b/meson.build @@ -227,7 +227,7 @@ tcg_arch = config_host['ARCH'] if not get_option('tcg').disabled() if cpu not in supported_cpus if get_option('tcg_interpreter') - warning('Unsupported CPU @0@, will use TCG with TCI (experimental)'.format(cpu)) + warning('Unsupported CPU @0@, will use TCG with TCI (experimental and slow)'.format(cpu)) else error('Unsupported CPU @0@, try --enable-tcg-interpreter'.format(cpu)) endif @@ -2509,8 +2509,12 @@ if have_system endif summary_info += {'TCG support': config_all.has_key('CONFIG_TCG')} if config_all.has_key('CONFIG_TCG') + if get_option('tcg_interpreter') + summary_info += {'TCG backend': 'TCI (TCG with bytecode interpreter, experimental and slow)'} + else + summary_info += {'TCG backend': 'native (@0@)'.format(cpu)} + endif summary_info += {'TCG debug enabled': config_host.has_key('CONFIG_DEBUG_TCG')} - summary_info += {'TCG interpreter': tcg_arch == 'tci'} endif summary_info += {'target list': ' '.join(target_dirs)} if have_system From patchwork Mon Feb 8 18:23:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076727 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NORMAL_HTTP_TO_IP,NUMERIC_HTTP_ADDR,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6F9F8C433E0 for ; Mon, 8 Feb 2021 23:08:05 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E7E0F64E42 for ; Mon, 8 Feb 2021 23:08:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E7E0F64E42 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:42224 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FdU-0006lx-41 for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 18:08:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50546) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCV-0003OW-R5 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:55 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:34087) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCU-0006CN-9Y for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:55 -0500 Received: by mail-wr1-x433.google.com with SMTP id g10so18424996wrx.1 for ; Mon, 08 Feb 2021 10:23:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UN3/q0FStBl08Q7zutbVrS9Xuny8p3wSkBzZmAj2ntI=; b=ZDDQP73f/ctZLPfUYbR0v5zxB5MjodWpL1Yy5V99739zsyjpYfs0zR20C7rsvXVOkU 48JAUFrWi1f3eCQex2FFjPb78pcbGCDO0v13pN5XVsgPE1tWxGZQHTCK4KHkzVjYYBGf o0yLG9wdPoHLXn38KaQCFurwVzOLL181Nhl9hQlReJVUSEFOAaE+ecRpACBTvXFpEn81 SE6L8OjRibt1O279ZMU77aZn9Yx+0e1OCShRob3+aTBNwQPFJoKsl6/GHUu/gZJYkBB1 8Kz55v9nBZAlyI3i1uWaOdhEGJmGTSqI3GnjSBTO+uTYyUIE8VLeUgjQTf0y7kANu9D/ Q0aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=UN3/q0FStBl08Q7zutbVrS9Xuny8p3wSkBzZmAj2ntI=; b=Jv1PVhsFQiLnG8UEKor4tlfLjFRgpE0dkkRy3BORo64rL0H+s7Py6MWuoj5153rmZE AdHXvaqTplMHKbd40ZtnIFel1Zuw2YR7A02vFqvGT8tXKpaqfg2Kp1Zh/Y98NQDtHrnn tQu4dmpc6NPiV7rRoggq1lAPMqgShSHcD4FPB9rm3gReuSWM/xZV64s92Adyd9IuMj7z BwVi2MoIhXj5Wk0dgLuNb/gNKfongwf/loahRutD+z0/Pd0l39HPeXdWdMYey2D/r0jZ 9XoHKZc+woZL1ojqSOyYbbyBsTy+ecC6KvwbYuzMCcNhNQkeUvddrslUnWPQE4ajDYoh tgmw== X-Gm-Message-State: AOAM531x5zygBAQmX4q/mWji9t5W01ehCP/Pt5XDAZG23EaHO9Rjucs1 UXhwnxQxUL9wpuTH2CGPKLi2TxtDXjcwkg== X-Google-Smtp-Source: ABdhPJwzqdBV3upp4NL5Xo3Imc2ToUnTjKbkIdXp3nUo7bfq0rJgKi7wuGumDEXnPPYTqQoQmv1SYw== X-Received: by 2002:a05:6000:11c5:: with SMTP id i5mr21467735wrx.302.1612808633017; Mon, 08 Feb 2021 10:23:53 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:52 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 21/46] meson: Warn when TCI is selected but TCG backend is available Date: Mon, 8 Feb 2021 19:23:06 +0100 Message-Id: <20210208182331.58897-22-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x433.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Daniel_Berrang=C3=A9?= , Thomas Huth , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Some new users get confused with 'TCG' and 'TCI', and enable TCI support expecting to enable TCG. Emit a warning when native TCG backend is available on the host architecture, mentioning this is a suboptimal configuration. Reviewed-by: Thomas Huth Suggested-by: Daniel Berrangé Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Daniel P. Berrangé Message-Id: <20210125144530.2837481-5-philmd@redhat.com> Signed-off-by: Paolo Bonzini --- meson.build | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/meson.build b/meson.build index 3a13ba3307..4cc3ebb827 100644 --- a/meson.build +++ b/meson.build @@ -231,6 +231,13 @@ if not get_option('tcg').disabled() else error('Unsupported CPU @0@, try --enable-tcg-interpreter'.format(cpu)) endif + elif get_option('tcg_interpreter') + warning('Use of the TCG interpretor is not recommended on this host') + warning('architecture. There is a native TCG execution backend available') + warning('which provides substantially better performance and reliability.') + warning('It is strongly recommended to remove the --enable-tcg-interpreter') + warning('configuration option on this architecture to use the native') + warning('backend.') endif if get_option('tcg_interpreter') tcg_arch = 'tci' From patchwork Mon Feb 8 18:23:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076589 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EA1F1C433DB for ; Mon, 8 Feb 2021 22:13:51 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 777B164E9A for ; Mon, 8 Feb 2021 22:13:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 777B164E9A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:37704 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9En0-0004Mw-BV for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:13:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50568) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCW-0003Qw-ND for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:56 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:37097) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCV-0006D7-8d for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:56 -0500 Received: by mail-wr1-x431.google.com with SMTP id v15so18373467wrx.4 for ; Mon, 08 Feb 2021 10:23:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0WilWvWorACj3g5EAvXIIkMK139ofJdUm71cXfooZT8=; b=AoLpOVHmvB4O6NXU+MgHDlliLbYV6+tl3E6q2rKctCPl+G2H/ExisdnXbn2tBOUQE7 E06VDtZF4IvLueu8bTVaUbRHw6Azc02peA2KzWrHhD3SVItd1O/gcptfdMJt2ax7za0C FyGXgKXUulEOIxdbvlY0MhTWNZ9oRqSbv5bDqmVkJU0kqJ6lusHchkvsnc5NnN8TYP1e Y02FewUsCtiYUX2w7X80tdsIWaM5G+dNgtvBc7WA9i2B1KNWUyX/hseYeRpHvIced/Nh mTfnNfA2jMsr4TSFRdXo6FutiReEKq0SJ3kZ+XVK9ZkS5dqjniHYR5dX9VPP0kAr6sjI zeUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=0WilWvWorACj3g5EAvXIIkMK139ofJdUm71cXfooZT8=; b=RfU3les/h5X99jgWK9ebD6oqjfaLHQR4+NlWHInMS7c4EE5plrTY2jMOwal+22CVdG g3fVc0WJmMV4zo/S2rThGpUk2AVbPXPD7owF836nBmMVGw1wqHfMAczFMyGHGhTFPLQi fwJjWVGis6pxOqKXNQknml9FiNHRT1O13YRrlOu6Xb5Wwj3XAYiBRlMYdiu8IiL1mXw8 Gf0MutWPknTk5ZWWLWfi7eb+r+ZU3np2X5LKcJe7tVRh3HQ0n4++0L0o12zSxG8Nrm0b aN7OuyEtHjFIcEffcXgVTXhfWOhawiRvGTXsBE422Wgymd1HWdMiFWU7dyVNLyQWmern xn5w== X-Gm-Message-State: AOAM533BXI/l261IwE80R1bdMgdvrZYWshsxuGRqsiIRKgEP4AIJok9t eg8KFIPgNWQYWfO7k3xjrHmE5iTOzB0GAw== X-Google-Smtp-Source: ABdhPJw11OwpzcLDqTE30YMNpvrI5o7vpXvR8D2UVJdMUfzxWrGwQfcJ3q39ZsN/DDsRcQNQDC3XGw== X-Received: by 2002:a5d:5549:: with SMTP id g9mr22430200wrw.244.1612808634035; Mon, 08 Feb 2021 10:23:54 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:53 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 22/46] tests/meson: Only build softfloat objects if TCG is selected Date: Mon, 8 Feb 2021 19:23:07 +0100 Message-Id: <20210208182331.58897-23-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x431.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Alex_Benn=C3=A9e?= , =?utf-8?q?Philipp?= =?utf-8?q?e_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Suggested-by: Paolo Bonzini Signed-off-by: Philippe Mathieu-Daudé Acked-by: Paolo Bonzini Reviewed-by: Alex Bennée Message-Id: <20210122204441.2145197-3-philmd@redhat.com> Signed-off-by: Paolo Bonzini --- tests/meson.build | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/meson.build b/tests/meson.build index 29ebaba48d..6f1ff926d2 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -276,7 +276,9 @@ test('decodetree', sh, workdir: meson.current_source_dir() / 'decode', suite: 'decodetree') -subdir('fp') +if 'CONFIG_TCG' in config_all + subdir('fp') +endif if not get_option('tcg').disabled() if 'CONFIG_PLUGIN' in config_host From patchwork Mon Feb 8 18:23:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076595 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 892CEC433E0 for ; Mon, 8 Feb 2021 22:18:20 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 29C7D64E50 for ; Mon, 8 Feb 2021 22:18:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 29C7D64E50 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:47446 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9ErL-0008T0-52 for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:18:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50594) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCX-0003T1-FA for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:57 -0500 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:42026) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCW-0006EA-0t for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:57 -0500 Received: by mail-wr1-x430.google.com with SMTP id r21so2150114wrr.9 for ; Mon, 08 Feb 2021 10:23:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=n0oc9vUhZzR8ZVs9lZClM6fTo+wKdeM1A7PGawhfO4U=; b=Sgx+8DSkrUtCqrP8HpGTVbdZORVLS5FdQy/Hj/fuGRF1ENhtPbVPghSgOMQEji+nmd N8ZzSV76FCIpEQjzsQztO5iUIyfRwEODz0mMdC7kvdmaq5uq9kQZ0clgMG4/X+vK/3+7 CGUCYF1z6bdHF8VcnxRgrKoOlgtNJ+9y389zT1E2wNhgVGJABC0kzvS7ykM8LL1t9AMC JX1+9fAK8Nan+OJkEvtQ0RQRqV9C9YTmIEvjZzJ4i0XqpjjUpeCuv88k77fLhoWktkkW qIBO/QXvrZKO9tsBw6r0vscd2OuiNPPj6N71HByqoDPdTEkio0oLwj2cI7/vyvGQ+a7d COtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=n0oc9vUhZzR8ZVs9lZClM6fTo+wKdeM1A7PGawhfO4U=; b=hb/DwkbtMimH5lX+BAu6Cpv+CYWB+1FmgAUdOYVGF4I7Jlomn5D3aa9HkkM1H8cgcN ye3dG85S7BVgbLl7mjHHu8NFpm6Qd0FYar/D5hv3x2Lb7cvqAnvtG1doJ8wMIorjJdJc lWUyaprwv8jLK6MWMLWDnrMNI7n8tlQAppUYgCQtU+RI3S7aC6ZSV+a/xFFjQAqpJ1iv Z/SLuUsbavnGrgFbIutUFvteoKsqDPI/8DAhsHzgEEWKakA5FVySJdDdH/38bT2U9LhY hiScMaxP8n2Hlyg5h4IzeYZxD8tczTcLY/LxY8CQX/ymz8Mx743PcmM+PV+x9nrP5y0x jvog== X-Gm-Message-State: AOAM533I4/Qd2H/2bF5O34n94dKLhqevZOIgvM1FybVP+N/KbLkInzZm H1irrSObz34CXq9nfFjDpOnFyS6+As+WTw== X-Google-Smtp-Source: ABdhPJxY/VIOCMS7SsNfIqSNPsbx45MZCPcMRg7JAY+O1wi0NdH7iWGcRksfGv176/sK0UL1GI+qsg== X-Received: by 2002:a05:6000:1806:: with SMTP id m6mr12810213wrh.320.1612808634857; Mon, 08 Feb 2021 10:23:54 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:54 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 23/46] pc-bios/meson: Only install EDK2 blob firmwares with system emulation Date: Mon, 8 Feb 2021 19:23:08 +0100 Message-Id: <20210208182331.58897-24-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x430.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Signed-off-by: Philippe Mathieu-Daudé Acked-by: Paolo Bonzini Message-Id: <20210122204441.2145197-4-philmd@redhat.com> Signed-off-by: Paolo Bonzini --- pc-bios/meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/pc-bios/meson.build b/pc-bios/meson.build index af95c5d1f1..f2b32598af 100644 --- a/pc-bios/meson.build +++ b/pc-bios/meson.build @@ -12,6 +12,7 @@ if install_edk2_blobs foreach f : fds custom_target(f, + build_by_default: have_system, output: f, input: '@0@.bz2'.format(f), capture: true, From patchwork Mon Feb 8 18:23:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076661 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 05879C433DB for ; Mon, 8 Feb 2021 22:47:49 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A750464E7A for ; Mon, 8 Feb 2021 22:47:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A750464E7A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:60066 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FJr-0004Bo-KL for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:47:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50622) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCY-0003Uv-J2 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:03 -0500 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:41388) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCW-0006ET-W0 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:58 -0500 Received: by mail-wr1-x435.google.com with SMTP id n6so5554421wrv.8 for ; Mon, 08 Feb 2021 10:23:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Dg48Ob9geP1PBy6hPV4AOns0Z45eJt/YNg8Br5vKXJQ=; b=IyS2qlvAUK7d2UAcm1PAa28dbC9ccaz4mqzL3o9Ub5lhwZJ6aGO/wqxGZnpT9G4wKY 7uRX5frN8I6jFTKhf0FB3D9McLHGMuQ2VWVFXljd77wPJaSFvVNUrxsJSHqoWSCfCxzK GAQQ6XB7tEab0D2vFlrdbP9lMd2+GsscWeiTpf26TNoGnV6YPEpuWiJw74FgqNP93wjz m0bK0/0STY7rCD46pvj2Wn6vBUKFLCBeLgTUp7MuZgid7PBcPQMEiPr2/a9SUTr7gnKc 0rNRhiJqAAgQF5PdM7k0eTrigWhReQuUpQAwU0tkvOOD+sS8fHpuVReBFF/zspGC/N5T xuzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Dg48Ob9geP1PBy6hPV4AOns0Z45eJt/YNg8Br5vKXJQ=; b=T+stOlkEDqg0VeGmzoIGI8JIf9nwXhX9WXxZI/HBNQzOP0sN/PqY/fzfLo0PYDJ2tQ f0cku+XwuW8tqw9vNa8RitaewibocZSzQJ+CVHJVWifCvXanFH7pjVVAePy8TO/hMevL S2kG/OahklDvHeLCDfhqvyh/knibGePjRidrUv+9/a3mg9Vf4206Zw58UUhQmgkT79DX cNre5bs/kU/SjMbpla7Sj3KlszRnjDKYMw44cO7V2gyKwDlzIf0YhavFWr6ccsepwrVm EjBAyv5/hMOHSUqn9dvqMiH/HPa2wkQlqnB8cgcJ5fxW7hL02ZaxeX9pqKomsdzdHO9C fn0A== X-Gm-Message-State: AOAM532q4KOXIWn1y21/MFSNB+iT48E6xR0ovMex9hVAU1NpPAnWmnBg UxxzRMgCKWowQrx3YkNANI2ZueuGAxf15Q== X-Google-Smtp-Source: ABdhPJxnu3m5X/1EkBhtQLPMlo03VKM0PYbMvyGLnpAZszsRgCpORlMaAZaD9iGuPUMOxg0Zhuqn9w== X-Received: by 2002:a5d:6541:: with SMTP id z1mr20744869wrv.128.1612808635646; Mon, 08 Feb 2021 10:23:55 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:55 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 24/46] meson: Restrict block subsystem processing Date: Mon, 8 Feb 2021 19:23:09 +0100 Message-Id: <20210208182331.58897-25-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x435.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Avoid generating module_block.h and block-gen.c if we are not going to use them. Signed-off-by: Philippe Mathieu-Daudé Acked-by: Paolo Bonzini Message-Id: <20210122204441.2145197-6-philmd@redhat.com> [Extend to nearby files and directories. - Paolo] Signed-off-by: Paolo Bonzini --- meson.build | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/meson.build b/meson.build index 4cc3ebb827..0ca73d0102 100644 --- a/meson.build +++ b/meson.build @@ -1877,29 +1877,31 @@ subdir('libdecnumber') subdir('target') subdir('dump') -block_ss.add(files( - 'block.c', - 'blockjob.c', - 'job.c', - 'qemu-io-cmds.c', -)) -block_ss.add(when: 'CONFIG_REPLICATION', if_true: files('replication.c')) - -subdir('nbd') -subdir('scsi') -subdir('block') - -blockdev_ss.add(files( - 'blockdev.c', - 'blockdev-nbd.c', - 'iothread.c', - 'job-qmp.c', -), gnutls) - -# os-posix.c contains POSIX-specific functions used by qemu-storage-daemon, -# os-win32.c does not -blockdev_ss.add(when: 'CONFIG_POSIX', if_true: files('os-posix.c')) -softmmu_ss.add(when: 'CONFIG_WIN32', if_true: [files('os-win32.c')]) +if have_block + block_ss.add(files( + 'block.c', + 'blockjob.c', + 'job.c', + 'qemu-io-cmds.c', + )) + block_ss.add(when: 'CONFIG_REPLICATION', if_true: files('replication.c')) + + subdir('nbd') + subdir('scsi') + subdir('block') + + blockdev_ss.add(files( + 'blockdev.c', + 'blockdev-nbd.c', + 'iothread.c', + 'job-qmp.c', + ), gnutls) + + # os-posix.c contains POSIX-specific functions used by qemu-storage-daemon, + # os-win32.c does not + blockdev_ss.add(when: 'CONFIG_POSIX', if_true: files('os-posix.c')) + softmmu_ss.add(when: 'CONFIG_WIN32', if_true: [files('os-win32.c')]) +endif common_ss.add(files('cpus-common.c')) From patchwork Mon Feb 8 18:23:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076731 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9FD7DC433E6 for ; Mon, 8 Feb 2021 23:10:49 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3B81264E27 for ; Mon, 8 Feb 2021 23:10:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3B81264E27 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:49408 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9Fg8-0001Oq-0D for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 18:10:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50650) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCd-0003WF-It for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:03 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:42029) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCX-0006El-Oe for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:23:58 -0500 Received: by mail-wr1-x433.google.com with SMTP id r21so2150206wrr.9 for ; Mon, 08 Feb 2021 10:23:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BLWzLjUfsLqLzWMs+J77xBL5O0bPOMZrdfzCWZyojPE=; b=cvEcn73BcvDO44LSKAHov81EzuSKHnNe8WCKC1urwKltApGAbNKxhd/6/tYCBgaxGH w002uHfHJS2AAGiREghCAC+QAEzwhfR8izQ54xn0aAso8jwY6/CogfZ07gtzks3f3GWX OasW7tiqTzEaEnIq3yAEhDN7JcqPwR004ZaYEom3J6GjfaEQkGDY4A7CLBi/0n4GCsTI /Gdpk92g7SxUU/0RM8WQ9TNUye7STapHTkYB8F+D1n74NXn9Zl0dYB27EgmNqQfWwYnY AYtHERKmsIDPOe5DVJXlZSY7a1KSuxREOjIedtXY1eWxlyDLyQSlV7d1gt3mYldta1+j 6glA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=BLWzLjUfsLqLzWMs+J77xBL5O0bPOMZrdfzCWZyojPE=; b=S05VzLUxm9WGPSHSPMthpkdPBLIdsdXa3XcizH6EOTDUnoPdPYXQtRCfl4KIgNkvNO D/NMRZtQXJSPKR87qKkKh7EYYs4GR/VPnpZVTVIUznfT8FSfcw8xhJA0QHiXw+K4QfVK /kZNE67l5ORTS3BGG5n9aApi6ykCUwPRhclPC0KX3+Ilw9rVh8x2duX8SSiqnd2bCYvy k6Nl06bDzTCmK8LrMf0fItL8qqDHGr/h8bIvpNZGM8fRc86w2bRT0UzIVd+SAp339jjt VOcTSQF3CcG81f20o74YHA7FfB6eRXaSnr9+FgZPxouzMZWbIcztqEgINj3k5Vb3n2GK 6qFQ== X-Gm-Message-State: AOAM533pZpqkyvKR5ZHaN/2l1fRwaWolXDMeBBUrqKjlUjT+7Mc2hqTt X91Q1GUIBtC9EZIPL+EVhFh30QvvxBgleA== X-Google-Smtp-Source: ABdhPJxG3E7qxDDWdYi7TfPHSEDIaelrs+PEeRmCGBoKSk/Ez5sj0VkzYWJXEl0JPhND6JgBy208sg== X-Received: by 2002:a5d:640c:: with SMTP id z12mr21210233wru.342.1612808636548; Mon, 08 Feb 2021 10:23:56 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:56 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 25/46] meson: Merge trace_events_subdirs array Date: Mon, 8 Feb 2021 19:23:10 +0100 Message-Id: <20210208182331.58897-26-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x433.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Claudio Fontana Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé The trace_events_subdirs array is split in two different locations, merge it as one. Signed-off-by: Philippe Mathieu-Daudé Acked-by: Paolo Bonzini Reviewed-by: Claudio Fontana Message-Id: <20210122204441.2145197-7-philmd@redhat.com> Signed-off-by: Paolo Bonzini --- meson.build | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/meson.build b/meson.build index 0ca73d0102..da21812064 100644 --- a/meson.build +++ b/meson.build @@ -1744,7 +1744,20 @@ trace_events_subdirs = [ 'accel/kvm', 'accel/tcg', 'crypto', + 'hw/core', + 'qapi', + 'qom', 'monitor', + 'target/arm', + 'target/hppa', + 'target/i386', + 'target/i386/kvm', + 'target/mips', + 'target/ppc', + 'target/riscv', + 'target/s390x', + 'target/sparc', + 'util', ] if have_user trace_events_subdirs += [ 'linux-user' ] @@ -1817,21 +1830,6 @@ if have_system 'ui', ] endif -trace_events_subdirs += [ - 'hw/core', - 'qapi', - 'qom', - 'target/arm', - 'target/hppa', - 'target/i386', - 'target/i386/kvm', - 'target/mips', - 'target/ppc', - 'target/riscv', - 'target/s390x', - 'target/sparc', - 'util', -] vhost_user = not_found if 'CONFIG_VHOST_USER' in config_host From patchwork Mon Feb 8 18:23:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076615 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5920BC433E0 for ; Mon, 8 Feb 2021 22:23:17 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CD4DE64E77 for ; Mon, 8 Feb 2021 22:23:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CD4DE64E77 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:55958 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9Ew7-0003hd-NP for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:23:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50708) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCe-0003Zw-T9 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:04 -0500 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:42031) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCd-0006Fr-1P for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:04 -0500 Received: by mail-wr1-x435.google.com with SMTP id r21so2150262wrr.9 for ; Mon, 08 Feb 2021 10:23:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YDl//AE2f3xGXEVdNr/160U3DFg4IAMDxHMNoVyzCI4=; b=N64mXyyjbiMMQWuIO2a0EHanWuhDtJbjUngecQE1LlFyIKYKutg9i2oLPeFNY4mwau XFkJd+lNVRZHhRPhkgGnOcWirKGEpYm2CA4G4PDBw7fSw61rnZTGvOMEJFNh3BNtUGD1 wYg2Iie2iaymGvobDwI/FRd/7PYj70ZAt1rXzPbdNRRi+n9Uy4uf/qJzOFS1vn6GuGem VPZwrdegqfHEmBjHE3wNyXSxkYRmjy/LArVALy0OUQ2+n7Yg32tOTsdlfW6xPKfsAGcT 58jKy4RrpDE1a2bgh1iPPFpuDN2AGiA9lSOM8JYQRS4iB01qm8/QdMVirsP4ytE44xGz hOKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=YDl//AE2f3xGXEVdNr/160U3DFg4IAMDxHMNoVyzCI4=; b=HsKPyvj5dJ2EeFVlS187zlANegvNjueamAJ0JAauaOeflsXvIWgdIPlf2QLEOLXI71 PlAOA1ZyuREX67a+00xAxfuGyayMHiyw2iat5zH0b51Fn1/PHACwBI5nxKdQQCQrSV90 Mb4dB1/kEqY3kUT2gWJ6ok8CDkfwQ2UkpIiGs/1pcE+vu69E/MtzxBmKqK6wVu2bFDvP uOGMA2PYTq7f4E86I1fCVsrW6w3bVHAPuFuKfE2E8JU1+Rp4sHefdhSmGiSVhoD+TW9e VStU8mEtyO0yTjLgky619APFWXP+n8On6dWvYRIi82ScaproKNClmV8t68lJEwMvMCnP w9ew== X-Gm-Message-State: AOAM530t1tWpar1VIzKfgWfXJgkfs/DQ3dSj1+tIpFmrKI+eMmzrrpp7 dXbZeYj5nSDdtR4iM/Im0aySF4L42tkZKQ== X-Google-Smtp-Source: ABdhPJx3iRKJKbb/HcBCJWcyCLer+wnseCCqj1jZkNiK0yB0Z9UmCBQckmm3UtEO4VJl3obF+/WK2Q== X-Received: by 2002:a5d:6d0c:: with SMTP id e12mr20520591wrq.136.1612808637488; Mon, 08 Feb 2021 10:23:57 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:56 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 26/46] meson: Restrict some trace event directories to user/system emulation Date: Mon, 8 Feb 2021 19:23:11 +0100 Message-Id: <20210208182331.58897-27-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x435.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Signed-off-by: Philippe Mathieu-Daudé Acked-by: Paolo Bonzini Message-Id: <20210122204441.2145197-8-philmd@redhat.com> Signed-off-by: Paolo Bonzini --- meson.build | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/meson.build b/meson.build index da21812064..d6eb880b89 100644 --- a/meson.build +++ b/meson.build @@ -1741,22 +1741,10 @@ target_softmmu_arch = {} # TODO: add each directory to the subdirs from its own meson.build, once # we have those trace_events_subdirs = [ - 'accel/kvm', - 'accel/tcg', 'crypto', - 'hw/core', 'qapi', 'qom', 'monitor', - 'target/arm', - 'target/hppa', - 'target/i386', - 'target/i386/kvm', - 'target/mips', - 'target/ppc', - 'target/riscv', - 'target/s390x', - 'target/sparc', 'util', ] if have_user @@ -1773,6 +1761,7 @@ if have_block endif if have_system trace_events_subdirs += [ + 'accel/kvm', 'audio', 'backends', 'backends/tpm', @@ -1830,6 +1819,21 @@ if have_system 'ui', ] endif +if have_system or have_user + trace_events_subdirs += [ + 'accel/tcg', + 'hw/core', + 'target/arm', + 'target/hppa', + 'target/i386', + 'target/i386/kvm', + 'target/mips', + 'target/ppc', + 'target/riscv', + 'target/s390x', + 'target/sparc', + ] +endif vhost_user = not_found if 'CONFIG_VHOST_USER' in config_host From patchwork Mon Feb 8 18:23:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076613 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 69BA7C433DB for ; Mon, 8 Feb 2021 22:22:55 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6F29464E6D for ; Mon, 8 Feb 2021 22:22:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6F29464E6D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:55316 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9Evl-0003QV-AO for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:22:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50714) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCf-0003aI-42 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:05 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]:51504) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCd-0006GP-90 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:04 -0500 Received: by mail-wm1-x330.google.com with SMTP id t142so60677wmt.1 for ; Mon, 08 Feb 2021 10:23:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9zWdC2+7ESQ0VUa3YczOXMruS8QmkVmg52KY1iiEtVQ=; b=okw/rVd6onE/CUcxPjVKfsr40f7U34xqm/3RENsmjAeMX/nn5C5aR8y1mMPEQH6Rbx fBajPpE+zMGXBef5fWvfILY9nkJuTOyAfc2cgnaNvuEXxCU8FhMmnNVHIL5Gm9MdCqtk 0cIYvJC+P0Reo6pSA9SWD1x1MsxT0AxA7MDjEIrmLC0+qP3vswe7AuYWjUHTxrsp/Bn4 jshRHDf+P5gYSt+SrdXTAcAJX1lRg/lY2R6P9ZvBwzuxJeiMZnvbOFQiGCGJA4JxxdFo LJoSwf3q1hsJDNolodcLJU5H/V+IjDANiDVreaALPN/ZX/B+E/aCWR7A11RZnMSqUi/G gOMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=9zWdC2+7ESQ0VUa3YczOXMruS8QmkVmg52KY1iiEtVQ=; b=gyEzsOrHtNZbz/y+PPtRPsV4uxatPSlZgUw4JtP95O1lJNY2KOvDhVm94DUqpbL0YC AYumoBlardAfTuwU2GSY5Z8MWJjoTVtmeUORaCONnPA1teksnNvzZITSXr7v07rgYXYX xhIIt8rieCvdRAGiH73uMFQo5dKTqKdiePJjld4gb3PZAl19pQAzSc3cuM32512UG8MM b4JVDU15kdESfx8RUclwY073Vky5L8m23wI+I//eYnpEBPv5poa2TkLVTrno3FO8g/wf ePqH4SuR+MHukK016Gt0AEj1eznVWu+kTQ5HDjtBGm1+DjgrIinrSTYcB2TEnrHpZk7P vYiA== X-Gm-Message-State: AOAM53124LgB5xJmjjCFQWI+3Vz07hE+wlMOuc8oNW/H/UFrb/ZFS0AH 0nSHZQ/4IscmpifXsH0Tp0C0y/aoSLE1Nw== X-Google-Smtp-Source: ABdhPJz351JP21iufSwecB/TXtHKuqwfku2QbvK05XYa8qQzTWJ67+DkTVtp2futLpdFtPTv0edVUw== X-Received: by 2002:a1c:dcd7:: with SMTP id t206mr85820wmg.108.1612808638339; Mon, 08 Feb 2021 10:23:58 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:57 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 27/46] meson: Restrict emulation code Date: Mon, 8 Feb 2021 19:23:12 +0100 Message-Id: <20210208182331.58897-28-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x330.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Signed-off-by: Philippe Mathieu-Daudé Acked-by: Paolo Bonzini Message-Id: <20210122204441.2145197-9-philmd@redhat.com> Signed-off-by: Paolo Bonzini --- meson.build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/meson.build b/meson.build index d6eb880b89..e3ef660670 100644 --- a/meson.build +++ b/meson.build @@ -1867,16 +1867,18 @@ libqemuutil = static_library('qemuutil', qemuutil = declare_dependency(link_with: libqemuutil, sources: genh + version_res) -decodetree = generator(find_program('scripts/decodetree.py'), - output: 'decode-@BASENAME@.c.inc', - arguments: ['@INPUT@', '@EXTRA_ARGS@', '-o', '@OUTPUT@']) +if have_system or have_user + decodetree = generator(find_program('scripts/decodetree.py'), + output: 'decode-@BASENAME@.c.inc', + arguments: ['@INPUT@', '@EXTRA_ARGS@', '-o', '@OUTPUT@']) + subdir('libdecnumber') + subdir('target') +endif subdir('audio') subdir('io') subdir('chardev') subdir('fsdev') -subdir('libdecnumber') -subdir('target') subdir('dump') if have_block From patchwork Mon Feb 8 18:23:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076739 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 149CEC433DB for ; Mon, 8 Feb 2021 23:17:03 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6CD0664E42 for ; Mon, 8 Feb 2021 23:17:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6CD0664E42 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:37086 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9Fm9-00006d-Eb for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 18:17:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50736) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCg-0003bf-09 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:06 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]:37661) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCd-0006GX-AE for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:05 -0500 Received: by mail-wm1-x335.google.com with SMTP id m1so61440wml.2 for ; Mon, 08 Feb 2021 10:24:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KjlWsFlnMsATQFEaRDp2nWf68++6Ehctu+osPdoz+0g=; b=rtMWFJdk98Yyoqq69+RrMaod/2T0uXuNLJk5q4fsrvw87oXRY50fus11eTCvVYrBiN n4H8TuZCyITRxpVZlipFpr0i+283dEabttHGR8rKrygKdZVRImQGg+LgI2u2N+2RBhC6 4+UNaNN6gjygt09cq4jMP8UI8jtGEtiOBalkpmNXxsjmKC1IY52pM22uPgVJ4nIsvza7 Q/N0O831/NgMwwRniGwi/0OeRZi/3VdwtN/mVuqMmKeF6+A6/0C8CDT3wrkzpRZ6V8w5 vJzYZOwJQLM9g2vzo8NigpVgpY1VARdwM4qkSWZr8Eq6dopfHgRp3ybrSsTi4cGqX1IE pCZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=KjlWsFlnMsATQFEaRDp2nWf68++6Ehctu+osPdoz+0g=; b=Xq6lBvx5vDuGHRU+ckC9tox7oIQ5U+pdvlYHuTksnWH1YEcvID5OKHlBQLzU7YygtY i0vSCRA8+yTayP+pB5okwTcPFvcq1X66ISoi2bVsLTEB3VyQmIBrYO0Y7pDswkvLAmDa 10WIymCCab8ED80DVlvrJFo+GaC5eGzdRss7LL/iHYxNue+e9ViTi9mtxdfg9CsM1pju yk3tvOYm7AvRphWuARFfs0601fa1UCuMB7gsoS7614nmt2iN63juZUtmaGJf26rk2CIM 7e7jQo6xJF6/WRP+NJ2cYiPIL6utD+lj63UQonAv8rKIW3lyLM0Xw4fb/fY+ggbpkG2/ Pbwg== X-Gm-Message-State: AOAM5333FISODSwL13y/h5jbt5zKsd7i1CbOzuKSqlVV+lAI4V1m96vz wk0ZT0Wp730j8g/fztRDj43sFrDrKNWJ1g== X-Google-Smtp-Source: ABdhPJwNNdjQgb7IGVWehVHRtbFwkRDFd8MW8ac/YD3N1F70w5y74bpXYPSxdvIMJJzdyk76TdMcHg== X-Received: by 2002:a1c:1bc4:: with SMTP id b187mr100550wmb.18.1612808639202; Mon, 08 Feb 2021 10:23:59 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:58 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 28/46] qapi/meson: Restrict qdev code to system-mode emulation Date: Mon, 8 Feb 2021 19:23:13 +0100 Message-Id: <20210208182331.58897-29-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x335.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Beside a CPU device, user-mode emulation doesn't access anything else from qdev subsystem. Tools don't need anything from qdev. Signed-off-by: Philippe Mathieu-Daudé Acked-by: Paolo Bonzini Message-Id: <20210122204441.2145197-10-philmd@redhat.com> Signed-off-by: Paolo Bonzini --- MAINTAINERS | 1 + qapi/meson.build | 6 +++++- stubs/meson.build | 2 ++ stubs/qdev.c | 23 +++++++++++++++++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 stubs/qdev.c diff --git a/MAINTAINERS b/MAINTAINERS index 8d8b0bf966..ca74617cc3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2539,6 +2539,7 @@ F: qapi/qom.json F: qapi/qdev.json F: scripts/coccinelle/qom-parent-type.cocci F: softmmu/qdev-monitor.c +F: stubs/qdev.c F: qom/ F: tests/check-qom-interface.c F: tests/check-qom-proplist.c diff --git a/qapi/meson.build b/qapi/meson.build index ab68e7900e..2839871b47 100644 --- a/qapi/meson.build +++ b/qapi/meson.build @@ -35,7 +35,6 @@ qapi_all_modules = [ 'misc-target', 'net', 'pragma', - 'qdev', 'pci', 'qom', 'rdma', @@ -49,6 +48,11 @@ qapi_all_modules = [ 'ui', 'yank', ] +if have_system + qapi_all_modules += [ + 'qdev', + ] +endif qapi_storage_daemon_modules = [ 'block-core', diff --git a/stubs/meson.build b/stubs/meson.build index 1a656cd070..a054d5877f 100644 --- a/stubs/meson.build +++ b/stubs/meson.build @@ -53,4 +53,6 @@ endif if have_system stub_ss.add(files('semihost.c')) stub_ss.add(files('xen-hw-stub.c')) +else + stub_ss.add(files('qdev.c')) endif diff --git a/stubs/qdev.c b/stubs/qdev.c new file mode 100644 index 0000000000..92e6143134 --- /dev/null +++ b/stubs/qdev.c @@ -0,0 +1,23 @@ +/* + * QOM stubs + * + * Copyright (c) 2021 Red Hat, Inc. + * + * Author: + * Philippe Mathieu-Daudé + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This work is licensed under the terms of the GNU GPL, version 2 or later. + * See the COPYING file in the top-level directory. + */ + +#include "qemu/osdep.h" +#include "qapi/qapi-events-qdev.h" + +void qapi_event_send_device_deleted(bool has_device, + const char *device, + const char *path) +{ + /* Nothing to do. */ +} From patchwork Mon Feb 8 18:23:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076593 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 07AB1C433E0 for ; Mon, 8 Feb 2021 22:18:08 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5DB6764E8F for ; Mon, 8 Feb 2021 22:18:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5DB6764E8F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:46774 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9Er8-0008BK-6u for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:18:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50712) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCe-0003a5-VN for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:04 -0500 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:37099) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCd-0006Gb-8W for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:04 -0500 Received: by mail-wr1-x432.google.com with SMTP id v15so18373805wrx.4 for ; Mon, 08 Feb 2021 10:24:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QcUQysKIzSM/Au103fYACCSBXfd/a9CnayLthJR5WoQ=; b=sZ5ItwIW1sUrBz78PLnW+9jsu1kCjbXWHeW5D15Ze7XhyWY670vAVasxiQYiseX/7m djZpiJQ1nWnMorioPJnibX6126Xe8iWbVy3dxfe3kjOOsqujs/c9oNegSkBYRMWbivmp 4XUP2jlB70R5dLfT42+kWkSBa6vOwHFSvgmAHmiJxN93pz2V6c+zWzKN/qyjCKB+gDuD x41XlOGsrOctIF9ylpG2gho2T0INvBHBA0CkcBPTIgRlurMpbSDeEGKYxaCM7NtGQcN/ me/zPMKiCJV1nGtJt6aadVYiSMJnlRXpEN5HP07BG1HCvArnowSzafvvJwQtDVMNrc3G 37HQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=QcUQysKIzSM/Au103fYACCSBXfd/a9CnayLthJR5WoQ=; b=KMnSuDVDNj7sciiWK4W5KIn4z20Aa+mRWnpuLBl6xrGZKwPzVty2OGGk2nOIa0DixT E7wv8tLtbtISeCrQdCHAO/LN2CBfSVqZjduu+mCCXMSuO6ymdIPCW17N3PAHyDURSo0p sg+uFqegOjIFtxg0arfc51Z6Gs/qHlIv4YlPAKKwJ7LIyJS/dfpDlZ1eBa9dWN4UPeFx gSMOFUdctpi6TaIgtKvst0GANwcUAHf47HpHtZ0UvYP6RKM/XLfV91m2yodkLb2Eg9B7 XMB5G3798tI66dv0MMBkWJLfhsEqmuCX7fieypB6nvswtwQ46BDVp9np157tvhRKbPrd LeCA== X-Gm-Message-State: AOAM530fFYXlNI6gQjkFvwvxQkciUvoWCVssMtA9K1WfIT5ZogKHN0Tx y0rLRSxpAcUKxNXW+fVIZBDb5jHjCvA79w== X-Google-Smtp-Source: ABdhPJxulR1piCpbEfCRG32mIz5baXV7RfwbAmqS9ola3+TNcm3UyzJ1rhdQKND60GFwSEX7P93L2A== X-Received: by 2002:a5d:5185:: with SMTP id k5mr21725162wrv.40.1612808640169; Mon, 08 Feb 2021 10:24:00 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.23.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:23:59 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 29/46] qapi/meson: Remove QMP from user-mode emulation Date: Mon, 8 Feb 2021 19:23:14 +0100 Message-Id: <20210208182331.58897-30-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x432.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Signed-off-by: Philippe Mathieu-Daudé Acked-by: Paolo Bonzini Message-Id: <20210122204441.2145197-11-philmd@redhat.com> Signed-off-by: Paolo Bonzini --- qapi/meson.build | 10 +++++++--- tests/meson.build | 7 ++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/qapi/meson.build b/qapi/meson.build index 2839871b47..b301a46f04 100644 --- a/qapi/meson.build +++ b/qapi/meson.build @@ -4,14 +4,18 @@ util_ss.add(files( 'qapi-dealloc-visitor.c', 'qapi-util.c', 'qapi-visit-core.c', - 'qmp-dispatch.c', - 'qmp-event.c', - 'qmp-registry.c', 'qobject-input-visitor.c', 'qobject-output-visitor.c', 'string-input-visitor.c', 'string-output-visitor.c', )) +if have_system or have_tools + util_ss.add(files( + 'qmp-dispatch.c', + 'qmp-event.c', + 'qmp-registry.c', + )) +endif qapi_all_modules = [ 'acpi', diff --git a/tests/meson.build b/tests/meson.build index 6f1ff926d2..7d7da6a636 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -86,7 +86,6 @@ tests = { 'test-qobject-input-visitor': [testqapi], 'test-string-input-visitor': [testqapi], 'test-string-output-visitor': [testqapi], - 'test-qmp-event': [testqapi], 'test-opts-visitor': [testqapi], 'test-visitor-serialization': [testqapi], 'test-bitmap': [], @@ -117,6 +116,12 @@ tests = { 'test-qapi-util': [], } +if have_system or have_tools + tests += { + 'test-qmp-event': [testqapi], + } +endif + test_deps = { 'test-qht-par': qht_bench, } From patchwork Mon Feb 8 18:23:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076735 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0EFBAC433DB for ; Mon, 8 Feb 2021 23:13:26 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 84D6464E42 for ; Mon, 8 Feb 2021 23:13:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 84D6464E42 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:57604 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9Fie-000584-9u for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 18:13:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50710) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCe-0003a4-Vu for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:05 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:51505) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCd-0006Gf-9G for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:04 -0500 Received: by mail-wm1-x331.google.com with SMTP id t142so60737wmt.1 for ; Mon, 08 Feb 2021 10:24:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=huvW24PZNK/dw5M5AF0YaNslMI2dHZzb2WGv43aBMTs=; b=UZmNxhgTu2tB4gZoOH6I6MHEws3BNOZOKgEu4HDvFYBHuPuD4Ay4y8lvxC56ewqDQw nPV8U0g2Jy4MfTY4pvULKVWXTmywckKy2Pc0Ep1WwwUQlk7BVh+5gI7/ZJXNRDFy62aY AURLkDgtEzs4rLAJvzqgBNOiiRLhoU8r6F7zglPUQ+Tqll4rFEdQ+NR+i7a+MTf/+zok 7W+XxyUfmU4aJ0Bdwn007ATRP61cipNA2S8pQuBUfJghfwzV+eeuY8+Nz7ITVZHOwnPb bt7FPo77foHgB1Fboh0LvF+tCw7JidEWcSZO+hM1Wm3cZocoF19Uwtip+WpISKqIjNK1 K7Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=huvW24PZNK/dw5M5AF0YaNslMI2dHZzb2WGv43aBMTs=; b=goXuHeWP3dCuUx/VNNGFVLY+YYNjW8eDmHTYjgglI7DvH+8A92vh4gsCX6OKNjeH4D TaUl2dABqtip8QxC/Dvh4ePK5OysxCJSm7RGm/Rw6m9VWTvsgS0wpW1bkPFR/SKYD5K5 WNH0/ifpSP47T52+9yH0W9vTHtang+Cbqv1zthSnAn+bCkR91wkohKi9yafY+T8L7HL6 1mHBqq9Z8D+IDfb83Ax8yS9X6qwaC0F93VmgINwic+LcTugm82AI9PbXTIp4l+6subUX KirB3kNT9L48JQVmBtrtvguGbQzuXaT1BPmQmXR8awgbsMCJVLm6GVJIUuHlhe2brXSO RmIg== X-Gm-Message-State: AOAM530ZgP9gR7OMaeM0tWKUFIxjf7oQ33CnKm/UiD0FFdVSLP3nHaqr KkmcaNLarVQxjgIaP4pkDjxTD30gpblHWw== X-Google-Smtp-Source: ABdhPJyy28dseU1HuDoWb6wRwZuk4WDpFxZ7P3J9Kwz/65O1OdbRlsJKDkA/0bORlNFDm9EhN/B0MQ== X-Received: by 2002:a1c:31c2:: with SMTP id x185mr96226wmx.44.1612808640977; Mon, 08 Feb 2021 10:24:00 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:00 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 30/46] qapi/meson: Restrict system-mode specific modules Date: Mon, 8 Feb 2021 19:23:15 +0100 Message-Id: <20210208182331.58897-31-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x331.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Signed-off-by: Philippe Mathieu-Daudé Acked-by: Paolo Bonzini Message-Id: <20210122204441.2145197-12-philmd@redhat.com> Signed-off-by: Paolo Bonzini --- qapi/meson.build | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/qapi/meson.build b/qapi/meson.build index b301a46f04..7aca8d5048 100644 --- a/qapi/meson.build +++ b/qapi/meson.build @@ -18,8 +18,6 @@ if have_system or have_tools endif qapi_all_modules = [ - 'acpi', - 'audio', 'authz', 'block', 'block-core', @@ -39,14 +37,10 @@ qapi_all_modules = [ 'misc-target', 'net', 'pragma', - 'pci', 'qom', - 'rdma', 'replay', - 'rocker', 'run-state', 'sockets', - 'tpm', 'trace', 'transaction', 'ui', @@ -54,7 +48,13 @@ qapi_all_modules = [ ] if have_system qapi_all_modules += [ + 'acpi', + 'audio', 'qdev', + 'pci', + 'rdma', + 'rocker', + 'tpm', ] endif From patchwork Mon Feb 8 18:23:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076665 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9E619C433DB for ; Mon, 8 Feb 2021 22:51:16 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1AF80601FB for ; Mon, 8 Feb 2021 22:51:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1AF80601FB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:43886 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FND-0000ig-2J for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:51:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50706) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCe-0003Zm-RS for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:04 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:33520) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCd-0006Ho-8f for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:04 -0500 Received: by mail-wr1-x42e.google.com with SMTP id 7so18442791wrz.0 for ; Mon, 08 Feb 2021 10:24:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sl3y6bEhy3bScnbFrCsAd6nm60IxHuqvmVxfBJKGBIE=; b=RnD0zYZqssg1O9axMaFJoIDNB6kzWqyPjodUVNsF+eASstNIYddySTYNicSQpJY5e4 jZ2kygl86LI5IpSABESK1TOy32xQ+tdzb5gveSUmg+oNKOt7/s7UleDXnsxPSY6zW4GB k0ioYAlqpQfz4N4m2QjIFrq2Ff2KXcjdG2+rzsOMn+zmT0KjuTfAZdoHGF2QJTlYLcSj Hq5tb4vhqQyFBl6A8LiDARhdtY3p0iCQKkCoL8fWx8DVfnj5SueHT4t//9rNfK4rtXXA bUENMUul1Tb77jilbZgOxNI/LrR599WeHkkmICPA3i9ICUAk9w4O0cWDuTxN1w4QrNDD a6rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=sl3y6bEhy3bScnbFrCsAd6nm60IxHuqvmVxfBJKGBIE=; b=YplxJDz3Yf1Jo5bgCSbPN6kFhDtvk3VHbJjkIL1jSivrHqegpBFnuJtlowNEgO/iAD a9QgvUf/99BKjW+lB2E0Fye2z5dW0nsD5RGcXnL+yQ7hzLDKFS/jo7RwuA1XllCi1+j9 rvzv+mBBgFA+0tl4VKzyX+P9t/ESWn3/D09ZV+qHOvIOZAzk6sK986zg/5GpYi1v2YuQ 7tFFqJjqeXBxSxupij+HlZi79OPa6krIp9mHmu2K8pOVi0TsJMZuERTl62/zXeIsdWq1 wWOS69hmw7luP0ko0TrB+u6neykBrS80wSERXHQWMUzeGDSmOO00vefcVZ4HUV3zsSMw ZK4A== X-Gm-Message-State: AOAM530QBOQUYp1BU6IFi95vFRh+9CNNuaaBQTmEO4dzTqM0YL5mPWsJ vxYvqMkC+xjXAWbyLCfXwSjK8bmxrROOQQ== X-Google-Smtp-Source: ABdhPJzwe0+mU32Gz5EDwHzIzSpWI/Aruepkal82kVm9+4fwtJmO2/hvahdCOxC7PV9f/AoqhocP9A== X-Received: by 2002:adf:dd81:: with SMTP id x1mr8408532wrl.233.1612808642032; Mon, 08 Feb 2021 10:24:02 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:01 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 31/46] qapi/meson: Restrict UI module to system emulation and tools Date: Mon, 8 Feb 2021 19:23:16 +0100 Message-Id: <20210208182331.58897-32-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x42e.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé Signed-off-by: Philippe Mathieu-Daudé Acked-by: Paolo Bonzini Message-Id: <20210122204441.2145197-13-philmd@redhat.com> Signed-off-by: Paolo Bonzini --- qapi/meson.build | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qapi/meson.build b/qapi/meson.build index 7aca8d5048..0652569bc4 100644 --- a/qapi/meson.build +++ b/qapi/meson.build @@ -43,7 +43,6 @@ qapi_all_modules = [ 'sockets', 'trace', 'transaction', - 'ui', 'yank', ] if have_system @@ -57,6 +56,11 @@ if have_system 'tpm', ] endif +if have_system or have_tools + qapi_all_modules += [ + 'ui', + ] +endif qapi_storage_daemon_modules = [ 'block-core', From patchwork Mon Feb 8 18:23:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076741 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8CA59C433DB for ; Mon, 8 Feb 2021 23:19:38 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 028DC64E75 for ; Mon, 8 Feb 2021 23:19:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 028DC64E75 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:45488 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9Fof-0003gT-0F for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 18:19:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50764) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCh-0003cy-SA for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:08 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:45574) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCe-0006Hw-9b for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:07 -0500 Received: by mail-wr1-x42b.google.com with SMTP id m13so18331151wro.12 for ; Mon, 08 Feb 2021 10:24:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ccxdfDtgZG2LHcT+ExTuqyHNL4jkGWnYIqOyRcBF9z8=; b=KUae6ZLinsYhIdLKTOgIMKeeGubCh5DUtkmZ+3if/SXegdO/9uisf4R8HimT6TOBm+ 0880kLc9SDzP/alunMACCWcG/cvKoLBMfW+mQMmMGb6JUKaCnVtJqoDut28WfaPZ1s00 P85CYlLjCZlj+hlEGrdmpCgODcPYx46GMPey4pEKA65Xyi9b/7ee4b9jlAqSqU4i5BhX vVDWHKQWOE8UV4kh00Y9CW/Kp76h2CumTwnxf1mdGv1notxpdbVQ96nS9uXOQW6+CC7P 9jNmtEC6W3PvYYrkjnIsYIT+SBCNCQMeX27p2Ag53r78gso16R1HdjtqaoT+AubkNrga i+mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=ccxdfDtgZG2LHcT+ExTuqyHNL4jkGWnYIqOyRcBF9z8=; b=Bi29ryz5/+FzMQIJq9PFHppQzpfWKylrFuWTW+4JnP7NZAZL1aPYdWX2cPkgLz5t8Z +vjmfzz2riNolyJyflLvOcRRVMkD42y206HdUbkJH/dOMdVuGYD9M8r22YOFjgM3bmh3 kl77mKIW2266XAH4TqcsTgzYDl6f032tGRA/aoOgxZL3m3wI6M4k1vPXlqSr2kGeiS7g GtNutzLRr+Psts+jUNpPhi1VpkrR4KjV8MOrvHVDk7KCp3Def5lt2HjpOeZT4N8vgjRe rx/i4t4DLRk19vKzNSu6Ynolyk08+5jB0j42BXFuZ4OFW3ECKCPGDpEL4MZI5PbiPl51 aaLg== X-Gm-Message-State: AOAM532CTKuaLtOibku52/weZyIIvPaiUZK8sRK8B9XxPIjeulT/EcVM 1jTUbEzku+LZGIOQHXxypQ0MxDUaPG9O9w== X-Google-Smtp-Source: ABdhPJwXYz1pdsVZV1yusdHhV5tSUnF6YwrqECLf9JE9Iv0USoGwoGiC/lkdUJ3QLcJ/wW4PpN2zYA== X-Received: by 2002:adf:ea02:: with SMTP id q2mr21508012wrm.25.1612808642941; Mon, 08 Feb 2021 10:24:02 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:02 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 32/46] accel/kvm/kvm-all: Fix wrong return code handling in dirty log code Date: Mon, 8 Feb 2021 19:23:17 +0100 Message-Id: <20210208182331.58897-33-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x42b.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Thomas Huth , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Thomas Huth The kvm_vm_ioctl() wrapper already returns -errno if the ioctl itself returned -1, so the callers of kvm_vm_ioctl() should not check for -1 but for a value < 0 instead. This problem has been fixed once already in commit b533f658a98325d0e4 but that commit missed that the ENOENT error code is not fatal for this ioctl, so the commit has been reverted in commit 50212d6346f33d6e since the problem occurred close to a pending release at that point in time. The plan was to fix it properly after the release, but it seems like this has been forgotten. So let's do it now finally instead. Resolves: https://bugs.launchpad.net/qemu/+bug/1294227 Signed-off-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20210129084354.42928-1-thuth@redhat.com> Signed-off-by: Paolo Bonzini --- accel/kvm/kvm-all.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index e72a19aaf8..47516913b7 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -644,16 +644,19 @@ static int kvm_physical_sync_dirty_bitmap(KVMMemoryListener *kml, d.dirty_bitmap = mem->dirty_bmap; d.slot = mem->slot | (kml->as_id << 16); - if (kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) == -1) { - DPRINTF("ioctl failed %d\n", errno); - ret = -1; + ret = kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d); + if (ret == -ENOENT) { + /* kernel does not have dirty bitmap in this slot */ + ret = 0; + } else if (ret < 0) { + error_report("ioctl KVM_GET_DIRTY_LOG failed: %d", errno); goto out; + } else { + subsection.offset_within_region += slot_offset; + subsection.size = int128_make64(slot_size); + kvm_get_dirty_pages_log_range(&subsection, d.dirty_bitmap); } - subsection.offset_within_region += slot_offset; - subsection.size = int128_make64(slot_size); - kvm_get_dirty_pages_log_range(&subsection, d.dirty_bitmap); - slot_offset += slot_size; start_addr += slot_size; size -= slot_size; @@ -750,8 +753,8 @@ static int kvm_log_clear_one_slot(KVMSlot *mem, int as_id, uint64_t start, d.num_pages = bmap_npages; d.slot = mem->slot | (as_id << 16); - if (kvm_vm_ioctl(s, KVM_CLEAR_DIRTY_LOG, &d) == -1) { - ret = -errno; + ret = kvm_vm_ioctl(s, KVM_CLEAR_DIRTY_LOG, &d); + if (ret < 0 && ret != -ENOENT) { error_report("%s: KVM_CLEAR_DIRTY_LOG failed, slot=%d, " "start=0x%"PRIx64", size=0x%"PRIx32", errno=%d", __func__, d.slot, (uint64_t)d.first_page, From patchwork Mon Feb 8 18:23:18 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076619 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 17DF1C433E0 for ; Mon, 8 Feb 2021 22:27:30 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5692F64EA1 for ; Mon, 8 Feb 2021 22:27:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5692F64EA1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:35496 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9F0C-00072p-73 for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:27:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50760) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCh-0003cv-Rf for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:08 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:47038) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCg-0006Ix-B4 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:07 -0500 Received: by mail-wr1-x42b.google.com with SMTP id q7so18319994wre.13 for ; Mon, 08 Feb 2021 10:24:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OxasQlrwiThoLa1q6VoVzBYxyPV3qzsQEumjwD3F1As=; b=D2+8iSmZcQUdZ2LxXGR9ndmWHmCyhGFxRaw6GIqAeSwN3TlTpoHhtFcz6tD9nuwjqf ITaYyBUjxt+kU9DznOCKvJGkOGdB0ij3CaSaVr1NVx75dTvdhPX9csjFhoJiwBox0My+ XcPpFvLH+MI5uaz3iovb/Z2PrkR4rZ1DnPFpK4fCAB/KNYc0+OTCsg2//EvCt9kBWLGE 1gXxcfFNiF43CQlzrA6gtz7wcsE99FbpG/3iFhXtxVcNDggeFb1iZFYlw/FlwgMN3elc a1j2BQX0p4BSIGZspXlPofg0Kh9Zzi0TGu/hDyk5EUvlDDt3HYbEH6+IbF1fAGUavMLe QuEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=OxasQlrwiThoLa1q6VoVzBYxyPV3qzsQEumjwD3F1As=; b=MecMECOJ9CRlju/gPtpB5Gqujn4WkqYCXubaAEzjABAiwVIbmDtf6YT+90giOyP2KD YRsVcEmv7qrO0Cf0I6QK2OaDBi8Y7fhGFFLZZE5RwkJv0YX5nUvLBWdeJvNDqtv9+AYh GnDwXTQvXCJYjtSsodzR+DQgj0lwgTuqyypWxPb2UorGfvAucXT2BA9iy+EKij81XIIg 6hGrvQUVHRGy4XoeBJCBGCR+eQ7PREn+MHeJHOJ7DngkDpsQy5KJlKzBfWplzfyD6wFA Yz8kC+y2szt9REYzjLQUdsip73IoM7WGWFetujxtthTCYNKp5hlgVDZcWFHK8Ht+qzO8 c3lQ== X-Gm-Message-State: AOAM5304bpJXqwNrWV8i0vhM6o4OqVFervcvznDvPXV+ZgpCt/iC/NLX CaTy0igDAZbdvTsy66Pu2qhI3pKh8AIz9g== X-Google-Smtp-Source: ABdhPJzyMriO7f27Uk6hCH1OKEmQCYplfJ7mHfinx6obq84+DmbF8FXeMM99+uzq6GIlIZYXh/vzBA== X-Received: by 2002:adf:a196:: with SMTP id u22mr2671378wru.416.1612808644087; Mon, 08 Feb 2021 10:24:04 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:03 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 33/46] replay: fix replay of the interrupts Date: Mon, 8 Feb 2021 19:23:18 +0100 Message-Id: <20210208182331.58897-34-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x42b.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Pavel Dovgalyuk Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Pavel Dovgalyuk Sometimes interrupt event comes at the same time with the virtual timers. In this case replay tries to proceed the timers, because deadline for them is zero. This patch allows processing interrupts and exceptions by entering the vCPU execution loop, when deadline is zero, but checkpoint associated with virtual timers is not ready to be replayed. Signed-off-by: Pavel Dovgalyuk Message-Id: <161216312794.2030770.1709657858900983160.stgit@pasha-ThinkPad-X280> Signed-off-by: Paolo Bonzini --- accel/tcg/tcg-accel-ops-icount.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/accel/tcg/tcg-accel-ops-icount.c b/accel/tcg/tcg-accel-ops-icount.c index 87762b469c..13b8fbeb69 100644 --- a/accel/tcg/tcg-accel-ops-icount.c +++ b/accel/tcg/tcg-accel-ops-icount.c @@ -81,7 +81,13 @@ void icount_handle_deadline(void) int64_t deadline = qemu_clock_deadline_ns_all(QEMU_CLOCK_VIRTUAL, QEMU_TIMER_ATTR_ALL); - if (deadline == 0) { + /* + * Instructions, interrupts, and exceptions are processed in cpu-exec. + * Don't interrupt cpu thread, when these events are waiting + * (i.e., there is no checkpoint) + */ + if (deadline == 0 + && (replay_mode != REPLAY_MODE_PLAY || replay_has_checkpoint())) { icount_notify_aio_contexts(); } } From patchwork Mon Feb 8 18:23:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076679 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C1E50C433E0 for ; Mon, 8 Feb 2021 22:53:34 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 093AB64E28 for ; Mon, 8 Feb 2021 22:53:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 093AB64E28 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:52262 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FPQ-0004F4-Tj for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:53:32 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50834) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCj-0003ep-S5; Mon, 08 Feb 2021 13:24:10 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:37097) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCi-0006KD-3I; Mon, 08 Feb 2021 13:24:09 -0500 Received: by mail-wr1-x42f.google.com with SMTP id v15so18374129wrx.4; Mon, 08 Feb 2021 10:24:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vmTUdRsIp15lM+Myl5to/SGJeQnIreHQ3aMV8OYa0uU=; b=K3nnvrapD2u5QnP9aOIDCODsW/wAGkjPD9+NsRO/KM9NtOENuM2HT9qr/JwLruULP5 707DvRrabBcgk1KnB+s5mSv9LXeXBnrWlLfXX/CdIL7P+r9zsAnOHhsRn2UPnYOdoNt9 2rhBsMaNFpCEGeUxb2eTs+urH1Gpl7y40H3r3p+dfKQ8h+l4ihz5xQAJhjaPLFz/XE/W eZXwmY8f1U7lEEoOaH5B/fvw1tMJ5YKGqZx6T51Ry0JoRZ8VpIKo5PQQKccrntQ0opuJ o+hqSNrZ6HvtjlEXxWlJSqRL/L1xsMqJ5RcSZCsoNi/hqLJjJMgtbP+G/pVD0ZEoLXD7 DSoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=vmTUdRsIp15lM+Myl5to/SGJeQnIreHQ3aMV8OYa0uU=; b=WMRArMbT1pvmwo9Gd7oY70SNhrN6a6CZYii7lGqGhh19dMaa597uQvBPpiHLUWeZcR BcDrNeppVHPhRH6KGaWSj9XNNggd1peqSx+hND0rkQ1ivrd08jYfdDrFx64vG+RnJLvi LgZK9MVG8F70WwuF/XXLfQAloPaqHlRXpjz8cSkrz9OMns/S5DNLhab/6dTWRai+SEfs nogO97m5JN0fp4C009F5XwxbwcGPi1srKRaWJkqDyWHxMTm+fOZT63aLB8WmIhTViCbj K+SsvJoww55qeKWf0BQkcmqEHN+nmt5bgZs591CXXfw4bhF4Iv0ISq5OnBsECsvRHiJx s9Iw== X-Gm-Message-State: AOAM533rdNib9F9XDjKtmL3cUotnQblswvsIxlDE2ijFxbhEW8bTBNRX XXTmKg4l+snHF4IdRqLKNfvaf/OFVbNBvA== X-Google-Smtp-Source: ABdhPJx1o8lUysCrrNlgmSlR3ig3ng7Y9Ehaodaab+1E7/KZSW+lI+TBb9oDYDJC8vgS13a3oC21Yw== X-Received: by 2002:adf:ab10:: with SMTP id q16mr3368287wrc.376.1612808645128; Mon, 08 Feb 2021 10:24:05 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:04 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 34/46] pc-bios/descriptors: fix paths in json files Date: Mon, 8 Feb 2021 19:23:19 +0100 Message-Id: <20210208182331.58897-35-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x42f.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , =?utf-8?q?Jannik_Gl=C3=BCckert?= , =?utf-8?q?Ph?= =?utf-8?q?ilippe_Mathieu-Daud=C3=A9?= , qemu-stable@nongnu.org, Sergei Trofimovich Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Sergei Trofimovich Before the change /usr/share/qemu/firmware/50-edk2-x86_64-secure.json contained the relative path: "filename": "share/qemu/edk2-x86_64-secure-code.fd", "filename": "share/qemu/edk2-i386-vars.fd", After then change the paths are absolute: "filename": "/usr/share/qemu/edk2-x86_64-secure-code.fd", "filename": "/usr/share/qemu/edk2-i386-vars.fd", The regression appeared in qemu-5.2.0 (seems to be related to meson port). CC: Paolo Bonzini CC: "Marc-André Lureau" CC: "Philippe Mathieu-Daudé" Bug: https://bugs.gentoo.org/766743 Bug: https://bugs.launchpad.net/qemu/+bug/1913012 Signed-off-by: Jannik Glückert Signed-off-by: Sergei Trofimovich Message-Id: <20210131143434.2513363-1-slyfox@gentoo.org> Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini --- pc-bios/descriptors/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pc-bios/descriptors/meson.build b/pc-bios/descriptors/meson.build index ac6ec66b00..29efa16d99 100644 --- a/pc-bios/descriptors/meson.build +++ b/pc-bios/descriptors/meson.build @@ -9,7 +9,7 @@ if install_edk2_blobs ] configure_file(input: files(f), output: f, - configuration: {'DATADIR': qemu_datadir}, + configuration: {'DATADIR': get_option('prefix') / qemu_datadir}, install: get_option('install_blobs'), install_dir: qemu_datadir / 'firmware') endforeach From patchwork Mon Feb 8 18:23:20 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076617 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B3D8FC433E0 for ; Mon, 8 Feb 2021 22:27:20 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E532E64EA1 for ; Mon, 8 Feb 2021 22:27:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E532E64EA1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:34828 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9F02-0006m4-RK for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:27:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50820) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCj-0003eI-2M for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:09 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:45580) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCh-0006KH-JB for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:08 -0500 Received: by mail-wr1-x431.google.com with SMTP id m13so18331295wro.12 for ; Mon, 08 Feb 2021 10:24:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wzas9nPDHeC19h63FyETLqv4l2H2HoLw6OxXXEW21pU=; b=D1iKcued5VbnKmj35O26iPsgiw6g21XVloAbEZdP5qh3v2tFx1uof5L0nfn8HCqwo3 3hQZY28AF+btt9n4hISOfedezzPgiDlZnL8RWM47zPazaFvdGTdodu+ijK/uNZv8JVXK Qy/R0QXyhFT2MoQH6XD47Wj/C9+LqKfUWqSEhQnt9d1fGAIyBEnqkvgJvK9QIeLbelzI moyXKo4BAy0OfVg9D5MPixJBCj+iQocOI67Uap5tGens/p3V2WXdufEE2I0WuGl7q+gO J/xcQpNoRlvCR8TD5KjmM2FvBrKOcA+ukIfp6xB9XJjMinTJ5gFEvgLcTRDBysuV2JMM Oetg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=wzas9nPDHeC19h63FyETLqv4l2H2HoLw6OxXXEW21pU=; b=rLB0D00LG+/hhb3hbcSUREHXvGseyUbMwVHav0pjzFhZiAfh4uigPfVNdweWOmB0ho 8GBfGKBmxEwtebp0qaOEw8wZOrSr1KXRDYc8VnuxG4narVS+9Pew2vy8K/EzwepYHRaP WOwWX4tVfpgMhVJHhi5l6QrJBa7xKDQE+Bv8p3mfLb47nOKMgDJO/I6mwRRzLknczyWV 3Fs057jkdB0+nBcby7S6q11Up+FIckBJwcBQhkY4/nQinxErZSiJg40hDuehtao5XkiB FDZ6IjXDuioGh9SrQytVbp78rMv6SmMD2WDGlRkOjIonHyxPOzKWzv0Qe7Cd9InqWf9i 0gRw== X-Gm-Message-State: AOAM533CE17rzSw+cxq8vVI3gEFjIEw4CE8UCuwHZVRuRXW2XzbWsgJn dmF0qc2lAMSCWvzUa48rKEVozAZJG5Au4g== X-Google-Smtp-Source: ABdhPJzGtqm7NIw1nwikxgkaoDp3rMuNM9PO57yFsOvSdYsCn4gwDF22aRoK6jUCeGN3yBs/KnbvAQ== X-Received: by 2002:a5d:4646:: with SMTP id j6mr21344889wrs.38.1612808645933; Mon, 08 Feb 2021 10:24:05 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:05 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 35/46] replay: rng-builtin support Date: Mon, 8 Feb 2021 19:23:20 +0100 Message-Id: <20210208182331.58897-36-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x431.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Pavel Dovgalyuk Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Pavel Dovgalyuk This patch enables using rng-builtin with record/replay by making the callbacks deterministic. Signed-off-by: Pavel Dovgalyuk Message-Id: <161233201286.170686.7858208964037376305.stgit@pasha-ThinkPad-X280> Signed-off-by: Paolo Bonzini --- backends/rng-builtin.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backends/rng-builtin.c b/backends/rng-builtin.c index f38dff117d..f367eb665c 100644 --- a/backends/rng-builtin.c +++ b/backends/rng-builtin.c @@ -10,6 +10,7 @@ #include "qemu/main-loop.h" #include "qemu/guest-random.h" #include "qom/object.h" +#include "sysemu/replay.h" OBJECT_DECLARE_SIMPLE_TYPE(RngBuiltin, RNG_BUILTIN) @@ -37,7 +38,7 @@ static void rng_builtin_request_entropy(RngBackend *b, RngRequest *req) { RngBuiltin *s = RNG_BUILTIN(b); - qemu_bh_schedule(s->bh); + replay_bh_schedule_event(s->bh); } static void rng_builtin_init(Object *obj) From patchwork Mon Feb 8 18:23:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076621 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AF833C433E0 for ; Mon, 8 Feb 2021 22:29:58 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2E8FC64EA1 for ; Mon, 8 Feb 2021 22:29:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2E8FC64EA1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:42282 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9F2a-0001Pn-TG for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:29:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50828) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCj-0003ej-JW for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:10 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:40452) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCi-0006KW-0u for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:09 -0500 Received: by mail-wm1-x331.google.com with SMTP id o24so43576wmh.5 for ; Mon, 08 Feb 2021 10:24:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=cN1ZcZPR2RGrOQpA8sK4oqGTYEHRS4ZzRRQsbqTSWis=; b=OcFGOQ5pHzNDFIIbsee46MvK5f2nF/yFcxQ453WF8falY8uh84CG5/ZtQ6LEWwLCiv +T2Zh+uB5J1m4pP1IdqJdcleWyb1a5y6NzE1DENir+cB+UNzDnmIgla9FShKImny5h+9 iC4KoOckj9ymKO7jquxMm8W2F4ArffPL0zchgB122zjgy5q0bxjZCADpbMQbfI+JA+RS mMFcgn6vSjZk5VjSJfqLOJ2Chw4drHGJkvf1DdxzyX/0dqRkR9gaqSPvENrSgEyOE0eA bNvkiXaSSZhCPwUYBkNEYj2n2AkLS5AMFtnB/VfFPBxL6EpvwZMMctMqKk4q7hp8uICd QYzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=cN1ZcZPR2RGrOQpA8sK4oqGTYEHRS4ZzRRQsbqTSWis=; b=R4zAFZIM/Fh8wS+ycry5nUVUzKIsSOsiSkP4EYbWpbH+eSkBfxuAxjDZbb0bzksokF aKbc6WToMlMIwUujHWPhFzA6SaGbfvd2or2cm5GZBZsPoZo8RvjsBM8oflnOyZIfKGno oPYHA2T5x1ITyxqtZ5hMxzSBcuqO+d7gY+7sHfcMqekd76sz1A0WX2b4wpiTWKtRpAqz R+ypZedmFMV1eW3hYm+Tjz/9yIXJsM8to5haPLBkDKSw+dbh3JvpsY4jieDwOCLCNV0/ jixJX9oHV/pKDf0aFYT381GarMAwnHW9QMPfAoE56PCYEgvL32XJxJcnDwkHs2dMr8k6 XeNg== X-Gm-Message-State: AOAM5328G5XdsJByUhV7quW7GaXXPRa9Noeiv9JzoWVrs3BMOBS6NA1N kixEG5XiYVRzBGB4h6ifT2WGzzUWIDwjCw== X-Google-Smtp-Source: ABdhPJyf5i5jTekJeH2QHw6zJTNBolH4NvRUScT2vuSdEb3P013PneRJccSzKBGFYYwzK3VCd2pcFg== X-Received: by 2002:a1c:f706:: with SMTP id v6mr49532wmh.85.1612808646765; Mon, 08 Feb 2021 10:24:06 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:06 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 36/46] cpu-throttle: Remove timer_mod() from cpu_throttle_set() Date: Mon, 8 Feb 2021 19:23:21 +0100 Message-Id: <20210208182331.58897-37-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x331.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Utkarsh Tripathi Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Utkarsh Tripathi During migrations, after each iteration, cpu_throttle_set() is called, which irrespective of input, re-arms the timer according to value of new_throttle_pct. This causes cpu_throttle_thread() to be delayed in getting scheduled and consqeuntly lets guest run for more time than what the throttle value should allow. This leads to spikes in guest throughput at high cpu-throttle percentage whenever cpu_throttle_set() is called. A solution would be not to modify the timer immediately in cpu_throttle_set(), instead, only modify throttle_percentage so that the throttle would automatically adjust to the required percentage when cpu_throttle_timer_tick() is invoked. Manually tested the patch using following configuration: Guest: Centos7 (3.10.0-123.el7.x86_64) Total Memory - 64GB , CPUs - 16 Tool used - stress (1.0.4) Workload - stress --vm 32 --vm-bytes 1G --vm-keep Migration Parameters: Network Bandwidth - 500MBPS cpu-throttle-initial - 99 Results: With timer_mod(): fails to converge, continues indefinitely Without timer_mod(): converges in 249 sec Signed-off-by: Utkarsh Tripathi Message-Id: <1609420384-119407-1-git-send-email-utkarsh.tripathi@nutanix.com> Signed-off-by: Paolo Bonzini --- softmmu/cpu-throttle.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/softmmu/cpu-throttle.c b/softmmu/cpu-throttle.c index 2ec4b8e0bc..8c2144ab95 100644 --- a/softmmu/cpu-throttle.c +++ b/softmmu/cpu-throttle.c @@ -90,14 +90,21 @@ static void cpu_throttle_timer_tick(void *opaque) void cpu_throttle_set(int new_throttle_pct) { + /* + * boolean to store whether throttle is already active or not, + * before modifying throttle_percentage + */ + bool throttle_active = cpu_throttle_active(); + /* Ensure throttle percentage is within valid range */ new_throttle_pct = MIN(new_throttle_pct, CPU_THROTTLE_PCT_MAX); new_throttle_pct = MAX(new_throttle_pct, CPU_THROTTLE_PCT_MIN); qatomic_set(&throttle_percentage, new_throttle_pct); - timer_mod(throttle_timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL_RT) + - CPU_THROTTLE_TIMESLICE_NS); + if (!throttle_active) { + cpu_throttle_timer_tick(NULL); + } } void cpu_throttle_stop(void) From patchwork Mon Feb 8 18:23:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076749 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 92DF5C433E6 for ; Mon, 8 Feb 2021 23:23:45 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0C28A64E7A for ; Mon, 8 Feb 2021 23:23:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0C28A64E7A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:56550 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9Fsd-0008Oq-VY for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 18:23:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50846) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCk-0003gs-Tk for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:11 -0500 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:45584) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCj-0006LW-9b for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:10 -0500 Received: by mail-wr1-x435.google.com with SMTP id m13so18331423wro.12 for ; Mon, 08 Feb 2021 10:24:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=cxe8c6RNhdHlx5HuOWhXgpelKV1ga1qAtyeZmqGBD58=; b=XvXmySpwpXx522l1iWW2yfV2/aN066ZxnmBrz1a33s7hdlV4mhId6kSMNQ/RSxavDf OjyO3QvE88idFG3RoQdk8rh/Vzt3RNcbjE2FoHZnBOz2z8tZWRy5pIw4+Hjw0n7sJFNV PcYHYL8cfbwkIJcntFmD9SiQqQ0qaLbdzApnYEu/NQWvWcVsH4dq6UETK7tPhvYD+66O slVxBhyomo4OrJUnoovFfO/Fuo5XfXpaexWfkkwfFjaX+hb+XNyA0PTtAJ6TMiPFwZYF UVwk4BEczoyqlXBIB1AgxOxtFbDOnT7nXZYkHQxfCUoLOuQ1hItJPbUsJ61u/XzKd8tU k/PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=cxe8c6RNhdHlx5HuOWhXgpelKV1ga1qAtyeZmqGBD58=; b=FENJajv3db1w+gvNydjfqMQeFokBnGX1zUas+pAYNWNi7EhDsl4G0wuNBxsk9MrUUh H0uGiX4UdlLVnYWFU8oVm3SjnCoPzsTo8bhpMenQxmJMThcR1vPH85BVXxZxrWeEHBpZ VLLAJO9otKvhh0R8WLxlouFOTjzMgJd/EitzYLtZoT8A5MZcg5d/s3KxhrTS6D7tPCOq fiSDRlLCSNpuS9+u3UFHW7bYg4Xi4USeihenk9B539mwqA0skIM3hSF1Umo1i4RJYUiY Cl/Awgl9Nu34kDCidBOz3QObqqToxQxcUQ3ltKJz3ATyTNK5nKZtyel2Ia6imjlbzT5D Xv8w== X-Gm-Message-State: AOAM5338uO09Bi8O39JNq8MpNERTAWwDHC51Rat3PwCToBF5dzpafBHm vIMavqpm+4kTyNlJCBVQ0jqo84/7NE2lBg== X-Google-Smtp-Source: ABdhPJzhd2qsSimYMcoirohGflNxdyBWqWviHrasEYm3ChW7eARJbuQP+P87cgVUP8v7wqCW9oJCGg== X-Received: by 2002:a5d:438c:: with SMTP id i12mr20739961wrq.179.1612808648140; Mon, 08 Feb 2021 10:24:08 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:07 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 37/46] hw/pci-host: add pci-intack write method Date: Mon, 8 Feb 2021 19:23:22 +0100 Message-Id: <20210208182331.58897-38-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x435.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Lei Sun , Li Qiang , Prasad J Pandit , Peter Maydell Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Prasad J Pandit Add pci-intack mmio write method to avoid NULL pointer dereference issue. Reported-by: Lei Sun Reviewed-by: Li Qiang Reviewed-by: Peter Maydell Signed-off-by: Prasad J Pandit Message-Id: <20200811114133.672647-2-ppandit@redhat.com> Signed-off-by: Paolo Bonzini --- hw/pci-host/prep.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c index 0469db8c1d..0a9162fba9 100644 --- a/hw/pci-host/prep.c +++ b/hw/pci-host/prep.c @@ -27,6 +27,7 @@ #include "qemu-common.h" #include "qemu/datadir.h" #include "qemu/units.h" +#include "qemu/log.h" #include "qapi/error.h" #include "hw/pci/pci.h" #include "hw/pci/pci_bus.h" @@ -121,8 +122,15 @@ static uint64_t raven_intack_read(void *opaque, hwaddr addr, return pic_read_irq(isa_pic); } +static void raven_intack_write(void *opaque, hwaddr addr, + uint64_t data, unsigned size) +{ + qemu_log_mask(LOG_UNIMP, "%s not implemented\n", __func__); +} + static const MemoryRegionOps raven_intack_ops = { .read = raven_intack_read, + .write = raven_intack_write, .valid = { .max_access_size = 1, }, From patchwork Mon Feb 8 18:23:23 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076623 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7CAEAC433DB for ; Mon, 8 Feb 2021 22:31:14 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id ED96264E8C for ; Mon, 8 Feb 2021 22:31:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ED96264E8C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:43794 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9F3o-00021X-OD for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:31:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50868) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCp-0003hp-GK for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:18 -0500 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:36812) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCk-0006Lu-H6 for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:11 -0500 Received: by mail-wr1-x434.google.com with SMTP id u14so18423646wri.3 for ; Mon, 08 Feb 2021 10:24:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jJ6Cu/Beow+uQH9ge+yS//OEx9qNhN8s7bcO3l6ph2s=; b=l4wC/xsKiPVD5fsJAxarWAJXjWI+HINbfz0QYI0mK2Ly8O5OKovL/NM03zOpGC75B0 skidZMBNillj8tWJugHmdCfalPWSuUSYHHs+M6pWnqXYY5hb7HN0gHKDtdlkskXfmjvc 2VdwDHZNbOils1UgNbufMFsTbSGFxlECrAmS0rm9pMfxiiIXU3e1yRcoPCQ6GHDs3gtl Uroy/b7wYuzB29PW3A/15YkeOPqaEcd8tNZT6fjcEIycFesl5bMr1gkWr3TAX4uPfhxt AvOGOJtPWhgEdfWYoxQthaOtWUNqh+K3I8f662tBma5s8WAAv75lpeeSFwQz7wTDSlgC bEag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=jJ6Cu/Beow+uQH9ge+yS//OEx9qNhN8s7bcO3l6ph2s=; b=SiCA6UIi9VXgsSe7CEjOEt7DVpnK/YKHSvWnDPC4r6Cv5fbkHMA3VIv4oG0Imncr14 NK3jdD91dNuJROvScXvVrzf1cm5aj/drVojPtJkOdwkAZ7Zimz35bKd+f9U8Jpt+27EP JV7pjBXDI9GquVco3ZNpsu/wqT7T+e/Qgifs7RREz4+myf1hSFrJeFZZe4hadfYK6LPa RaH3OcRMkMRKC5rzYDBwrLAurO53S1EKHj88DuVWji76uMfNBfUQ6dti6F51WCNQMH0J lwsgcxRAmj//k3Z4CQU2099byVkwSgY/TUsVSPZmefpBpQlssF8U7RM/9xEqmu4O9O+a 6hSQ== X-Gm-Message-State: AOAM5321JsF0y5Z51UhYTsYW1fisXRU/wqav1/x5BprE9QqUPACe8mPt XkCytvpx6S4p4coJ0UZsaTmn4elscF0dKg== X-Google-Smtp-Source: ABdhPJzPoE1Z4mloz/1dqiDNV3XwBZbld3vIemxYIYHdGGY992ShLRuMlRPK8QAehkj0dtpnX+D/YQ== X-Received: by 2002:a5d:5549:: with SMTP id g9mr22431632wrw.244.1612808649199; Mon, 08 Feb 2021 10:24:09 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:08 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 38/46] pci-host: designware: add pcie-msi read method Date: Mon, 8 Feb 2021 19:23:23 +0100 Message-Id: <20210208182331.58897-39-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x434.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Lei Sun , Li Qiang , Prasad J Pandit , Peter Maydell Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Prasad J Pandit Add pcie-msi mmio read method to avoid NULL pointer dereference issue. Reported-by: Lei Sun Reviewed-by: Li Qiang Reviewed-by: Peter Maydell Signed-off-by: Prasad J Pandit Message-Id: <20200811114133.672647-3-ppandit@redhat.com> Signed-off-by: Paolo Bonzini --- hw/pci-host/designware.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/hw/pci-host/designware.c b/hw/pci-host/designware.c index f9fb97a3e3..bde3a343a2 100644 --- a/hw/pci-host/designware.c +++ b/hw/pci-host/designware.c @@ -21,6 +21,7 @@ #include "qemu/osdep.h" #include "qapi/error.h" #include "qemu/module.h" +#include "qemu/log.h" #include "hw/pci/msi.h" #include "hw/pci/pci_bridge.h" #include "hw/pci/pci_host.h" @@ -63,6 +64,23 @@ designware_pcie_root_to_host(DesignwarePCIERoot *root) return DESIGNWARE_PCIE_HOST(bus->parent); } +static uint64_t designware_pcie_root_msi_read(void *opaque, hwaddr addr, + unsigned size) +{ + /* + * Attempts to read from the MSI address are undefined in + * the PCI specifications. For this hardware, the datasheet + * specifies that a read from the magic address is simply not + * intercepted by the MSI controller, and will go out to the + * AHB/AXI bus like any other PCI-device-initiated DMA read. + * This is not trivial to implement in QEMU, so since + * well-behaved guests won't ever ask a PCI device to DMA from + * this address we just log the missing functionality. + */ + qemu_log_mask(LOG_UNIMP, "%s not implemented\n", __func__); + return 0; +} + static void designware_pcie_root_msi_write(void *opaque, hwaddr addr, uint64_t val, unsigned len) { @@ -77,6 +95,7 @@ static void designware_pcie_root_msi_write(void *opaque, hwaddr addr, } static const MemoryRegionOps designware_pci_host_msi_ops = { + .read = designware_pcie_root_msi_read, .write = designware_pcie_root_msi_write, .endianness = DEVICE_LITTLE_ENDIAN, .valid = { From patchwork Mon Feb 8 18:23:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076751 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA66CC433DB for ; Mon, 8 Feb 2021 23:26:39 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2D10560C3F for ; Mon, 8 Feb 2021 23:26:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2D10560C3F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:36786 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FvR-0003Td-VW for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 18:26:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50926) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCt-0003jQ-JN for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:19 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:38079) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCp-0006Mm-9n for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:16 -0500 Received: by mail-wr1-x431.google.com with SMTP id b3so18383509wrj.5 for ; Mon, 08 Feb 2021 10:24:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2vmEdwiG9gIDiJbroeNYD3Zy7ceWJ6BYH/roxCMRMPo=; b=KitxW6zI0eLQR2lMs+XgCv7q9MKr/aWWVyx+R5loNyquQ/d2FzVJuQDaeSIwQGtTrj 68ZI+jRkim8iGbzAYQA8594nrhJrsyEPeDUzy4gLe3rsQHtAlnsDZsNyhWNEnCsax5EU BgaN2hLFTAjkGmPaWUT64SJZHw91kNwQqjuiMJ4j5wyzi0Qv5ldneosm++RMh9pBABVB TSpvsMQ01xk3ljaekE17QsByVip+gjCs5JIENmaGPewbyJ/csW/6GUtvry+IPrOumxxf 4jlLYaRYAqyUZj0JU62qhLJpKE5KHkuhBswWndUrul5BkE9XqDXs8qVEGFDYFW1GXZBq OfbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=2vmEdwiG9gIDiJbroeNYD3Zy7ceWJ6BYH/roxCMRMPo=; b=iWVKG4VrU2ABE1sa0zQRY3N0rgRen/dScV7WZ7HgXXNNFuVgo41xtTp40ttY8rLwr6 uFWGL13D/Jk8yvWVpFQ/okPcSbKklAiVfrxLqKG9E5U+A0Y9NsfvPaRTCZI4kmpR+pKl X8BRSEFq5FkMyspIE4u72GiYfy8q1OOv8CEUC9q1db8Df11exKuLLb45b5o6JGl1QPef qHlCs/ZU5kACT+nQMzNkvUX9Qqi+FFzMRPOsSF31FfXgwNM+QBDUXAHkyX6Hn12mTIPs z1gbbGkeu20TQoG0oTq4/ZpyIvH3I8XRfD4bmmxz5FraAw3xOGCIx+N7NZV2gYdh5hEu ZSBQ== X-Gm-Message-State: AOAM533ZnGDduNi6mTQ5E+/O102pV4T2VktLx51xwscAxHMnQ1/Ufcxn gvN+XnilsQl/GkovJpiKG14o349agBDhDQ== X-Google-Smtp-Source: ABdhPJxyGpB+oDRsxs+baILs0si4rrpwj7qKBrpEplUelZA9P3wnuNIqv8HLN3d3Ar/aeTFEBx1jwg== X-Received: by 2002:a5d:6684:: with SMTP id l4mr21701066wru.111.1612808650375; Mon, 08 Feb 2021 10:24:10 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:09 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 39/46] vfio: add quirk device write method Date: Mon, 8 Feb 2021 19:23:24 +0100 Message-Id: <20210208182331.58897-40-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x431.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Lei Sun , Alex Williamson , Li Qiang , Prasad J Pandit , Peter Maydell Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Prasad J Pandit Add vfio quirk device mmio write method to avoid NULL pointer dereference issue. Reported-by: Lei Sun Reviewed-by: Li Qiang Reviewed-by: Peter Maydell Acked-by: Alex Williamson Signed-off-by: Prasad J Pandit Message-Id: <20200811114133.672647-4-ppandit@redhat.com> Signed-off-by: Paolo Bonzini --- hw/vfio/pci-quirks.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c index fc8d63c850..c5c4c61d01 100644 --- a/hw/vfio/pci-quirks.c +++ b/hw/vfio/pci-quirks.c @@ -14,6 +14,7 @@ #include CONFIG_DEVICES #include "exec/memop.h" #include "qemu/units.h" +#include "qemu/log.h" #include "qemu/error-report.h" #include "qemu/main-loop.h" #include "qemu/module.h" @@ -264,8 +265,15 @@ static uint64_t vfio_ati_3c3_quirk_read(void *opaque, return data; } +static void vfio_ati_3c3_quirk_write(void *opaque, hwaddr addr, + uint64_t data, unsigned size) +{ + qemu_log_mask(LOG_GUEST_ERROR, "%s: invalid access\n", __func__); +} + static const MemoryRegionOps vfio_ati_3c3_quirk = { .read = vfio_ati_3c3_quirk_read, + .write = vfio_ati_3c3_quirk_write, .endianness = DEVICE_LITTLE_ENDIAN, }; From patchwork Mon Feb 8 18:23:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076769 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7D516C433DB for ; Mon, 8 Feb 2021 23:29:24 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 11E2964E25 for ; Mon, 8 Feb 2021 23:29:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 11E2964E25 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:45190 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9Fy6-0006yO-UE for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 18:29:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50928) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCt-0003jR-Jp for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:19 -0500 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:36806) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCp-0006Nb-9x for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:16 -0500 Received: by mail-wr1-x42d.google.com with SMTP id u14so18423752wri.3 for ; Mon, 08 Feb 2021 10:24:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=I2Aph69adGLflQzOi00r3lbWRxRLJVNf2GcXimWPXvU=; b=NDaD1VG6ilh1S+I8WCxrGpQQMaii2+qUXEE2DdKTMicN9jIMvZ2LKw14g3VL0swj2/ lytrgeStxTcGFc9H81CcPQ1fp3Xlu7uh1BFiC0x6ZzCTEcAfd9MwuX7YsI6HVRRiOtQx Jneu5GdIkH47vl5WUVqOUciGOceZGj9K1FTMaoQXr6vBzQBcaOQqX9KW16tNsqfKeqha XvMFiIKpqUh9fZYtVq99JLkvsm2AsVNBtmn6csvClLZI9h67fhSCXbqFElGe8Il9p9jh 6Nxf6bIhwwc+HdytOWVL1nA5NQWhiKi01tYj3lMThjooiRFgS8CSFZdSLVEciTQyGB5+ Yegw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=I2Aph69adGLflQzOi00r3lbWRxRLJVNf2GcXimWPXvU=; b=EoVPF50v/YCIvY57gU5y2kTNSdzI/Ku+m1jvx9QGxVTtd7zCSnZtkwoa5fXBwMKvjT kQq+s6diEQ6nvag3AH/or+dRxLR7nDofT5bMkkeKd3bapbvzrgYbThSESsVAlk8FKU9t idZrguFGr7UmQFhNkv4kAkWThCIZo6LQHDgrGjqEvZv6SKRdQeZlR3ovVLMdjFEhuo/W rf8HfSZmQQjKPffSTM4g46ZDBZYSS94SyprqrPw73hBsgt2AK8ZPr3LXfsWEepDXllfy 5G+9AV7jI45eEiam6wZJcews6vUOfF6wfxNA/01+mEruyFjUArz9e9NKYMgrwUwxb0mj 8rzA== X-Gm-Message-State: AOAM533tQJsP/rGsBp6SEjuCre1rYMs+TvOiEvc/jKtrgBzxP0nTYikh rFHd/k12mhLYa42Zba5QqAB3UVOCMymixA== X-Google-Smtp-Source: ABdhPJwZN8zLSBj5SGcZYcsa0/lwTSGBQ/F8XohP0fNFg9Pp3gdNI/IwNZP8/a/n+2lE3US9bfyzsw== X-Received: by 2002:a05:6000:1806:: with SMTP id m6mr12811676wrh.320.1612808651363; Mon, 08 Feb 2021 10:24:11 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:10 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 40/46] prep: add ppc-parity write method Date: Mon, 8 Feb 2021 19:23:25 +0100 Message-Id: <20210208182331.58897-41-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x42d.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Lei Sun , Li Qiang , Prasad J Pandit , David Gibson Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Prasad J Pandit Add ppc-parity mmio write method to avoid NULL pointer dereference issue. Reported-by: Lei Sun Acked-by: David Gibson Signed-off-by: Prasad J Pandit Reviewed-by: Li Qiang Message-Id: <20200811114133.672647-5-ppandit@redhat.com> Signed-off-by: Paolo Bonzini --- hw/ppc/prep_systemio.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/ppc/prep_systemio.c b/hw/ppc/prep_systemio.c index 4e48ef245c..b2bd783248 100644 --- a/hw/ppc/prep_systemio.c +++ b/hw/ppc/prep_systemio.c @@ -23,6 +23,7 @@ */ #include "qemu/osdep.h" +#include "qemu/log.h" #include "hw/irq.h" #include "hw/isa/isa.h" #include "hw/qdev-properties.h" @@ -235,8 +236,15 @@ static uint64_t ppc_parity_error_readl(void *opaque, hwaddr addr, return val; } +static void ppc_parity_error_writel(void *opaque, hwaddr addr, + uint64_t data, unsigned size) +{ + qemu_log_mask(LOG_GUEST_ERROR, "%s: invalid access\n", __func__); +} + static const MemoryRegionOps ppc_parity_error_ops = { .read = ppc_parity_error_readl, + .write = ppc_parity_error_writel, .valid = { .min_access_size = 4, .max_access_size = 4, From patchwork Mon Feb 8 18:23:26 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076633 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BC8F5C433DB for ; Mon, 8 Feb 2021 22:37:12 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 546C864E56 for ; Mon, 8 Feb 2021 22:37:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 546C864E56 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:60192 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9F9b-0000Wh-DU for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:37:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50922) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCt-0003jM-JI for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:19 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:33523) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCp-0006Ni-AZ for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:17 -0500 Received: by mail-wr1-x42f.google.com with SMTP id 7so18443380wrz.0 for ; Mon, 08 Feb 2021 10:24:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mF4TQkdD5rwh7fw6nl40RAErrcBZ3KqyV7DzoiqBtLE=; b=h7RMtcPuytAxZSOilWPZs980d++Kc+epvkZrHHJuDXUqfOHSPkRWb15ws2toE+owRC lw7AZ2v2TQ5m/UuxWXY9PZelgcqh6ZKc4GtCDxA3ShtYZvq/LkrR1oGnJAtoGvz65ujP iPPnI+RAyN90bnK61i9UDcG+p+5GCn//QPh/7vONc44GHgCquTLzNesQxBJyRAeJQrIr zYTNDgmFGjjADF5VZ2GKb1+OSjUn/QL7hJdt29chWkIZB/dLUT4prDRec04w30cD+bmd uEH4WOClXJe+Xlpy4ex0XZRXeJD/uX09y1Jv2coGSNHBY4pq+0mrgCV5XVYfvk5hCOXI ZbLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=mF4TQkdD5rwh7fw6nl40RAErrcBZ3KqyV7DzoiqBtLE=; b=Lg7gbtaRd7TeBjcHrXO84beGSxGPVEYIiDEhbE1urpRQrccOHT34jaZaTDeU3Md5my MDHJz+ulzxz6KjtET9tlkwJ6LYhn+dLqPBX65rrjw7RywUkfs4AbL0Irp6Z7U1oaetcT kx3pTwtTxymaiQEHLpuPLI3KG4ITVU4J4TZbfNHEG1zf46GD+HayQmuY8TuDmpqWqkGl x9udGjVqCMNHtDXTGnclGNSfi96HQd0rS/nq2GBxlbcs+Dx/zUf8TD7udRhyiuKuhaPP aei+6ccjJQJUCswcqL3PZoP/QyrBHtofhFq05BvwyZYZVNGUu+oxBI0l+9jmUK+/ZP+Q Brxg== X-Gm-Message-State: AOAM531tWUdrPQZIUkiT3qtfiuBbF05RSHzvfcnTcr84L9v7LdB8DtHc N5diAcqY1yzCcgZdlxUq/7gVm7bBgfPM1A== X-Google-Smtp-Source: ABdhPJzzfbkyoRVmkhi1abL8NirUPOUWeUnbYTur9TocC/SDRn4YPbP7F264Ce/Bl94vmnIC7U9mcw== X-Received: by 2002:a5d:6c66:: with SMTP id r6mr20704991wrz.86.1612808652434; Mon, 08 Feb 2021 10:24:12 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:11 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 41/46] nvram: add nrf51_soc flash read method Date: Mon, 8 Feb 2021 19:23:26 +0100 Message-Id: <20210208182331.58897-42-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x42f.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Lei Sun , Li Qiang , Prasad J Pandit , Peter Maydell Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Prasad J Pandit Add nrf51_soc mmio read method to avoid NULL pointer dereference issue. Reported-by: Lei Sun Reviewed-by: Peter Maydell Signed-off-by: Prasad J Pandit Reviewed-by: Li Qiang Message-Id: <20200811114133.672647-6-ppandit@redhat.com> Signed-off-by: Paolo Bonzini --- hw/nvram/nrf51_nvm.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/hw/nvram/nrf51_nvm.c b/hw/nvram/nrf51_nvm.c index f2283c1a8d..7b3460d52d 100644 --- a/hw/nvram/nrf51_nvm.c +++ b/hw/nvram/nrf51_nvm.c @@ -273,6 +273,15 @@ static const MemoryRegionOps io_ops = { .endianness = DEVICE_LITTLE_ENDIAN, }; +static uint64_t flash_read(void *opaque, hwaddr offset, unsigned size) +{ + /* + * This is a rom_device MemoryRegion which is always in + * romd_mode (we never put it in MMIO mode), so reads always + * go directly to RAM and never come here. + */ + g_assert_not_reached(); +} static void flash_write(void *opaque, hwaddr offset, uint64_t value, unsigned int size) @@ -300,6 +309,7 @@ static void flash_write(void *opaque, hwaddr offset, uint64_t value, static const MemoryRegionOps flash_ops = { + .read = flash_read, .write = flash_write, .valid.min_access_size = 4, .valid.max_access_size = 4, From patchwork Mon Feb 8 18:23:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076683 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C54B2C433DB for ; Mon, 8 Feb 2021 22:56:44 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 36CAD64E28 for ; Mon, 8 Feb 2021 22:56:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 36CAD64E28 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:60532 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FSV-0007eo-74 for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:56:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50920) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCs-0003jJ-Hl for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:18 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:50955) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCp-0006Nm-Ao for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:17 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 190so64671wmz.0 for ; Mon, 08 Feb 2021 10:24:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YrjPSlBHnaJRqA8v7XrPCR75uFzsE6U/RqfZMqsmDSE=; b=P/rvsv0rE7R5ZgzxoM2z1ouH0HpdHgMGoQzqPlLkmdiJxlVAYSPsPrYKO+o4k1wpaE FXyWmkypKwkbDeWtX2RPDS+ds68kncZeKNTBRP7C9fQgIthOM0E/fxLPrJi152FtguCi mNkqoDZ7UakjXdex4kQ2CkifGApdjyY6QkIxFv9UD3xJPneTVyNWK/YhiCHPbFHDy05R /Em0cmNWCgLjNg52Bn6eR5wNjQ6+mc9QBsYtid2BJgYPfn2YSvLWXQWUdKee4ZimnHGe 54u5fDMVTYHT6wm2hTXqmayUDlRMGBJfQE7ZVmPRIx2JFxu/yDQInA2k6YWGudtWnpp4 HFGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=YrjPSlBHnaJRqA8v7XrPCR75uFzsE6U/RqfZMqsmDSE=; b=kbRtqk6WN8onj12KaFcuqoglxI7c97t/I1nay7i9+JUkcNsFmd6q6ZYPpstIwq2iuV 9B/HW0jIgwAH/34Zclcvcka2Bem/kEQqTDMPT5yfHDj2YuPlcSshcm8q5WttjGlxN3ST OrOIouS6/KAaMHVxDjXJLFwSqr4AQnkIvihYibuyfrcOBxfl1Za6LCHdxkRsMnnfD0o+ d9t8WJwjcJGgvMqf00+YPVsMyQ3kA2n6BnackA0kBOJ3sMfnfXW+gIK2ddjqIFPO0y1q rMzF0P1gA6MDfwzG6QBB8Z8UXdGi9StaYbAF4Suej/vbP0kkURglRR/D2DqNS2H2Bb27 TczA== X-Gm-Message-State: AOAM532TAtHHQtYq3uH33SX4EJ0cYycf+J3oH9kp2N0AE3wn4lORrnYw pFY7p3Go9fMjPXMk+Fdi1YOXwlbUi7FrZQ== X-Google-Smtp-Source: ABdhPJwZfjYwMSsG914oP84zj+ueLyHnkmQjeHu/LeW7dVh4CxOplufHqMt7frmU2QzAbc3RE0iY6Q== X-Received: by 2002:a7b:c215:: with SMTP id x21mr59941wmi.61.1612808653337; Mon, 08 Feb 2021 10:24:13 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:12 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 42/46] spapr_pci: add spapr msi read method Date: Mon, 8 Feb 2021 19:23:27 +0100 Message-Id: <20210208182331.58897-43-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x32e.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Lei Sun , Li Qiang , Prasad J Pandit , David Gibson Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Prasad J Pandit Add spapr msi mmio read method to avoid NULL pointer dereference issue. Reported-by: Lei Sun Acked-by: David Gibson Reviewed-by: Li Qiang Signed-off-by: Prasad J Pandit Message-Id: <20200811114133.672647-7-ppandit@redhat.com> Signed-off-by: Paolo Bonzini --- hw/ppc/spapr_pci.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index 76d7c91e9c..b89f810034 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -53,6 +53,7 @@ #include "sysemu/hostmem.h" #include "sysemu/numa.h" #include "hw/ppc/spapr_numa.h" +#include "qemu/log.h" /* Copied from the kernel arch/powerpc/platforms/pseries/msi.c */ #define RTAS_QUERY_FN 0 @@ -739,6 +740,12 @@ static PCIINTxRoute spapr_route_intx_pin_to_irq(void *opaque, int pin) return route; } +static uint64_t spapr_msi_read(void *opaque, hwaddr addr, unsigned size) +{ + qemu_log_mask(LOG_GUEST_ERROR, "%s: invalid access\n", __func__); + return 0; +} + /* * MSI/MSIX memory region implementation. * The handler handles both MSI and MSIX. @@ -756,8 +763,11 @@ static void spapr_msi_write(void *opaque, hwaddr addr, } static const MemoryRegionOps spapr_msi_ops = { - /* There is no .read as the read result is undefined by PCI spec */ - .read = NULL, + /* + * .read result is undefined by PCI spec. + * define .read method to avoid assert failure in memory_region_init_io + */ + .read = spapr_msi_read, .write = spapr_msi_write, .endianness = DEVICE_LITTLE_ENDIAN }; From patchwork Mon Feb 8 18:23:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076627 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 04FB5C433E0 for ; Mon, 8 Feb 2021 22:33:49 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8E4CE64E50 for ; Mon, 8 Feb 2021 22:33:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8E4CE64E50 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:51894 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9F6J-0005S0-LP for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:33:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50930) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCs-0003jW-KN for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:18 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:36569) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCp-0006Nr-GS for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:17 -0500 Received: by mail-wm1-x32e.google.com with SMTP id i9so70696wmq.1 for ; Mon, 08 Feb 2021 10:24:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Byhw7pC7xUaDjfJlJlPSWYHYZDjUaFGH01Y0bppqA6w=; b=BtiYG+xq/zFiR6lXVaXKHsWfGOujV+Nrt1BaaAbdlZhqQ9MkOkxbWYjbePUWdkiNt1 6koggVU+wxgY0g+7j1WZwgOFzQX0gTlUjk7XncFsswhNzwoo/wzmGazmVEMpc3qoIIm9 2YRMff6aP5jvr8c0hrE15203v9ZEEf9VFvrjC2D2s5Uecv9ysJ4fAwEnvqMR+TkEToGf zEmvYEM04D5avskyd2A3mGZn5J8drRifgMGrZMgFIme1X98VP6w+NpMtoCSFi5uZ1ViE enIG7j8AkWnL80XjVf9a1hwgEL81VkY/uGuDkU7D5VWNwsm/+BlMW2GSWFuDfHNy00L1 fhPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Byhw7pC7xUaDjfJlJlPSWYHYZDjUaFGH01Y0bppqA6w=; b=phtYp0rxGXsVhRaVRdgc/CzqAYSpVpjMxg+xkAlgjP4iXuIRZKCcXxPUQD4rKEKKuK uGyA81t0Ogak9pynxvHeKLAFG+8W+SHF2EbrYeiG1peK9ljReNZ8i4e5BpM2lEW66WC1 P7aCPZVO0DI51xFS7My4aQ3VLTMPCGe2s7AmLQRvDBTCMT7sQiEXfc2Z09YtrkN4YeA2 bHidqGd2WLEV8bzMZVk6OEPxsXMaFJZRO+nQHL/YQ+PBcFtEYCYhIEp4nIbZ7G1mLvJQ uakC4WTZwJkX+/9dLLL5nHy8yORmz4Ed6DdEgUnO7bnl73eAQhkVygOOyd1spDz0MAPt 4D6g== X-Gm-Message-State: AOAM531oCsPy2BllJuMQh+Pif/kiy40ZtQ/cBeQ9bqokiN01GptcIFuh wM89xp/QvVOeGcmjqC5xCpYhVmg8G+FOQA== X-Google-Smtp-Source: ABdhPJyvLP7eupO7AEbzL9XLisq1xLND06MWcO64rYvqqPZqrPhVFv7Vz3aK3oROacoUJoRggrByOg== X-Received: by 2002:a05:600c:4114:: with SMTP id j20mr67014wmi.15.1612808654327; Mon, 08 Feb 2021 10:24:14 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:13 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 43/46] tz-ppc: add dummy read/write methods Date: Mon, 8 Feb 2021 19:23:28 +0100 Message-Id: <20210208182331.58897-44-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x32e.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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 , Li Qiang , Prasad J Pandit Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Prasad J Pandit Add tz-ppc-dummy mmio read/write methods to avoid assert failure during initialisation. Reviewed-by: Peter Maydell Signed-off-by: Prasad J Pandit Reviewed-by: Li Qiang Message-Id: <20200811114133.672647-8-ppandit@redhat.com> Signed-off-by: Paolo Bonzini --- hw/misc/tz-ppc.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/hw/misc/tz-ppc.c b/hw/misc/tz-ppc.c index 6431257b52..36495c68e7 100644 --- a/hw/misc/tz-ppc.c +++ b/hw/misc/tz-ppc.c @@ -196,7 +196,21 @@ static bool tz_ppc_dummy_accepts(void *opaque, hwaddr addr, g_assert_not_reached(); } +static uint64_t tz_ppc_dummy_read(void *opaque, hwaddr addr, unsigned size) +{ + g_assert_not_reached(); +} + +static void tz_ppc_dummy_write(void *opaque, hwaddr addr, + uint64_t data, unsigned size) +{ + g_assert_not_reached(); +} + static const MemoryRegionOps tz_ppc_dummy_ops = { + /* define r/w methods to avoid assert failure in memory_region_init_io */ + .read = tz_ppc_dummy_read, + .write = tz_ppc_dummy_write, .valid.accepts = tz_ppc_dummy_accepts, }; From patchwork Mon Feb 8 18:23:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076709 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7447AC433DB for ; Mon, 8 Feb 2021 22:58:15 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 025A264DB3 for ; Mon, 8 Feb 2021 22:58:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 025A264DB3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:40794 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FTy-0002kd-3l for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:58:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50998) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCw-0003rk-9y for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:22 -0500 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:39177) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCs-0006O2-9U for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:22 -0500 Received: by mail-wr1-x429.google.com with SMTP id h12so2108013wrw.6 for ; Mon, 08 Feb 2021 10:24:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ul/UnO7x1nzadqmN8qgUQpaE/S1LbDrvvhHbR/jK1VA=; b=cBkj8bGxqYantsBx7y9YbDoU0e/ZA/Jr1rLYAUNmYJzl3+MQZt7/LP2Oh8b3fpG23+ PxKPUHFUGwIFL+jhWIVAL6IUT/2tG8lB93O9y/UvjXdtrtEI2c4bTj7iIBNqxaWD9mZo DMDt6d0cIIPeAJcakYqVxkHYeDhpd+ORHG7+1JiXYu+zN+5oQtg9S7vFjGYfQ0SU8V1Q qQiIxO8L07njuoIjeD/bwp4gaYrFo8ahuHTGGygRj3Rm+8z24oTSkYFaTRzlrezaxsRu xn6ydJIjwznyPZVv4Q3YM5T1j6dApCgXPj+naRtGUgBCZw5FxtMqi11/iawasRW4OstL 425Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=ul/UnO7x1nzadqmN8qgUQpaE/S1LbDrvvhHbR/jK1VA=; b=N1Hc6QFyoReNx1W5LymnHCyx7TTX0NMeKC9qXiqUqmIJNLbhMB6NoBbDNIsEjpWjDQ z9xo/+qCQ9m4mVfekvE4JYBhxC+VoRDALPPho0tQ1BFyFLusTPG9FtYWeRL5KqUcEFVe Alg1USrfku371D9Iglxm5T7eNl9k+CM5ZzASNRzUAsGucqq5OfMbSDLzAiNPxwiFKWzt +G0QHU7JNrjFLBnOAZfUPKgBVvZixQL2+dMbTsxFsZQZA+gplb/kvxhxkxRNmHpTJi+i 8LJlzmm2OkEww2XLQ2Tkh/Tnv7LvULCqkqoD0g9wPtjEM47VQB4Cu089Yrjk16SjLuud eSww== X-Gm-Message-State: AOAM5303nZGu/wLgeigMK6BGk2OGYib5CAO0s7HNSHxwsTkzIAscjlAA HMCvXuFUmaFeYjuz7y2FsJmC20sRG3mveQ== X-Google-Smtp-Source: ABdhPJzJvOYKlCzhbED0+0xCQO+IWjaOn8ECbaLSidWBbs3SdG+5ConG7NUW6LOhBlDvgp5pALMLDw== X-Received: by 2002:a5d:6d0c:: with SMTP id e12mr20522152wrq.136.1612808655347; Mon, 08 Feb 2021 10:24:15 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:14 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 44/46] imx7-ccm: add digprog mmio write method Date: Mon, 8 Feb 2021 19:23:29 +0100 Message-Id: <20210208182331.58897-45-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x429.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Li Qiang , Prasad J Pandit Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Prasad J Pandit Add digprog mmio write method to avoid assert failure during initialisation. Reviewed-by: Li Qiang Signed-off-by: Prasad J Pandit Message-Id: <20200811114133.672647-9-ppandit@redhat.com> Signed-off-by: Paolo Bonzini --- hw/misc/imx7_ccm.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/misc/imx7_ccm.c b/hw/misc/imx7_ccm.c index 02fc1ae8d0..075159e497 100644 --- a/hw/misc/imx7_ccm.c +++ b/hw/misc/imx7_ccm.c @@ -131,8 +131,16 @@ static const struct MemoryRegionOps imx7_set_clr_tog_ops = { }, }; +static void imx7_digprog_write(void *opaque, hwaddr addr, + uint64_t data, unsigned size) +{ + qemu_log_mask(LOG_GUEST_ERROR, + "Guest write to read-only ANALOG_DIGPROG register\n"); +} + static const struct MemoryRegionOps imx7_digprog_ops = { .read = imx7_set_clr_tog_read, + .write = imx7_digprog_write, .endianness = DEVICE_NATIVE_ENDIAN, .impl = { .min_access_size = 4, From patchwork Mon Feb 8 18:23:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076659 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DEB84C433DB for ; Mon, 8 Feb 2021 22:43:54 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8FA8C64E8C for ; Mon, 8 Feb 2021 22:43:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8FA8C64E8C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:49412 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FG5-00086V-LO for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:43:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51006) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCw-0003rw-Es for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:22 -0500 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:40455) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCs-0006Og-Ae for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:22 -0500 Received: by mail-wm1-x333.google.com with SMTP id o24so43993wmh.5 for ; Mon, 08 Feb 2021 10:24:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zRe5TX+f+L3jUgrUwCLZinuCJxOTVhrSWj3PptppQT8=; b=TMcKqt0vxF11AbCa7nWxm3nsSkW+1Mck1XV/UYPwOwdC3sMWdUaiqrVu1K83ydTY9G 0NJy2f4AD9zYX218pxnjMwpsHho9dPWCHChnHQu1LAf2lGtj+GftT38F6uGi2jA92GKn VrSmQKiqdSlLYYgkwzJXUhmKmyKBTSMrlHC/X3dwJwvA8BRT0PJXSc/6UdJXTKY5Jj4I cWtwK/8MzzcrSCBa2gnarK0dIk8ShMW9/IcONfxRDkL0oGVuauqMgN8N891ZC4LTgOqc OIwGj8b18YVI2vE530TVeAuIbORfxnpeKzq3WYcFZncdKWy24rx+2sWqtp2yiLiDxbMX Yk3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=zRe5TX+f+L3jUgrUwCLZinuCJxOTVhrSWj3PptppQT8=; b=lt5MTk+2BR/38n+eq88Io/Mooiiezg/ktAKnay/vb3kQcelCuzBK0+JE/KUhwovLhY /b5NG8mjfSyZAST49sbzZVC0aDlUnsAn+PirXWGJCZwSx4wu6mJ4/BJ9JjNPCiUcvQz1 7kIfJK8+3n2Ngx0EKVlBQWdmEi1XDXV+mfapjWUqSX4Wj/WIqWYf4NbOXsWLshVXoe6G ZKcVRk9YFjYgaZbSztUBuc9iJluqs00orkTEoirR+e4lMr2fL8dj9pyOMefXD5h0m8YY XwKo/49g7HlRwXxZW7p16qEL+IHSve8KyfI7/xosMvgDRQZQYPCTjcQWh6wFKspgZbsZ jwcw== X-Gm-Message-State: AOAM5320i7dJmJLZ9NvT57uR1sy0XlOSvZkxf6QgsucrrRRv2MoNe1RY kepONEaQorTN9PwNis6ZlLLhSy72ci+WTQ== X-Google-Smtp-Source: ABdhPJwE9eP2oW51x0aQmeMLyArOAlkY2aJUx2OISNs5ltC6Iq5JejbzrhUvAadZ6gFLC6Qxr8rj1A== X-Received: by 2002:a7b:c451:: with SMTP id l17mr76341wmi.158.1612808656159; Mon, 08 Feb 2021 10:24:16 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:15 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 45/46] target/i386: Add support for save/load IA32_PKRS MSR Date: Mon, 8 Feb 2021 19:23:30 +0100 Message-Id: <20210208182331.58897-46-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x333.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Chenyi Qiang Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Chenyi Qiang PKS introduces MSR IA32_PKRS(0x6e1) to manage the supervisor protection key rights. Page access and writes can be managed via the MSR update without TLB flushes when permissions change. Add the support to save/load IA32_PKRS MSR in guest. Signed-off-by: Chenyi Qiang Message-Id: <20210205083325.13880-2-chenyi.qiang@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/kvm/kvm.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 4788139128..e97f841757 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -113,6 +113,7 @@ static bool has_msr_vmx_vmfunc; static bool has_msr_ucode_rev; static bool has_msr_vmx_procbased_ctls2; static bool has_msr_perf_capabs; +static bool has_msr_pkrs; static uint32_t has_architectural_pmu_version; static uint32_t num_architectural_pmu_gp_counters; @@ -2087,6 +2088,9 @@ static int kvm_get_supported_msrs(KVMState *s) case MSR_IA32_VMX_PROCBASED_CTLS2: has_msr_vmx_procbased_ctls2 = true; break; + case MSR_IA32_PKRS: + has_msr_pkrs = true; + break; } } } @@ -2814,6 +2818,9 @@ static int kvm_put_msrs(X86CPU *cpu, int level) if (has_msr_smi_count) { kvm_msr_entry_add(cpu, MSR_SMI_COUNT, env->msr_smi_count); } + if (has_msr_pkrs) { + kvm_msr_entry_add(cpu, MSR_IA32_PKRS, env->pkrs); + } if (has_msr_bndcfgs) { kvm_msr_entry_add(cpu, MSR_IA32_BNDCFGS, env->msr_bndcfgs); } @@ -3205,6 +3212,9 @@ static int kvm_get_msrs(X86CPU *cpu) if (has_msr_feature_control) { kvm_msr_entry_add(cpu, MSR_IA32_FEATURE_CONTROL, 0); } + if (has_msr_pkrs) { + kvm_msr_entry_add(cpu, MSR_IA32_PKRS, 0); + } if (has_msr_bndcfgs) { kvm_msr_entry_add(cpu, MSR_IA32_BNDCFGS, 0); } @@ -3475,6 +3485,9 @@ static int kvm_get_msrs(X86CPU *cpu) case MSR_IA32_UMWAIT_CONTROL: env->umwait = msrs[i].data; break; + case MSR_IA32_PKRS: + env->pkrs = msrs[i].data; + break; default: if (msrs[i].index >= MSR_MC0_CTL && msrs[i].index < MSR_MC0_CTL + (env->mcg_cap & 0xff) * 4) { From patchwork Mon Feb 8 18:23:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 12076637 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83E6DC433DB for ; Mon, 8 Feb 2021 22:40:13 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2DF8664EAC for ; Mon, 8 Feb 2021 22:40:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2DF8664EAC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:40566 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9FCW-0004Fi-BE for qemu-devel@archiver.kernel.org; Mon, 08 Feb 2021 17:40:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51004) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9BCw-0003rv-Dj for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:22 -0500 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:40939) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l9BCs-0006Op-Ct for qemu-devel@nongnu.org; Mon, 08 Feb 2021 13:24:22 -0500 Received: by mail-wr1-x430.google.com with SMTP id v14so2807878wro.7 for ; Mon, 08 Feb 2021 10:24:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HPHe7Vt+jCNPgmVLFMhvQHjgRggFRCcm+DPxxH2tOSs=; b=akffWxT0/TmOGPNPAuB/Ton5N/3lGdYCBuK3Lcys4M2ZTPsj+z4aiSZ7sOGareFIhn ubb0Xb7Ou3qlAxbiDQ6BQaUYQjMwjkHLMjIjj6zjkVaRFOoHZjs5LVWtGoPLQfcAbYbi xbrtWcAeg4VyOzJ+PGtK82K6wwZoA6+HyoaUd+Y1xqEz3TzymWq9nP6RvYTDBP4Sgqw6 U2matbRKL+pCuF1NXQdHUpgxk+FHNVBLEmW2KZkcfpBEXvvmzg4oNPFRIZsZe5t62eEl EiY25PuBrPObcVD+Ovs/QiwZNPa6R7ilZIknK63ST8xAO82lT7SZ+fUHpJyFV3qkh6iM 9k7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=HPHe7Vt+jCNPgmVLFMhvQHjgRggFRCcm+DPxxH2tOSs=; b=rYhc8mOG8hi0JiJiEOcVc8ZEdV7eReupNKj1vA9YQfijg55EOnr+2jl9Ws4XZAab5s nrfncFif0g0pFANxmxA1HPpVkh6smc44sqU2A4c4DctQ4UyCbOn7gc6tIVhh4j8VAlXL vbouD/cB6EAl6zCWSWlt+mBZPcAMAR2/VI3HEXX3cFFHM49RluKMudIW/kp/yaeDD766 e55sXsYDeka7zzbVZtB751uGS46s+HEEy3HlYJ/jSZYZYooyj3n8XTYrClhEAQqk7syN PEflWh3onZA4QcIIZ1Jt5dGFtDaZlABpIajUiZ5W4+KhMmSf31uYecJLev5su/baQzqQ wmcA== X-Gm-Message-State: AOAM5316QU1MJtQtWJ8a6hEOhMVdt3hbWW5Y3JGqNw22rSlrEolrxv+2 AOn4Sxw2S5Bx+aU7ModZjDG/8j95ndo1VQ== X-Google-Smtp-Source: ABdhPJxHPaSD9u2qt5goF6fUTxd181xom5QCnkOfDUAJYWjFQWa1bKE/gmLdCJS1vUjWCNv681rvgA== X-Received: by 2002:a5d:5185:: with SMTP id k5mr21726709wrv.40.1612808657163; Mon, 08 Feb 2021 10:24:17 -0800 (PST) Received: from avogadro.redhat.com ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x22sm19670wmc.25.2021.02.08.10.24.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Feb 2021 10:24:16 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 46/46] target/i386: Expose VMX entry/exit load pkrs control bits Date: Mon, 8 Feb 2021 19:23:31 +0100 Message-Id: <20210208182331.58897-47-pbonzini@redhat.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210208182331.58897-1-pbonzini@redhat.com> References: <20210208182331.58897-1-pbonzini@redhat.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x430.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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: Chenyi Qiang Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Chenyi Qiang Expose the VMX exit/entry load pkrs control bits in VMX_TRUE_EXIT_CTLS/VMX_TRUE_ENTRY_CTLS MSRs to guest, which supports the PKS in nested VM. Signed-off-by: Chenyi Qiang Message-Id: <20210205083325.13880-3-chenyi.qiang@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 4 ++-- target/i386/cpu.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 0b0d65c21c..9c3d2d60b7 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -1215,7 +1215,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = { "vmx-exit-save-efer", "vmx-exit-load-efer", "vmx-exit-save-preemption-timer", "vmx-exit-clear-bndcfgs", NULL, "vmx-exit-clear-rtit-ctl", NULL, NULL, - NULL, NULL, NULL, NULL, + NULL, "vmx-exit-load-pkrs", NULL, NULL, }, .msr = { .index = MSR_IA32_VMX_TRUE_EXIT_CTLS, @@ -1230,7 +1230,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = { NULL, "vmx-entry-ia32e-mode", NULL, NULL, NULL, "vmx-entry-load-perf-global-ctrl", "vmx-entry-load-pat", "vmx-entry-load-efer", "vmx-entry-load-bndcfgs", NULL, "vmx-entry-load-rtit-ctl", NULL, - NULL, NULL, NULL, NULL, + NULL, NULL, "vmx-entry-load-pkrs", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, diff --git a/target/i386/cpu.h b/target/i386/cpu.h index cc5a26f35b..8d599bb5b8 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -973,6 +973,7 @@ typedef uint64_t FeatureWordArray[FEATURE_WORDS]; #define VMX_VM_EXIT_CLEAR_BNDCFGS 0x00800000 #define VMX_VM_EXIT_PT_CONCEAL_PIP 0x01000000 #define VMX_VM_EXIT_CLEAR_IA32_RTIT_CTL 0x02000000 +#define VMX_VM_EXIT_LOAD_IA32_PKRS 0x20000000 #define VMX_VM_ENTRY_LOAD_DEBUG_CONTROLS 0x00000004 #define VMX_VM_ENTRY_IA32E_MODE 0x00000200 @@ -984,6 +985,7 @@ typedef uint64_t FeatureWordArray[FEATURE_WORDS]; #define VMX_VM_ENTRY_LOAD_BNDCFGS 0x00010000 #define VMX_VM_ENTRY_PT_CONCEAL_PIP 0x00020000 #define VMX_VM_ENTRY_LOAD_IA32_RTIT_CTL 0x00040000 +#define VMX_VM_ENTRY_LOAD_IA32_PKRS 0x00400000 /* Supported Hyper-V Enlightenments */ #define HYPERV_FEAT_RELAXED 0