From patchwork Fri May 17 15:02:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1936541 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=BTAOo7MV; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=patchwork.ozlabs.org) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VgqxT0J6Hz1yfq for ; Sat, 18 May 2024 01:04:29 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s7z6q-00051u-E6; Fri, 17 May 2024 11:03:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s7z6o-0004zo-H3 for qemu-devel@nongnu.org; Fri, 17 May 2024 11:02:58 -0400 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s7z6b-0005OP-FC for qemu-devel@nongnu.org; Fri, 17 May 2024 11:02:58 -0400 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-56e1f3462caso5177698a12.3 for ; Fri, 17 May 2024 08:02:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1715958160; x=1716562960; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=prOBORLrKnIubByGiemAya5YeM7dN+tEWn5fMLTmbm4=; b=BTAOo7MVw8FmgeeffQ5hpmckUijnZeFsyXxMTUxz6jIZ8+zys4Su+GL5AfLV7hWKRD MUrmybui38oMHeug1kb5PawjUPoNOghaZuvCxK1zG1wissDNrwydBIONp8VJg/AxElfG 3NWtypXutXR5oFzwGiXfntrBdTE/9pAff6/BhtLNz+zbD/sRRVmXh6UIClCDDFV4rfP8 Diup4kiMbGIw0Gvxv7hUeVWBGOUlOW8psl4JHWLLenB0IjhLzmj+HAVCfcDbNnP8q/aD YhJ2MeGlEY/lCe6jnQiN/auZyOghXEh3WEjo5AHilkT0Zzx1Lea6xH9T87QKVOvcRK/N CPvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715958160; x=1716562960; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=prOBORLrKnIubByGiemAya5YeM7dN+tEWn5fMLTmbm4=; b=n9d0uCzGDqJsvsglGSpWfVa0mVfgkvbhvcQplGyZ/XNCBEqtRezR/1u8LXETyKq1/C ssY+jGxzFYNaR4ABmZGab+6CRln/nt+QkZ2mWtDQxIEinW5sUftOFojwKejMaHw4eKEI TJBsZWEuI2K87HGHZXmcWTRhXxRl4rbuYti2UpXZCVsU02bQ+HPqrIU9vH7k1iZgbUJx bfZgyk7zbHchbUU2A6SJaajsKqXNixM7wkCZzb7h10eYVVRFj7w+1h44zWV2mhkn13n4 TL/n3PfU6VCm37KJetz25/TdvpbRbuQHK4CVY8OTAxrZB9yC45Bb+p6mAlrLcHVygyrF ynqA== X-Gm-Message-State: AOJu0YyZKSOSCH2YMjMcA2Gm3hG4h4voRuuSLJrwjrCxnRjiYas2HDqv lWOCqQi0ULclXjHb62lNcFRbTb1ak1S85fQiTWv1i0CPvBHAmimrJqf0kMzf1qBf7WxMR4e6uLu t X-Google-Smtp-Source: AGHT+IFWq5uucdNawk9X0TjU9HFvst4iiS3xx9YJtO5/wDWr0sbwoo05FOLa8VSiWC2IIXsB1plt2g== X-Received: by 2002:a50:d745:0:b0:572:4702:2227 with SMTP id 4fb4d7f45d1cf-5734d6de22dmr17150495a12.35.1715958160001; Fri, 17 May 2024 08:02:40 -0700 (PDT) Received: from localhost.localdomain ([149.14.240.163]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5733c322c61sm12370190a12.86.2024.05.17.08.02.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 17 May 2024 08:02:39 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Gerd Hoffmann , qemu-stable@nongnu.org, =?utf-8?q?Phi?= =?utf-8?q?lippe_Mathieu-Daud=C3=A9?= Subject: [PULL 2/5] hw/pflash: fix block write start Date: Fri, 17 May 2024 17:02:24 +0200 Message-ID: <20240517150227.32205-3-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240517150227.32205-1-philmd@linaro.org> References: <20240517150227.32205-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::531; envelope-from=philmd@linaro.org; helo=mail-ed1-x531.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Gerd Hoffmann Move the pflash_blk_write_start() call. We need the offset of the first data write, not the offset for the setup (number-of-bytes) write. Without this fix u-boot can do block writes to the first flash block only. While being at it drop a leftover FIXME. Cc: qemu-stable@nongnu.org Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2343 Fixes: 284a7ee2e290 ("hw/pflash: implement update buffer for block writes") Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daudé Message-ID: <20240516121237.534875-1-kraxel@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/block/pflash_cfi01.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/hw/block/pflash_cfi01.c b/hw/block/pflash_cfi01.c index 1bda8424b9..c8f1cf5a87 100644 --- a/hw/block/pflash_cfi01.c +++ b/hw/block/pflash_cfi01.c @@ -518,10 +518,6 @@ static void pflash_write(PFlashCFI01 *pfl, hwaddr offset, break; case 0xe8: /* Write to buffer */ trace_pflash_write(pfl->name, "write to buffer"); - /* FIXME should save @offset, @width for case 1+ */ - qemu_log_mask(LOG_UNIMP, - "%s: Write to buffer emulation is flawed\n", - __func__); pfl->status |= 0x80; /* Ready! */ break; case 0xf0: /* Probe for AMD flash */ @@ -574,7 +570,6 @@ static void pflash_write(PFlashCFI01 *pfl, hwaddr offset, } pfl->counter = value; pfl->wcycle++; - pflash_blk_write_start(pfl, offset); break; case 0x60: if (cmd == 0xd0) { @@ -605,6 +600,9 @@ static void pflash_write(PFlashCFI01 *pfl, hwaddr offset, switch (pfl->cmd) { case 0xe8: /* Block write */ /* FIXME check @offset, @width */ + if (pfl->blk_offset == -1 && pfl->counter) { + pflash_blk_write_start(pfl, offset); + } if (!pfl->ro && (pfl->blk_offset != -1)) { pflash_data_write(pfl, offset, value, width, be); } else { From patchwork Fri May 17 15:02:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1936539 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=kTIWomTF; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=patchwork.ozlabs.org) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Vgqww4bCDz1yfq for ; Sat, 18 May 2024 01:04:00 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s7z6n-0004zX-Vy; Fri, 17 May 2024 11:02:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s7z6i-0004v0-9E for qemu-devel@nongnu.org; Fri, 17 May 2024 11:02:52 -0400 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s7z6e-0005PC-Fx for qemu-devel@nongnu.org; Fri, 17 May 2024 11:02:52 -0400 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-571be483ccaso5021859a12.2 for ; Fri, 17 May 2024 08:02:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1715958165; x=1716562965; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uJ3hD+YdmDQmGtwZeHY/6goxziw8ZaiYrGA/9n+kedo=; b=kTIWomTFSVDAeqZv5BrLtF6wQFXQ1CVagceMxk1Uy1Dlqj3JAD7Em+RVlH1STxmQF9 WKGjTUBcTRK1xzdjJUu463kV7ANZ7mGa0VBs65DT18MtrvjBN9ZKg3Sp9YyDApniFfpt f/1dgQAK6w5D+39KHMxYv6p3o1UbuEj2kiSny6BfLNFa2qHT7daAhvFERm4ax054R8yo Q5gkbelNBvlb9s54JmYLfyodthRGm59jaRMrnXa7kEir4a9ixw6B3gd6XZoyWAUBb5T1 mLy/POKtSN6uHJG1NTj9uPMLVQ+zV8D0X56LUSiFQF2DWGyjjyKvrldy6kYijpseRqaE CMbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715958165; x=1716562965; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uJ3hD+YdmDQmGtwZeHY/6goxziw8ZaiYrGA/9n+kedo=; b=l2j6xNcs+MpYBbeWRt2iOKKEGeI42p/3vSvfjLxZrOvNL4XP19LZmmFg5AC4x6oU9c rKVhI8xTqUSPX7TENcUv/YgZWiJv2xVhR14oJnk3NuVrBNmqisdtpB2mUNoTfFRVIbWA DWyN5ZvCK3c6VjmodDI+f9T2Jd9LMu+0gmGNhJPu9D7BqbYA7VgLGGreyCyyHD4b5vlN L45RSS49b36wNNKyBrC6ilOqiwzY9iqmVpyP2dAXBTuQRlOhqlnzab/rpvhhTfjpM8RJ Mgh/5EEUh5ru6Q/wBRjvEwkq5ib6o8GNH5qlfLKcCK8fJidGsdx2BvO/BHWrsDWE166n Z2xA== X-Gm-Message-State: AOJu0Yx59CP4YQFaBO+43h0OJs/kcKk8w34kYjeg/lg9bsnl5Zm0Lq8i muvPh6Hf8Ng0tTOI/rdFUn91+qhA4ayMKQQQUgKCRUHD4HiUp0tP0CspFyaWcWO2j25D6J5hIFj a X-Google-Smtp-Source: AGHT+IHX69wbOE6sZ0wxuSw7YKHeWMhcHSmNaX2sVXyaHILec8XEA5+NZ8/vy1YS1wo9olRASNMXEw== X-Received: by 2002:a50:aa94:0:b0:572:a731:dd14 with SMTP id 4fb4d7f45d1cf-5734d6edacemr16342354a12.28.1715958165443; Fri, 17 May 2024 08:02:45 -0700 (PDT) Received: from localhost.localdomain ([149.14.240.163]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5733bebb6casm11959706a12.29.2024.05.17.08.02.44 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 17 May 2024 08:02:44 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Zhao Liu , =?utf-8?q?J=C3=A1n_Tomko?= , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PULL 3/5] hw/core: allow parameter=1 for SMP topology on any machine Date: Fri, 17 May 2024 17:02:25 +0200 Message-ID: <20240517150227.32205-4-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240517150227.32205-1-philmd@linaro.org> References: <20240517150227.32205-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::532; envelope-from=philmd@linaro.org; helo=mail-ed1-x532.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Daniel P. Berrangé This effectively reverts commit 54c4ea8f3ae614054079395842128a856a73dbf9 Author: Zhao Liu Date: Sat Mar 9 00:01:37 2024 +0800 hw/core/machine-smp: Deprecate unsupported "parameter=1" SMP configurations but is not done as a 'git revert' since the part of the changes to the file hw/core/machine-smp.c which add 'has_XXX' checks remain desirable. Furthermore, we have to tweak the subsequently added unit test to account for differing warning message. The rationale for the original deprecation was: "Currently, it was allowed for users to specify the unsupported topology parameter as "1". For example, x86 PC machine doesn't support drawer/book/cluster topology levels, but user could specify "-smp drawers=1,books=1,clusters=1". This is meaningless and confusing, so that the support for this kind of configurations is marked deprecated since 9.0." There are varying POVs on the topic of 'unsupported' topology levels. It is common to say that on a system without hyperthreading, that there is always 1 thread. Likewise when new CPUs introduced a concept of multiple "dies', it was reasonable to say that all historical CPUs before that implicitly had 1 'die'. Likewise for the more recently introduced 'modules' and 'clusters' parameter'. From this POV, it is valid to set 'parameter=1' on the -smp command line for any machine, only a value > 1 is strictly an error condition. It doesn't cause any functional difficulty for QEMU, because internally the QEMU code is itself assuming that all "unsupported" parameters implicitly have a value of '1'. At the libvirt level, we've allowed applications to set 'parameter=1' when configuring a guest, and pass that through to QEMU. Deprecating this creates extra difficulty for because there's no info exposed from QEMU about which machine types "support" which parameters. Thus, libvirt can't know whether it is valid to pass 'parameter=1' for a given machine type, or whether it will trigger deprecation messages. Since there's no apparent functional benefit to deleting this deprecated behaviour from QEMU, and it creates problems for consumers of QEMU, remove this deprecation. Signed-off-by: Daniel P. Berrangé Reviewed-by: Zhao Liu Reviewed-by: Ján Tomko Message-ID: <20240513123358.612355-2-berrange@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- hw/core/machine-smp.c | 84 ++++++++++++------------------------- tests/unit/test-smp-parse.c | 8 ++-- 2 files changed, 31 insertions(+), 61 deletions(-) diff --git a/hw/core/machine-smp.c b/hw/core/machine-smp.c index 2b93fa99c9..5d8d7edcbd 100644 --- a/hw/core/machine-smp.c +++ b/hw/core/machine-smp.c @@ -118,76 +118,46 @@ void machine_parse_smp_config(MachineState *ms, } /* - * If not supported by the machine, a topology parameter must be - * omitted. + * If not supported by the machine, a topology parameter must + * not be set to a value greater than 1. */ - if (!mc->smp_props.modules_supported && config->has_modules) { - if (config->modules > 1) { - error_setg(errp, "modules not supported by this " - "machine's CPU topology"); - return; - } else { - /* Here modules only equals 1 since we've checked zero case. */ - warn_report("Deprecated CPU topology (considered invalid): " - "Unsupported modules parameter mustn't be " - "specified as 1"); - } + if (!mc->smp_props.modules_supported && + config->has_modules && config->modules > 1) { + error_setg(errp, + "modules > 1 not supported by this machine's CPU topology"); + return; } modules = modules > 0 ? modules : 1; - if (!mc->smp_props.clusters_supported && config->has_clusters) { - if (config->clusters > 1) { - error_setg(errp, "clusters not supported by this " - "machine's CPU topology"); - return; - } else { - /* Here clusters only equals 1 since we've checked zero case. */ - warn_report("Deprecated CPU topology (considered invalid): " - "Unsupported clusters parameter mustn't be " - "specified as 1"); - } + if (!mc->smp_props.clusters_supported && + config->has_clusters && config->clusters > 1) { + error_setg(errp, + "clusters > 1 not supported by this machine's CPU topology"); + return; } clusters = clusters > 0 ? clusters : 1; - if (!mc->smp_props.dies_supported && config->has_dies) { - if (config->dies > 1) { - error_setg(errp, "dies not supported by this " - "machine's CPU topology"); - return; - } else { - /* Here dies only equals 1 since we've checked zero case. */ - warn_report("Deprecated CPU topology (considered invalid): " - "Unsupported dies parameter mustn't be " - "specified as 1"); - } + if (!mc->smp_props.dies_supported && + config->has_dies && config->dies > 1) { + error_setg(errp, + "dies > 1 not supported by this machine's CPU topology"); + return; } dies = dies > 0 ? dies : 1; - if (!mc->smp_props.books_supported && config->has_books) { - if (config->books > 1) { - error_setg(errp, "books not supported by this " - "machine's CPU topology"); - return; - } else { - /* Here books only equals 1 since we've checked zero case. */ - warn_report("Deprecated CPU topology (considered invalid): " - "Unsupported books parameter mustn't be " - "specified as 1"); - } + if (!mc->smp_props.books_supported && + config->has_books && config->books > 1) { + error_setg(errp, + "books > 1 not supported by this machine's CPU topology"); + return; } books = books > 0 ? books : 1; - if (!mc->smp_props.drawers_supported && config->has_drawers) { - if (config->drawers > 1) { - error_setg(errp, "drawers not supported by this " - "machine's CPU topology"); - return; - } else { - /* Here drawers only equals 1 since we've checked zero case. */ - warn_report("Deprecated CPU topology (considered invalid): " - "Unsupported drawers parameter mustn't be " - "specified as 1"); - } + if (!mc->smp_props.drawers_supported && + config->has_drawers && config->drawers > 1) { + error_setg(errp, + "drawers > 1 not supported by this machine's CPU topology"); + return; } drawers = drawers > 0 ? drawers : 1; diff --git a/tests/unit/test-smp-parse.c b/tests/unit/test-smp-parse.c index 8994337e12..56165e6644 100644 --- a/tests/unit/test-smp-parse.c +++ b/tests/unit/test-smp-parse.c @@ -337,21 +337,21 @@ static const struct SMPTestData data_generic_invalid[] = { { /* config: -smp 2,dies=2 */ .config = SMP_CONFIG_WITH_DIES(T, 2, F, 0, T, 2, F, 0, F, 0, F, 0), - .expect_error = "dies not supported by this machine's CPU topology", + .expect_error = "dies > 1 not supported by this machine's CPU topology", }, { /* config: -smp 2,clusters=2 */ .config = SMP_CONFIG_WITH_CLUSTERS(T, 2, F, 0, T, 2, F, 0, F, 0, F, 0), - .expect_error = "clusters not supported by this machine's CPU topology", + .expect_error = "clusters > 1 not supported by this machine's CPU topology", }, { /* config: -smp 2,books=2 */ .config = SMP_CONFIG_WITH_BOOKS_DRAWERS(T, 2, F, 0, T, 2, F, 0, F, 0, F, 0, F, 0), - .expect_error = "books not supported by this machine's CPU topology", + .expect_error = "books > 1 not supported by this machine's CPU topology", }, { /* config: -smp 2,drawers=2 */ .config = SMP_CONFIG_WITH_BOOKS_DRAWERS(T, 2, T, 2, F, 0, F, 0, F, 0, F, 0, F, 0), - .expect_error = "drawers not supported by this machine's CPU topology", + .expect_error = "drawers > 1 not supported by this machine's CPU topology", }, { /* config: -smp 8,sockets=2,cores=4,threads=2,maxcpus=8 */ .config = SMP_CONFIG_GENERIC(T, 8, T, 2, T, 4, T, 2, T, 8), From patchwork Fri May 17 15:02:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1936542 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=gc2u0LsB; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=patchwork.ozlabs.org) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VgqxX1TLjz1yfq for ; Sat, 18 May 2024 01:04:32 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s7z6y-0005AY-Ap; Fri, 17 May 2024 11:03:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s7z6u-00057i-CZ for qemu-devel@nongnu.org; Fri, 17 May 2024 11:03:04 -0400 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s7z6i-0005Pp-AS for qemu-devel@nongnu.org; Fri, 17 May 2024 11:03:03 -0400 Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-a5a8cd78701so491995166b.2 for ; Fri, 17 May 2024 08:02:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1715958170; x=1716562970; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RFJQ8eXrLcyhgXUkRkABC/U14von2QfsgkjKz+WC79c=; b=gc2u0LsB9ul/DHWRO66ULOf7EZmlomg+FoaGtZ/jClqsnh28N8tGgG6XogugqCB1Y0 iIK9SevZDGiWz3fdfW7WodfHl5pMa1LofoxFddt7Gh9oFX5+8Xduhs9vPIJUVGmvXrDp oNc09P8Vn21Y1m6AuFzGX9YT9rdlkLxIqM4RMMIInNNAC3VPEZE7GZWtnuyCOqWTUxwZ OghH9utl2D5y1DH/NQTBZZ7si6Ijk0VdX4ydOxfx5O9nv+JmWoNuONvCGr2QJ7nfEWCR h798O2S7ZljGkEGNkRRu1pW7oz5dyxHbJOPm4s6IRCCbGxGBtu3EU6Rzwat95OsXABWg KEkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715958170; x=1716562970; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RFJQ8eXrLcyhgXUkRkABC/U14von2QfsgkjKz+WC79c=; b=HEeJ3Pcp6fknE7SJoRKrUhI0ahY9SgXWTbaOGqixvZIvrplntuKFBQ55KGHnO15UEV j2Rj3EMqWyfdzgr20/Nmzr7S6Lsl3dGqg2vQFgviYKe44nyh/hkM3DTIDb8gGG+hUdGe T0q2d9S8BSsmWRBYMOO8znLThzeexakppXCRkOmdry+LjVdQsHu3KeSD4EjSgCAJPWXM 1nuyu9tLpA00TcmiP2QuaY/WjKWCo5vhCwcbd/KI3f9KrTAwWcaDheKttRZDsufEimIu tZxJJCu8mI9Q9I+pqZpKePeB+M9xWJq0sFcTxMM0/d0WqjI6nF4z7oxU1/TslCPVOuvS WTzA== X-Gm-Message-State: AOJu0YwdJjeRZTDQzlJCQLJH+zq2kjKzSoFbZo852SjsapmtuWkdyzg2 Lnk7s1pTqcyKAZVriLOjlBFdS6TdyZVFvDw+rmSqy8Je5fa/8sawTvhFFSs1HqQPcniM6z3Pezw 4 X-Google-Smtp-Source: AGHT+IFKrBMiYG7qlmBVaN5Hd2LIoLCh4V9QNWcZaoNDQcJfBWAU2doIOGLPdYHpQiynO6lK7trE/g== X-Received: by 2002:a17:906:3a8d:b0:a59:be8a:bd6f with SMTP id a640c23a62f3a-a5a2d65f272mr1374782466b.61.1715958170359; Fri, 17 May 2024 08:02:50 -0700 (PDT) Received: from localhost.localdomain ([149.14.240.163]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a5a17b17886sm1130572866b.210.2024.05.17.08.02.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 17 May 2024 08:02:49 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Zhao Liu , =?utf-8?q?J=C3=A1n_Tomko?= , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PULL 4/5] tests: add testing of parameter=1 for SMP topology Date: Fri, 17 May 2024 17:02:26 +0200 Message-ID: <20240517150227.32205-5-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240517150227.32205-1-philmd@linaro.org> References: <20240517150227.32205-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::632; envelope-from=philmd@linaro.org; helo=mail-ej1-x632.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Daniel P. Berrangé Validate that it is possible to pass 'parameter=1' for any SMP topology parameter, since unsupported parameters are implicitly considered to always have a value of 1. Signed-off-by: Daniel P. Berrangé Reviewed-by: Zhao Liu Reviewed-by: Ján Tomko Message-ID: <20240513123358.612355-3-berrange@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- tests/unit/test-smp-parse.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/unit/test-smp-parse.c b/tests/unit/test-smp-parse.c index 56165e6644..9fdba24fce 100644 --- a/tests/unit/test-smp-parse.c +++ b/tests/unit/test-smp-parse.c @@ -330,6 +330,14 @@ static const struct SMPTestData data_generic_valid[] = { .config = SMP_CONFIG_GENERIC(T, 8, T, 2, T, 4, T, 2, T, 16), .expect_prefer_sockets = CPU_TOPOLOGY_GENERIC(8, 2, 4, 2, 16), .expect_prefer_cores = CPU_TOPOLOGY_GENERIC(8, 2, 4, 2, 16), + }, { + /* + * Unsupported parameters are always allowed to be set to '1' + * config: -smp 8,books=1,drawers=1,sockets=2,modules=1,dies=1,cores=2,threads=2,maxcpus=8 + * expect: cpus=8,sockets=2,cores=2,threads=2,maxcpus=8 */ + .config = SMP_CONFIG_WITH_FULL_TOPO(8, 1, 1, 2, 1, 1, 2, 2, 8), + .expect_prefer_sockets = CPU_TOPOLOGY_GENERIC(8, 2, 2, 2, 8), + .expect_prefer_cores = CPU_TOPOLOGY_GENERIC(8, 2, 2, 2, 8), }, }; From patchwork Fri May 17 15:02:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1936540 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=fEqAGDOJ; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=patchwork.ozlabs.org) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VgqxL57XJz1yfq for ; Sat, 18 May 2024 01:04:21 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s7z6q-00051a-9F; Fri, 17 May 2024 11:03:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s7z6o-0004zq-RV for qemu-devel@nongnu.org; Fri, 17 May 2024 11:02:58 -0400 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s7z6n-0005QV-8n for qemu-devel@nongnu.org; Fri, 17 May 2024 11:02:58 -0400 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-a59e4136010so514879566b.3 for ; Fri, 17 May 2024 08:02:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1715958175; x=1716562975; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CZ4R0GpwuiTGFZYxz5B+fpMVNyC6MJRh/IKnd5gDIFo=; b=fEqAGDOJK1oItUQ4vhKuDvBvDFXISaGMwkUtHoUqXBih+NB0f56QPJqjcJbnXfXqf8 iENDaUdQX5HmbT0dJVc+tDvELlCWyQWfdl6YM/TlC6Vcuf8FmrnhPR6sfaZNl7tuQMWR PZnu6jDnnWnd34Qzdt0Efrljz3eqCqNmCXqLKBxJsAtJoN53+GSx4FMAiXryxYtQEOEl ZymReNmfbuKfpQQuFWeL2d00zm9lCaJ6qOph0AkbRyojd3x+wKAaoxsV/ljFU09HSp8v xlkeVP/FrqXVO3mgQcelste2cYC2q4+/PjvfQznHOUoUz8+Bvt4GhYawXQ+BBBSGMFGR F+Rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715958175; x=1716562975; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CZ4R0GpwuiTGFZYxz5B+fpMVNyC6MJRh/IKnd5gDIFo=; b=vNcIFvSlwneF2mU9YBwRhdRmaipNivuPL2W9o6vyqqw+TwOvvsrh8/t7aUnAky2Kxw wOU6AxNcbLShQgoqDL8zJRbCDVgvWewL6tEq049C8NX9u7XR7NkbJQ2KKJpuftGk9L3o QB2afaGmQfB9MBGw7g5nUsrKboJP1VNB0M7mek7wtIASGuzWNbwxM6DDIUVyCymh04jh ABz03fUp+pJQjN9k066jNZ81jEYaTWF/9tFZhbdPzUy2AhFu+Risp8A8iWoV2cygmi6K VOonY9IyRDVe+lxMzaGsqyNdcx9xKpob84msSYPOI85Vf65vvHTxZNva+DJcNoxb2Vj6 1JsA== X-Gm-Message-State: AOJu0YzED+PuuuscOy3UAGUEP2B3GSmez5cMLzbuHxRZXuJqEDPXcDwt fZYS9DTc0eEtZvx3TkJuwJbx8Sm7INv2IK4H4KsAub/MKjMZbIpv5u6kZ3GhkJAzOLEvNrxKnyf z X-Google-Smtp-Source: AGHT+IEz6WJMxkjCXNa6qWDT45T1aglS3vG7MFpY3J0WFh4yiwBDHHaNg0UcXhG14MRFBX4EASYSGQ== X-Received: by 2002:a17:906:15cd:b0:a59:c9ce:3386 with SMTP id a640c23a62f3a-a5a2d5cb0c1mr1344291466b.33.1715958175249; Fri, 17 May 2024 08:02:55 -0700 (PDT) Received: from localhost.localdomain ([149.14.240.163]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a5a17b17555sm1120578666b.189.2024.05.17.08.02.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 17 May 2024 08:02:54 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Gustavo Romero , =?utf-8?q?Philippe_Mathieu-D?= =?utf-8?q?aud=C3=A9?= Subject: [PULL 5/5] tests: Gently exit from GDB when tests complete Date: Fri, 17 May 2024 17:02:27 +0200 Message-ID: <20240517150227.32205-6-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240517150227.32205-1-philmd@linaro.org> References: <20240517150227.32205-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62b; envelope-from=philmd@linaro.org; helo=mail-ej1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Gustavo Romero GDB commit a207f6b3a38 ('Rewrite "python" command exception handling') changed how exit() called from Python scripts loaded by GDB behave, turning it into an exception instead of a generic error code that is returned. This change caused several QEMU tests to crash with the following exception: Python Exception : 0 Error occurred in Python: 0 This happens because in tests/guest-debug/test_gdbstub.py exit is called after the tests have completed. This commit fixes it by politely asking GDB to exit via gdb.execute, passing the proper fail_count to be reported to 'make', instead of abruptly calling exit() from the Python script. Signed-off-by: Gustavo Romero Reviewed-by: Philippe Mathieu-Daudé Message-ID: <20240515173132.2462201-4-gustavo.romero@linaro.org> Signed-off-by: Philippe Mathieu-Daudé --- tests/guest-debug/test_gdbstub.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/guest-debug/test_gdbstub.py b/tests/guest-debug/test_gdbstub.py index 7f71d34da1..46fbf98f0c 100644 --- a/tests/guest-debug/test_gdbstub.py +++ b/tests/guest-debug/test_gdbstub.py @@ -57,4 +57,4 @@ def main(test, expected_arch=None): pass print("All tests complete: {} failures".format(fail_count)) - exit(fail_count) + gdb.execute(f"exit {fail_count}")