From nobody Fri Dec 19 04:10:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1743517232; cv=none; d=zohomail.com; s=zohoarc; b=MqZyiLL/WPYOLcBcpM4Pl5DpVo3vZ6WgSZOk+d4ML1S4ruYhSal2hq2XwoGkYOB5gwUF4a8fBgCcACT9eD1j1fozbx+zLsp/3OkTeaFTCAtCGclH4yVUPe8qO2WndobAxa6v4sFUTrlZjq2b2ejZr3aJ4FHEa4Vy9cEtJKadcxw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743517232; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=V+ABrKfm/rYFZh07EREo75/DEQTswgSkd0DOb9POvlE=; b=fEkoYSfR3V08wzcPiu+aoZUNpNO7KJaA+COJcmJsUTeG5SEKFa4KsXftr1NYXi2yKEWpTGLLPVAUy1GE5JOtYFtU2ubnkod273VcXlD+ub6Nk944UnfNIhR/J1oIDu/yHnChkCr/M+RUxJH/B4N7rfO0WqCx5an9y2mYJQ1FoK8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743517232229406.5795258535743; Tue, 1 Apr 2025 07:20:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tzcC9-0000FH-37; Tue, 01 Apr 2025 10:02:25 -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 1tzcBv-00080Z-3x for qemu-devel@nongnu.org; Tue, 01 Apr 2025 10:02:15 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tzcBp-0000OS-39 for qemu-devel@nongnu.org; Tue, 01 Apr 2025 10:02:10 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-227b828de00so96340205ad.1 for ; Tue, 01 Apr 2025 07:02:03 -0700 (PDT) Received: from wheely.local0.net ([203.185.207.94]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2291f1f5774sm87768455ad.214.2025.04.01.07.02.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Apr 2025 07:02:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743516122; x=1744120922; 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=V+ABrKfm/rYFZh07EREo75/DEQTswgSkd0DOb9POvlE=; b=RIPMp09vQlGnvvfXco+TZSAfoQ/gPOTOsyduZUoGogUPFelikBwWJycD0Q+KNQIAFP HFO1okNlPc/cIm2WtnUQrj76hk2DDWmzBIr7urlAfbm5jbrgd3JqU+8ZRyudhoU4b/2l EoECersGKimTZDCG6big7q3WIE45on3LPDUywX9xykcozQcxxyT3Wflz9ojBXjGou1JQ xbYuu0xyg8Z+8g2/V2Yiq3O9Coqxm3jH5uaOAKv6usoTQjyBfcywRVL1x/+pL37EKPF7 A5vwb1eueICUeGioc78O6SKfkqGpRh/N8WexuB0OkCu+6c7tDnMktXXVF1s7xvh+03kT xPgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743516122; x=1744120922; 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=V+ABrKfm/rYFZh07EREo75/DEQTswgSkd0DOb9POvlE=; b=rR74wHB5ipmfN2vcbGqH4RGVB04yfajfqrbhvMdzXiI2fenBta3SNwU+9IGek9oKFo t+foHH1HuqkRcJZ4A5+vsz+Vq3IzFeLBC9OhR7r502mF0SMhYwf5OH25cOy/2CK3PaWB 1gBzn7H/cIzHX5737LITrZU05YrehYAEeVezq8ivU5GGUNjlxkFy5QAiDludpoI79NG5 Yq4sxM+hMhlGyqMfEQ9V/1NOBgyDSqPw4AEefe9T+OdEK4IIlqMPBka3HXRj+2zZFspB uHFFFXdwMItPYIFC0iek5dVZJYPGTbbiJ1AeOBba8/ifkEdKvSb929fFbaf1u9goMaEN VJ0Q== X-Forwarded-Encrypted: i=1; AJvYcCUMJmtx60GbDQ96eM8Q3EqpQamiZXicdPAnns6da8FhoVeUmQs7N+mDsJT21JLkd4RY7ApRGiUkaCmz@nongnu.org X-Gm-Message-State: AOJu0YyqUYQLjTV0p9ib/sVIoH+OvVQ7bF8FUi5YQxraKfZ4DPaaacvQ RdWeCkZmlMgLg5r7gZ0LSLdjkiScB3eenkoNwILw9/6SvtyOW8XK X-Gm-Gg: ASbGncu2hxo4E1fQLaFdYdofBKPlu0HPIfd1+NX9mJPEJMx6T7zV/stSpdeK3qNRefy oLyeu+libt3DDPaaRDkYeA85Ysf62EV3wlIq+/RhMTdi1H8mhpErL4z5s6HpsXC7W07QCIkqIk/ qUYc36WXzFa7gRztaRXKrCtlLb7oMrZlfSvAF08xl0u2hZmHIvVB+6+KFxY2m7Ws6IR7tHJ2olC DoNTSpaNaKQFrFOuh2NUlv25mEBporUy+8AtsAZ8R/JRcSFEn3ZCatd2fMTYE4WCUXlUOp7QVjf Pfe1uiWauvzZ6kUboO8GJ0MFU0a1CYGZWa+UzRiZPlFmSV5SQA== X-Google-Smtp-Source: AGHT+IEiixtcvUdMi1HkfFhjN04uuYA1SULV7plH8XQ3+lFWSjAUalOKxyt2f9Imh9mYYit4HNIz+g== X-Received: by 2002:a17:902:ce0b:b0:220:ff3f:6cc0 with SMTP id d9443c01a7336-2292f9e62d6mr243273175ad.38.1743516122524; Tue, 01 Apr 2025 07:02:02 -0700 (PDT) From: Nicholas Piggin To: Corey Minyard Cc: Nicholas Piggin , qemu-devel@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 1/5] ipmi/pci-ipmi-bt: Rename copy-paste variables Date: Wed, 2 Apr 2025 00:01:48 +1000 Message-ID: <20250401140153.685523-2-npiggin@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250401140153.685523-1-npiggin@gmail.com> References: <20250401140153.685523-1-npiggin@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=npiggin@gmail.com; helo=mail-pl1-x62e.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, FREEMAIL_FROM=0.001, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1743517233893019100 IPMI drivers use p/k suffix in variable names depending on bt or kcs. The pci bt driver must have come from the kcs driver because it's still using k suffixes in some cases. Rename. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Nicholas Piggin Acked-by: Corey Minyard --- hw/ipmi/pci_ipmi_bt.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/hw/ipmi/pci_ipmi_bt.c b/hw/ipmi/pci_ipmi_bt.c index afeea6f3031..a3b742d22c9 100644 --- a/hw/ipmi/pci_ipmi_bt.c +++ b/hw/ipmi/pci_ipmi_bt.c @@ -38,49 +38,49 @@ struct PCIIPMIBTDevice { uint32_t uuid; }; =20 -static void pci_ipmi_raise_irq(IPMIBT *ik) +static void pci_ipmi_raise_irq(IPMIBT *ib) { - PCIIPMIBTDevice *pik =3D ik->opaque; + PCIIPMIBTDevice *pib =3D ib->opaque; =20 - pci_set_irq(&pik->dev, true); + pci_set_irq(&pib->dev, true); } =20 -static void pci_ipmi_lower_irq(IPMIBT *ik) +static void pci_ipmi_lower_irq(IPMIBT *ib) { - PCIIPMIBTDevice *pik =3D ik->opaque; + PCIIPMIBTDevice *pib =3D ib->opaque; =20 - pci_set_irq(&pik->dev, false); + pci_set_irq(&pib->dev, false); } =20 static void pci_ipmi_bt_realize(PCIDevice *pd, Error **errp) { Error *err =3D NULL; - PCIIPMIBTDevice *pik =3D PCI_IPMI_BT(pd); + PCIIPMIBTDevice *pib =3D PCI_IPMI_BT(pd); IPMIInterface *ii =3D IPMI_INTERFACE(pd); IPMIInterfaceClass *iic =3D IPMI_INTERFACE_GET_CLASS(ii); =20 - if (!pik->bt.bmc) { + if (!pib->bt.bmc) { error_setg(errp, "IPMI device requires a bmc attribute to be set"); return; } =20 - pik->uuid =3D ipmi_next_uuid(); + pib->uuid =3D ipmi_next_uuid(); =20 - pik->bt.bmc->intf =3D ii; - pik->bt.opaque =3D pik; + pib->bt.bmc->intf =3D ii; + pib->bt.opaque =3D pib; =20 pci_config_set_prog_interface(pd->config, 0x02); /* BT */ pci_config_set_interrupt_pin(pd->config, 0x01); - pik->bt.use_irq =3D 1; - pik->bt.raise_irq =3D pci_ipmi_raise_irq; - pik->bt.lower_irq =3D pci_ipmi_lower_irq; + pib->bt.use_irq =3D 1; + pib->bt.raise_irq =3D pci_ipmi_raise_irq; + pib->bt.lower_irq =3D pci_ipmi_lower_irq; =20 iic->init(ii, 8, &err); if (err) { error_propagate(errp, err); return; } - pci_register_bar(pd, 0, PCI_BASE_ADDRESS_SPACE_IO, &pik->bt.io); + pci_register_bar(pd, 0, PCI_BASE_ADDRESS_SPACE_IO, &pib->bt.io); } =20 const VMStateDescription vmstate_PCIIPMIBTDevice =3D { @@ -96,16 +96,16 @@ const VMStateDescription vmstate_PCIIPMIBTDevice =3D { =20 static void pci_ipmi_bt_instance_init(Object *obj) { - PCIIPMIBTDevice *pik =3D PCI_IPMI_BT(obj); + PCIIPMIBTDevice *pib =3D PCI_IPMI_BT(obj); =20 - ipmi_bmc_find_and_link(obj, (Object **) &pik->bt.bmc); + ipmi_bmc_find_and_link(obj, (Object **) &pib->bt.bmc); } =20 static void *pci_ipmi_bt_get_backend_data(IPMIInterface *ii) { - PCIIPMIBTDevice *pik =3D PCI_IPMI_BT(ii); + PCIIPMIBTDevice *pib =3D PCI_IPMI_BT(ii); =20 - return &pik->bt; + return &pib->bt; } =20 static void pci_ipmi_bt_class_init(ObjectClass *oc, void *data) --=20 2.47.1 From nobody Fri Dec 19 04:10:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1743517089; cv=none; d=zohomail.com; s=zohoarc; b=amgTQrDR3WXvZaDJv0PexIkynRvxxjoUsREdflZVnJgspdPa0p2uunvSQUZFGXlPwbSJ040l4Okdmj3qEAhoypJ9Q5Dc+BM5x1POqoQNfdsoOZMUgrtufbua7p9HtyzQjkGMEuvwhTvQRN8wC4O8nIUK+wCgJ05WbBjwbgzKyC0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743517089; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=TVKM3029lMeTcWku9SWqhpQOq5EOsKo0n1lE7JWTaOQ=; b=gRvZvSz552ltA39AzK0nsv96PXmPAHL0cN4TQxVFIEUTk8S5/3K8dK0aJgUCPj2BPqcXjuto/pAgYXg20/SgSoy8fDuelu2rhM8cunPUJYIPrUgrBBPODdOE+edFRIIKkFYR9c0W4fsYwDiyCw4ke7uDbAYKHiaeshe+DPwdaYE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743517089367992.53491176873; Tue, 1 Apr 2025 07:18:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tzcC7-00009M-TX; Tue, 01 Apr 2025 10:02:24 -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 1tzcBt-000801-QO for qemu-devel@nongnu.org; Tue, 01 Apr 2025 10:02:13 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tzcBq-0000Op-Sv for qemu-devel@nongnu.org; Tue, 01 Apr 2025 10:02:08 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-2260c915749so77006985ad.3 for ; Tue, 01 Apr 2025 07:02:06 -0700 (PDT) Received: from wheely.local0.net ([203.185.207.94]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2291f1f5774sm87768455ad.214.2025.04.01.07.02.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Apr 2025 07:02:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743516125; x=1744120925; 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=TVKM3029lMeTcWku9SWqhpQOq5EOsKo0n1lE7JWTaOQ=; b=G8jwHpQkG6dUS+Kr3ryUtBPJv8ml2dM+DzFyaWM65PRPCBca5mZu9VuTsru4YSdvIX PJatv02ZTCHqckpHBk/UnfIjWHIKBZuMlJNpaUtPq+sP/cypzpE/VZ1bTHO5kJ3mUlXu O+Yw5uNWhUjtm1vxx9SFAzysJyL2UoQTRJQalZLrzMkyeYtiGzj7BaWvoznQWcIKa0sV U+8Sxu9fcV5wHnSwJ/EXuFBEFwCHxshPSQbJRNiQBlwoZpj4zH0qZDv+ONEIO9cvQjqG Ne6171cNBfUddfRWcVUY7vfG4XhX9q6gcQ1SYf1upcGQAY2jOOUMjEoWrIY2CtPKv58d JuAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743516125; x=1744120925; 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=TVKM3029lMeTcWku9SWqhpQOq5EOsKo0n1lE7JWTaOQ=; b=QsWzqAwWYv+8r2OINENUiZqCty8kqo3+B0G3ci5Ba9aq2tWVjX/UzoYoOF7I2b+iIf 8+v/0ioxcI2pwQrgD7aBTvnm/Nd3mrlL3GY8VWE92ElpS8LdUyM3hkDpCSNiyLpwxmZV KUloOKIxvx/61Ec3jKPTNDQbbp1J3x8kJRpjAfDlQ4io4nC0wDJ1NU26bvwAEhhnbRYU Qd/ng+PGbWoKueadATB3EICYTP2ARgCLD8ITOrBSQKqB+HmauViDYJDYPZN9au8lPh0v 1H2p2iqzKaMtOmeWPKZVZx932q7JhoDIgl3gdtZNCkKrth66C1ysammTbb3ocvM+DwDW +m7Q== X-Forwarded-Encrypted: i=1; AJvYcCUEH6vbLch1F1QUwLc3JcX0HXCNoknrFZBulXsYcfLJHV2O0ynanosv7BhnP2DXmTp7jT0wNe5qmi9U@nongnu.org X-Gm-Message-State: AOJu0YyVtAuK7vljla4qHaIc0UTbstgcJfo+fbDp4wJJyBB8sm45gppX xLIJWMe6zXDd0iOHbSq93j8t7Piqn4sZQ9vbT4jjikRgZnoFgHXS2La0zw== X-Gm-Gg: ASbGncvv8RYbKy6lGQyrMeG0D3VUGqHBvaG8iLdi1hXIpQsmN3M8xYfvSux8PMBQ4dr JHvY9ab99AkZAOEYqWyO7ctnIX25t9bDIkGnFSFTS0tf5X9FU9RPPw1GZSwnQMD7k4zrWhqTD0w A+J6FN3N5FdGMBMqEk3VF0Fp9oRMkrPWOMircDNjpgb04tJfkAyMeb3p1lt3ou/pqo+9akizNa5 8Bs79SnPMdlEdNnaGxtPxp/Y1hZr+teTN2grcEjxr7BRO4O5JHhvbfsyeNNjh6baHIhCzFyBGh8 2rPuGdiHUU6ICzGb0Er30CSSh9Aq6Fqy8CFdl9oK2+dYh7xB5g== X-Google-Smtp-Source: AGHT+IFYlCwYRaT6oTo903I6HHFJBFZ9/Dp4yHbL8L5s3Dn0GiHFu/NgLGr6VQrUhtQLb8+GkBsGlw== X-Received: by 2002:a17:903:1b27:b0:224:78e:4eb4 with SMTP id d9443c01a7336-2292f9f0a70mr190854285ad.39.1743516125554; Tue, 01 Apr 2025 07:02:05 -0700 (PDT) From: Nicholas Piggin To: Corey Minyard Cc: Nicholas Piggin , qemu-devel@nongnu.org Subject: [PATCH v3 2/5] ipmi: add fwinfo to pci ipmi devices Date: Wed, 2 Apr 2025 00:01:49 +1000 Message-ID: <20250401140153.685523-3-npiggin@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250401140153.685523-1-npiggin@gmail.com> References: <20250401140153.685523-1-npiggin@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::634; envelope-from=npiggin@gmail.com; helo=mail-pl1-x634.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, FREEMAIL_FROM=0.001, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1743517091941019000 Content-Type: text/plain; charset="utf-8" This requires some adjustments to callers to avoid possible behaviour changes for PCI devices. Signed-off-by: Nicholas Piggin Acked-by: Corey Minyard Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/ipmi/ipmi.h | 5 +++++ hw/acpi/ipmi.c | 3 ++- hw/ipmi/isa_ipmi_bt.c | 1 + hw/ipmi/isa_ipmi_kcs.c | 1 + hw/ipmi/pci_ipmi_bt.c | 12 ++++++++++++ hw/ipmi/pci_ipmi_kcs.c | 11 +++++++++++ hw/smbios/smbios_type_38.c | 7 ++++++- 7 files changed, 38 insertions(+), 2 deletions(-) diff --git a/include/hw/ipmi/ipmi.h b/include/hw/ipmi/ipmi.h index 77a7213ed93..c8ef04856e1 100644 --- a/include/hw/ipmi/ipmi.h +++ b/include/hw/ipmi/ipmi.h @@ -90,6 +90,11 @@ typedef struct IPMIFwInfo { } memspace; =20 int interrupt_number; + enum { + IPMI_NO_IRQ =3D 0, + IPMI_ISA_IRQ, + IPMI_PCI_IRQ, + } irq_source; enum { IPMI_LEVEL_IRQ, IPMI_EDGE_IRQ diff --git a/hw/acpi/ipmi.c b/hw/acpi/ipmi.c index a20e57d465c..39f8f2f6d68 100644 --- a/hw/acpi/ipmi.c +++ b/hw/acpi/ipmi.c @@ -55,7 +55,8 @@ static Aml *aml_ipmi_crs(IPMIFwInfo *info) abort(); } =20 - if (info->interrupt_number) { + /* Should PCI interrupts also be appended? */ + if (info->irq_source =3D=3D IPMI_ISA_IRQ && info->interrupt_number) { aml_append(crs, aml_irq_no_flags(info->interrupt_number)); } =20 diff --git a/hw/ipmi/isa_ipmi_bt.c b/hw/ipmi/isa_ipmi_bt.c index a1b66d5ee82..4a6496b5980 100644 --- a/hw/ipmi/isa_ipmi_bt.c +++ b/hw/ipmi/isa_ipmi_bt.c @@ -49,6 +49,7 @@ static void isa_ipmi_bt_get_fwinfo(struct IPMIInterface *= ii, IPMIFwInfo *info) ISAIPMIBTDevice *iib =3D ISA_IPMI_BT(ii); =20 ipmi_bt_get_fwinfo(&iib->bt, info); + info->irq_source =3D IPMI_ISA_IRQ; info->interrupt_number =3D iib->isairq; info->i2c_slave_address =3D iib->bt.bmc->slave_addr; info->uuid =3D iib->uuid; diff --git a/hw/ipmi/isa_ipmi_kcs.c b/hw/ipmi/isa_ipmi_kcs.c index d9ebdd5371f..31d16aba74e 100644 --- a/hw/ipmi/isa_ipmi_kcs.c +++ b/hw/ipmi/isa_ipmi_kcs.c @@ -49,6 +49,7 @@ static void isa_ipmi_kcs_get_fwinfo(IPMIInterface *ii, IP= MIFwInfo *info) ISAIPMIKCSDevice *iik =3D ISA_IPMI_KCS(ii); =20 ipmi_kcs_get_fwinfo(&iik->kcs, info); + info->irq_source =3D IPMI_ISA_IRQ; info->interrupt_number =3D iik->isairq; info->uuid =3D iik->uuid; } diff --git a/hw/ipmi/pci_ipmi_bt.c b/hw/ipmi/pci_ipmi_bt.c index a3b742d22c9..7ba8b3ab965 100644 --- a/hw/ipmi/pci_ipmi_bt.c +++ b/hw/ipmi/pci_ipmi_bt.c @@ -38,6 +38,17 @@ struct PCIIPMIBTDevice { uint32_t uuid; }; =20 +static void pci_ipmi_bt_get_fwinfo(struct IPMIInterface *ii, IPMIFwInfo *i= nfo) +{ + PCIIPMIBTDevice *pib =3D PCI_IPMI_BT(ii); + + ipmi_bt_get_fwinfo(&pib->bt, info); + info->irq_source =3D IPMI_PCI_IRQ; + info->interrupt_number =3D pci_intx(&pib->dev); + info->i2c_slave_address =3D pib->bt.bmc->slave_addr; + info->uuid =3D pib->uuid; +} + static void pci_ipmi_raise_irq(IPMIBT *ib) { PCIIPMIBTDevice *pib =3D ib->opaque; @@ -125,6 +136,7 @@ static void pci_ipmi_bt_class_init(ObjectClass *oc, voi= d *data) =20 iic->get_backend_data =3D pci_ipmi_bt_get_backend_data; ipmi_bt_class_init(iic); + iic->get_fwinfo =3D pci_ipmi_bt_get_fwinfo; } =20 static const TypeInfo pci_ipmi_bt_info =3D { diff --git a/hw/ipmi/pci_ipmi_kcs.c b/hw/ipmi/pci_ipmi_kcs.c index 05ba97ec58f..c817f1e8808 100644 --- a/hw/ipmi/pci_ipmi_kcs.c +++ b/hw/ipmi/pci_ipmi_kcs.c @@ -38,6 +38,16 @@ struct PCIIPMIKCSDevice { uint32_t uuid; }; =20 +static void pci_ipmi_bt_get_fwinfo(struct IPMIInterface *ii, IPMIFwInfo *i= nfo) +{ + PCIIPMIKCSDevice *pik =3D PCI_IPMI_KCS(ii); + + ipmi_kcs_get_fwinfo(&pik->kcs, info); + info->irq_source =3D IPMI_PCI_IRQ; + info->interrupt_number =3D pci_intx(&pik->dev); + info->uuid =3D pik->uuid; +} + static void pci_ipmi_raise_irq(IPMIKCS *ik) { PCIIPMIKCSDevice *pik =3D ik->opaque; @@ -125,6 +135,7 @@ static void pci_ipmi_kcs_class_init(ObjectClass *oc, vo= id *data) =20 iic->get_backend_data =3D pci_ipmi_kcs_get_backend_data; ipmi_kcs_class_init(iic); + iic->get_fwinfo =3D pci_ipmi_kcs_get_fwinfo; } =20 static const TypeInfo pci_ipmi_kcs_info =3D { diff --git a/hw/smbios/smbios_type_38.c b/hw/smbios/smbios_type_38.c index 168b886647d..e9b856fcd96 100644 --- a/hw/smbios/smbios_type_38.c +++ b/hw/smbios/smbios_type_38.c @@ -72,7 +72,12 @@ static void smbios_build_one_type_38(IPMIFwInfo *info) " SMBIOS, ignoring this entry.", info->register_spaci= ng); return; } - t->interrupt_number =3D info->interrupt_number; + if (info->irq_source =3D=3D IPMI_ISA_IRQ) { + t->interrupt_number =3D info->interrupt_number; + } else { + /* TODO: How to handle PCI? */ + t->interrupt_number =3D 0; + } =20 SMBIOS_BUILD_TABLE_POST; } --=20 2.47.1 From nobody Fri Dec 19 04:10:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1743521681; cv=none; d=zohomail.com; s=zohoarc; b=g4NqHY/+qQBBpiP7NqcDASO7w3ULXJrPe9uWEj/OLe+FPCFJxALIdeDFiN36C1Frfz/IsPXUCiObgCJKShKXsfPMtYTDmOzQUr1DhmDahKsRBZMMcoOy5Wv7ARaSqxH8aOB3zj3ls18cMhqH7neOsiC8aPLG5WmiQmMTFvmlY7s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743521681; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=W6rdKQAZN0wxZ5/2NXHFTrB7ljdm2MuzSFZ6lLJyE3g=; b=dZ7OXYtBPbrECtKkhk58XYhVO8EQOMtPSCob62pUBa2X1BdNx/WLsP7JM6G0KVuhjYcMMKk8lVmNrO6wPBW2DZPCFRYvi684/wgzYY3NctiXhw/gKY2bHaQmWdiENoCENywjkM3B/MSMEh0YL48Ckh+mubSEyyXkopHJ6bNtBWg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743521681431539.633414957333; Tue, 1 Apr 2025 08:34:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tzcCC-0000Tx-KP; Tue, 01 Apr 2025 10:02:28 -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 1tzcBx-00086A-0B for qemu-devel@nongnu.org; Tue, 01 Apr 2025 10:02:17 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tzcBu-0000PA-Kl for qemu-devel@nongnu.org; Tue, 01 Apr 2025 10:02:12 -0400 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-2255003f4c6so100011645ad.0 for ; Tue, 01 Apr 2025 07:02:09 -0700 (PDT) Received: from wheely.local0.net ([203.185.207.94]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2291f1f5774sm87768455ad.214.2025.04.01.07.02.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Apr 2025 07:02:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743516129; x=1744120929; 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=W6rdKQAZN0wxZ5/2NXHFTrB7ljdm2MuzSFZ6lLJyE3g=; b=k0ZWAv4txk05qNGewrEr4bN5FsjD3c52J2kdj8pkNEEL+wa2kLX4xY4NugaBcPaiJX wAfnJtzjs9gI5TxPl3GHnm1x++3GGQFtyaWQxBmCeYHRR5y0wKStPJE9LyMZwxK+Yi8c 94UV+TxIPQDEaTdSUcAslIR8OvvJ2cyV9k/klWWVR83OXbeUw9EzhKet/oWUWRewQyrr KOmmwek1W0tVy3uG2A6c/L0BzWjU+e+Xc2Qcloy6mEnDAiU28wa3aivvJYNdgo8j47uA YZrQ+4Q7dJIgd2gSayIw5HuIK3AWdeXu23i+N+Zg5ak3eRdeyZQWdgpO/Xv+sD/Ojmck hkkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743516129; x=1744120929; 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=W6rdKQAZN0wxZ5/2NXHFTrB7ljdm2MuzSFZ6lLJyE3g=; b=jOP5oIDpyyOdf9VquuLoDZ6hH3RB1PW12KtqX38ezIB6AbEhC964jCFrKWKnaHnUwu wdT36QuF9xB6DCWKNvAR+3k8XTHLxUCLwNb6W1jW+Sa6cfkzIo/kw87kACB/0Z8b6ADO evf/Ni6YTab/m8y9ULXnlphhgbCzihYQkrrUIa64l4SUjGC0XyWeCMBsnaiXS8AJFSpH YBSC9XiV7Q5/T4Iukj6FJYZ5hp6VaiQiRVS1Fwn2wJWZrUrTQqL/DXb/ZyZ8lS+16yPT oR4M3MCAgv6+4WxjYdlUXKrQvCSMj3cRgHyVD0JpMUmywlwcUKUiFLSKfLmvDxbwT7el 6yIA== X-Forwarded-Encrypted: i=1; AJvYcCXCOKnygNv/zF2rATuRmd2cAWoQSpMNeoAQkD9ioo/daxLn5ypBf+S79xLdaIhnd0C/4VL7PShlKLIw@nongnu.org X-Gm-Message-State: AOJu0Yy5NxwYSKEDrkbfs671DDU4SyMuwC7mxz3YP5va9NEBr7JtijHe gKyY4fZD+LOO7DE+fnayMQYA6yrr4Fgumxg8groU20Sfe1kHe7eNC4D2Ew== X-Gm-Gg: ASbGncsy32kkeb4fi/16fVhzG5P8tRbcf1bF4By47ZR/t9q+sHcpGBFyJ37UK1YVyux 8UYjtVqro03MNQglq9T9XIF7XjTMMZn9bX8Ns1BRhp78WOY4B0I4at7pilUVynRed2IMQU6EAqr uk5NYefWqhT9NqdI2bGu4C5Q6P8k48dgth7tTxAvvy7vXo73aLrvA37B3TGz7C6QiBc4nfoDmHV RS7LkpXo/pdMieE4EG2A7r2N6oQqbUERKTtW3/dB0qC/pl+M5JnUwsOMljrvrBdE2Ozysqb0E6e hnZZwv0oG7foOf7eAMTCqPkdtLgVI6QSiEvaECcCWoLkLsQPxQ== X-Google-Smtp-Source: AGHT+IFRa6shF12JvcB9hpcvKkrifYF+7FX+bGwnqiHefVx/f8VKOYyZFOjMDlin3cBTvwQk7lBnLg== X-Received: by 2002:a17:902:e54e:b0:21a:8300:b9ce with SMTP id d9443c01a7336-2295c12e596mr51753525ad.49.1743516128693; Tue, 01 Apr 2025 07:02:08 -0700 (PDT) From: Nicholas Piggin To: Corey Minyard Cc: Nicholas Piggin , qemu-devel@nongnu.org Subject: [PATCH v3 3/5] ipmi/bmc-sim: Add 'Get Channel Info' command Date: Wed, 2 Apr 2025 00:01:50 +1000 Message-ID: <20250401140153.685523-4-npiggin@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250401140153.685523-1-npiggin@gmail.com> References: <20250401140153.685523-1-npiggin@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::633; envelope-from=npiggin@gmail.com; helo=mail-pl1-x633.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, FREEMAIL_FROM=0.001, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1743521682283019000 Content-Type: text/plain; charset="utf-8" Linux issues this command when booting a powernv machine. Signed-off-by: Nicholas Piggin Acked-by: Corey Minyard --- include/hw/ipmi/ipmi.h | 10 +++++++ hw/ipmi/ipmi_bmc_sim.c | 68 ++++++++++++++++++++++++++++++++++++++++-- hw/ipmi/ipmi_bt.c | 2 ++ hw/ipmi/ipmi_kcs.c | 1 + 4 files changed, 79 insertions(+), 2 deletions(-) diff --git a/include/hw/ipmi/ipmi.h b/include/hw/ipmi/ipmi.h index c8ef04856e1..802a2febb07 100644 --- a/include/hw/ipmi/ipmi.h +++ b/include/hw/ipmi/ipmi.h @@ -41,6 +41,15 @@ enum ipmi_op { IPMI_SEND_NMI }; =20 +/* Channel properties */ +#define IPMI_CHANNEL_IPMB 0x00 +#define IPMI_CHANNEL_SYSTEM 0x0f +#define IPMI_CHANNEL_MEDIUM_IPMB 0x01 +#define IPMI_CHANNEL_MEDIUM_SYSTEM 0x0c +#define IPMI_CHANNEL_PROTOCOL_IPMB 0x01 +#define IPMI_CHANNEL_PROTOCOL_KCS 0x05 +#define IPMI_CHANNEL_PROTOCOL_BT_15 0x08 + #define IPMI_CC_INVALID_CMD 0xc1 #define IPMI_CC_COMMAND_INVALID_FOR_LUN 0xc2 #define IPMI_CC_TIMEOUT 0xc3 @@ -76,6 +85,7 @@ typedef struct IPMIFwInfo { int interface_type; uint8_t ipmi_spec_major_revision; uint8_t ipmi_spec_minor_revision; + uint8_t ipmi_channel_protocol; uint8_t i2c_slave_address; uint32_t uuid; =20 diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c index 6157ac71201..d63f2348ba1 100644 --- a/hw/ipmi/ipmi_bmc_sim.c +++ b/hw/ipmi/ipmi_bmc_sim.c @@ -70,6 +70,7 @@ #define IPMI_CMD_GET_MSG 0x33 #define IPMI_CMD_SEND_MSG 0x34 #define IPMI_CMD_READ_EVT_MSG_BUF 0x35 +#define IPMI_CMD_GET_CHANNEL_INFO 0x42 =20 #define IPMI_NETFN_STORAGE 0x0a =20 @@ -1020,8 +1021,8 @@ static void send_msg(IPMIBmcSim *ibs, uint8_t *buf; uint8_t netfn, rqLun, rsLun, rqSeq; =20 - if (cmd[2] !=3D 0) { - /* We only handle channel 0 with no options */ + if (cmd[2] !=3D IPMI_CHANNEL_IPMB) { + /* We only handle channel 0h (IPMB) with no options */ rsp_buffer_set_error(rsp, IPMI_CC_INVALID_DATA_FIELD); return; } @@ -1219,6 +1220,68 @@ static void get_watchdog_timer(IPMIBmcSim *ibs, } } =20 +static void get_channel_info(IPMIBmcSim *ibs, + uint8_t *cmd, unsigned int cmd_len, + RspBuffer *rsp) +{ + IPMIInterface *s =3D ibs->parent.intf; + IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + IPMIFwInfo info =3D {}; + uint8_t ch =3D cmd[2] & 0x0f; + + /* Only define channel 0h (IPMB) and Fh (system interface) */ + + if (ch =3D=3D 0x0e) { /* "This channel" */ + ch =3D IPMI_CHANNEL_SYSTEM; + } + rsp_buffer_push(rsp, ch); + + if (ch !=3D IPMI_CHANNEL_IPMB && ch !=3D IPMI_CHANNEL_SYSTEM) { + /* Not a supported channel */ + rsp_buffer_set_error(rsp, IPMI_CC_INVALID_DATA_FIELD); + return; + } + + if (k->get_fwinfo) { + k->get_fwinfo(s, &info); + } + + if (ch =3D=3D IPMI_CHANNEL_IPMB) { + rsp_buffer_push(rsp, IPMI_CHANNEL_MEDIUM_IPMB); + rsp_buffer_push(rsp, IPMI_CHANNEL_PROTOCOL_IPMB); + } else { /* IPMI_CHANNEL_SYSTEM */ + rsp_buffer_push(rsp, IPMI_CHANNEL_MEDIUM_SYSTEM); + rsp_buffer_push(rsp, info.ipmi_channel_protocol); + } + + rsp_buffer_push(rsp, 0x00); /* Session-less */ + + /* IPMI Enterprise Number for Vendor ID */ + rsp_buffer_push(rsp, 0xf2); + rsp_buffer_push(rsp, 0x1b); + rsp_buffer_push(rsp, 0x00); + + if (ch =3D=3D IPMI_CHANNEL_SYSTEM) { + uint8_t irq; + + if (info.irq_source =3D=3D IPMI_ISA_IRQ) { + irq =3D info.interrupt_number; + } else if (info.irq_source =3D=3D IPMI_PCI_IRQ) { + irq =3D 0x10 + info.interrupt_number; + } else { + irq =3D 0xff; /* no interrupt / unspecified */ + } + + /* Both interrupts use the same irq number */ + rsp_buffer_push(rsp, irq); + rsp_buffer_push(rsp, irq); + } else { + /* Reserved */ + rsp_buffer_push(rsp, 0x00); + rsp_buffer_push(rsp, 0x00); + } +} + static void get_sdr_rep_info(IPMIBmcSim *ibs, uint8_t *cmd, unsigned int cmd_len, RspBuffer *rsp) @@ -2015,6 +2078,7 @@ static const IPMICmdHandler app_cmds[] =3D { [IPMI_CMD_RESET_WATCHDOG_TIMER] =3D { reset_watchdog_timer }, [IPMI_CMD_SET_WATCHDOG_TIMER] =3D { set_watchdog_timer, 8 }, [IPMI_CMD_GET_WATCHDOG_TIMER] =3D { get_watchdog_timer }, + [IPMI_CMD_GET_CHANNEL_INFO] =3D { get_channel_info, 3 }, }; static const IPMINetfn app_netfn =3D { .cmd_nums =3D ARRAY_SIZE(app_cmds), diff --git a/hw/ipmi/ipmi_bt.c b/hw/ipmi/ipmi_bt.c index 583fc64730c..28cf6ab2185 100644 --- a/hw/ipmi/ipmi_bt.c +++ b/hw/ipmi/ipmi_bt.c @@ -419,6 +419,8 @@ void ipmi_bt_get_fwinfo(struct IPMIBT *ib, IPMIFwInfo *= info) info->interface_type =3D IPMI_SMBIOS_BT; info->ipmi_spec_major_revision =3D 2; info->ipmi_spec_minor_revision =3D 0; + /* BT System Interface Format, IPMI v1.5 */ + info->ipmi_channel_protocol =3D IPMI_CHANNEL_PROTOCOL_BT_15; info->base_address =3D ib->io_base; info->register_length =3D ib->io_length; info->register_spacing =3D 1; diff --git a/hw/ipmi/ipmi_kcs.c b/hw/ipmi/ipmi_kcs.c index c15977cab4c..578dd7cef34 100644 --- a/hw/ipmi/ipmi_kcs.c +++ b/hw/ipmi/ipmi_kcs.c @@ -405,6 +405,7 @@ void ipmi_kcs_get_fwinfo(IPMIKCS *ik, IPMIFwInfo *info) info->interface_type =3D IPMI_SMBIOS_KCS; info->ipmi_spec_major_revision =3D 2; info->ipmi_spec_minor_revision =3D 0; + info->ipmi_channel_protocol =3D IPMI_CHANNEL_PROTOCOL_KCS; info->base_address =3D ik->io_base; info->i2c_slave_address =3D ik->bmc->slave_addr; info->register_length =3D ik->io_length; --=20 2.47.1 From nobody Fri Dec 19 04:10:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1743520184; cv=none; d=zohomail.com; s=zohoarc; b=P9V14u84jgDcnqHyYrcIQ3M9WNLCvk1HQzqPEKbW3qZcrK47T6p41zUKOHUKn0lzPwaLA2SCa07PNsLCwU1z11sFrUAQiH9/rSOs22OQBBErcWIvQoPWQwsOmtFIZJhotPOfaQ+FinOS9HOFCEd1ajrOQjxMi/JBGBcHqefFQcw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743520184; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ihqA4DvgePcDCt5G9mq9Uv5qfifhS22jJcEgx0LAJgM=; b=h1pelKI9P6bz3RceMQmet7yaDhUKbsGln/kgCs6vaHqBM1ll3XnlNhyGzjIDjyUfx8n+eYgnxDAhOO6508lR9v85Y7NeJQ5AfOAtFtXjhCGWbMp9IR6dIOXoParAIug4bfTSsLP4bLybO6WeNwlHkclGL0hussVoLRAlKwVBZhI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1743520184175508.7798534712375; Tue, 1 Apr 2025 08:09:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tzcCF-0000oS-PQ; Tue, 01 Apr 2025 10:02:31 -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 1tzcC0-0008Jo-Jj for qemu-devel@nongnu.org; Tue, 01 Apr 2025 10:02:17 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tzcBx-0000Pb-8l for qemu-devel@nongnu.org; Tue, 01 Apr 2025 10:02:15 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-223f4c06e9fso102502605ad.1 for ; Tue, 01 Apr 2025 07:02:12 -0700 (PDT) Received: from wheely.local0.net ([203.185.207.94]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2291f1f5774sm87768455ad.214.2025.04.01.07.02.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Apr 2025 07:02:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743516131; x=1744120931; 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=ihqA4DvgePcDCt5G9mq9Uv5qfifhS22jJcEgx0LAJgM=; b=nciB4v60Dp/BARuY6GaKuxaPk+ndGHSN4NP4XuRIHE9KHUZ/eY4wsdx5oBexau9JQW SP1q4pyYeKP+k7nf4zym6uMf9Zg6S61KvDl5E26Wdn+PsOo2c7P1wH4NSdSaxFg513Vh Aj/ACHsTZze8BfvxrTVSGuzVzBgYZZ6UYNu6tzYsqofPKyLcTJ945RCILeWYqtOKaW8O ET1nXdj3kv4t4jvHuORp07geLsxzv9Fgqx/Lysqk42TzbLRNyerN2wN4qPZQ9C1HwgVM EBKIX9C+0rPT4UCUfDEqzbuCr3Rz90CBJ+xU9FK0Yl/vuJ5iCAcxuB+U9VG3XAf8o2hs R6HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743516131; x=1744120931; 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=ihqA4DvgePcDCt5G9mq9Uv5qfifhS22jJcEgx0LAJgM=; b=J0ktLKkeSkydroEn1gou7ryY7xDsWTnHHeP5CorWPahx5AgltNGrNh28tzl7wcB0W2 Mb8sVx2VmIB6jg3VpdvpbW58hcPM/wVWvOOY/iaHaIgEnDs3rUJPFxeHlIsy6Y/Wosp+ mcqW/X421ZjXL5t4Jg4iMAhCjBs+B1XbMh90r/mvH7WCx8uwRXB+sY7xWt4JcrNWq5EY CzIMwh6SenPSRC1RfRbgSeAK620eaHdlEXpJvV7GzuMNNP4DEnEjIj3vjw1oA+Vt/3kS gwGPXplUWZLjbqPJ99rG/lz2AL1oYMYAGjD+jbd4sqitbm2z6ITTWhcv7Em1bfidulqf pO/A== X-Forwarded-Encrypted: i=1; AJvYcCU71hanF8E4hxgdksvFOBagBRwHxCNwCIO569yujXfAYXrhUDMLFnnZJk7yPYsKXnj+IkDRJs5baW3W@nongnu.org X-Gm-Message-State: AOJu0YxbcULjH+rsa7LId2DVaG+N6PLM+QmDzmoPxaGdbFozWfCL+Xt3 R6bSM3WnYR/opYxfpJcbbWsoBkS5OO2uAIaGMmFaw9C6STjgHhFs X-Gm-Gg: ASbGncsq35UoGoKJ4PY+D0wWGzNgM2Kj2CLXBCeH7CEAG/4y6pBIwQjrguWD2kHC+h2 OhCOmloPPnX1ryOm2Rs18dIMNfZAK0I2RGnj4RdaGDN14wc4cXJSGXvrNWEI1aNH0KYlbOy0pGg XKdq+4ZZVRqOFJlMndrAhlj2hUa3uVRBPx4Hr8bV1McgwxYyHrPR+FXejm5OEI7jCUGtBwxssOi bixG30Lqxfps1b6fOAYerhT+bwhJnrrUoct37uUa9Ce/3X6l0xp+59ftIY3PsRBSlSBkFMXxK6S Vs2NTqb/Wo2X/fYRlr99u+FuIlHamYJF45mJe2Iz7aE4m8QzEQ== X-Google-Smtp-Source: AGHT+IG04Gc8aRZCjVdFlfSOfxmpt4YWFqfk3ULgui76ke8VeXQAK/3qUkWgyBkq0xY/Y7XJswawLw== X-Received: by 2002:a17:902:db09:b0:215:b1e3:c051 with SMTP id d9443c01a7336-229682c14ccmr827555ad.11.1743516131276; Tue, 01 Apr 2025 07:02:11 -0700 (PDT) From: Nicholas Piggin To: Corey Minyard Cc: Nicholas Piggin , qemu-devel@nongnu.org Subject: [PATCH v3 4/5] ipmi/bmc-sim: implement watchdog dont log flag Date: Wed, 2 Apr 2025 00:01:51 +1000 Message-ID: <20250401140153.685523-5-npiggin@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250401140153.685523-1-npiggin@gmail.com> References: <20250401140153.685523-1-npiggin@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62f; envelope-from=npiggin@gmail.com; helo=mail-pl1-x62f.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, FREEMAIL_FROM=0.001, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1743520188320019100 Content-Type: text/plain; charset="utf-8" If the dont-log flag is set in the 'timer use' field for the 'set watchdog' command, a watchdog timeout will not get logged as a timer use expiration. Signed-off-by: Nicholas Piggin Acked-by: Corey Minyard --- hw/ipmi/ipmi_bmc_sim.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c index d63f2348ba1..98cfab6a455 100644 --- a/hw/ipmi/ipmi_bmc_sim.c +++ b/hw/ipmi/ipmi_bmc_sim.c @@ -514,7 +514,8 @@ static void gen_event(IPMIBmcSim *ibs, unsigned int sen= s_num, uint8_t deassert, =20 static void sensor_set_discrete_bit(IPMIBmcSim *ibs, unsigned int sensor, unsigned int bit, unsigned int val, - uint8_t evd1, uint8_t evd2, uint8_t ev= d3) + uint8_t evd1, uint8_t evd2, uint8_t ev= d3, + bool do_log) { IPMISensor *sens; uint16_t mask; @@ -534,7 +535,7 @@ static void sensor_set_discrete_bit(IPMIBmcSim *ibs, un= signed int sensor, return; /* Already asserted */ } sens->assert_states |=3D mask & sens->assert_suppt; - if (sens->assert_enable & mask & sens->assert_states) { + if (do_log && (sens->assert_enable & mask & sens->assert_states)) { /* Send an event on assert */ gen_event(ibs, sensor, 0, evd1, evd2, evd3); } @@ -544,7 +545,7 @@ static void sensor_set_discrete_bit(IPMIBmcSim *ibs, un= signed int sensor, return; /* Already deasserted */ } sens->deassert_states |=3D mask & sens->deassert_suppt; - if (sens->deassert_enable & mask & sens->deassert_states) { + if (do_log && (sens->deassert_enable & mask & sens->deassert_state= s)) { /* Send an event on deassert */ gen_event(ibs, sensor, 1, evd1, evd2, evd3); } @@ -700,6 +701,7 @@ static void ipmi_sim_handle_timeout(IPMIBmcSim *ibs) { IPMIInterface *s =3D ibs->parent.intf; IPMIInterfaceClass *k =3D IPMI_INTERFACE_GET_CLASS(s); + bool do_log =3D !IPMI_BMC_WATCHDOG_GET_DONT_LOG(ibs); =20 if (!ibs->watchdog_running) { goto out; @@ -711,14 +713,16 @@ static void ipmi_sim_handle_timeout(IPMIBmcSim *ibs) ibs->msg_flags |=3D IPMI_BMC_MSG_FLAG_WATCHDOG_TIMEOUT_MASK; k->do_hw_op(s, IPMI_SEND_NMI, 0); sensor_set_discrete_bit(ibs, IPMI_WATCHDOG_SENSOR, 8, 1, - 0xc8, (2 << 4) | 0xf, 0xff); + 0xc8, (2 << 4) | 0xf, 0xff, + do_log); break; =20 case IPMI_BMC_WATCHDOG_PRE_MSG_INT: ibs->msg_flags |=3D IPMI_BMC_MSG_FLAG_WATCHDOG_TIMEOUT_MASK; k->set_atn(s, 1, attn_irq_enabled(ibs)); sensor_set_discrete_bit(ibs, IPMI_WATCHDOG_SENSOR, 8, 1, - 0xc8, (3 << 4) | 0xf, 0xff); + 0xc8, (3 << 4) | 0xf, 0xff, + do_log); break; =20 default: @@ -738,24 +742,28 @@ static void ipmi_sim_handle_timeout(IPMIBmcSim *ibs) switch (IPMI_BMC_WATCHDOG_GET_ACTION(ibs)) { case IPMI_BMC_WATCHDOG_ACTION_NONE: sensor_set_discrete_bit(ibs, IPMI_WATCHDOG_SENSOR, 0, 1, - 0xc0, ibs->watchdog_use & 0xf, 0xff); + 0xc0, ibs->watchdog_use & 0xf, 0xff, + do_log); break; =20 case IPMI_BMC_WATCHDOG_ACTION_RESET: sensor_set_discrete_bit(ibs, IPMI_WATCHDOG_SENSOR, 1, 1, - 0xc1, ibs->watchdog_use & 0xf, 0xff); + 0xc1, ibs->watchdog_use & 0xf, 0xff, + do_log); k->do_hw_op(s, IPMI_RESET_CHASSIS, 0); break; =20 case IPMI_BMC_WATCHDOG_ACTION_POWER_DOWN: sensor_set_discrete_bit(ibs, IPMI_WATCHDOG_SENSOR, 2, 1, - 0xc2, ibs->watchdog_use & 0xf, 0xff); + 0xc2, ibs->watchdog_use & 0xf, 0xff, + do_log); k->do_hw_op(s, IPMI_POWEROFF_CHASSIS, 0); break; =20 case IPMI_BMC_WATCHDOG_ACTION_POWER_CYCLE: sensor_set_discrete_bit(ibs, IPMI_WATCHDOG_SENSOR, 2, 1, - 0xc3, ibs->watchdog_use & 0xf, 0xff); + 0xc3, ibs->watchdog_use & 0xf, 0xff, + do_log); k->do_hw_op(s, IPMI_POWERCYCLE_CHASSIS, 0); break; } --=20 2.47.1 From nobody Fri Dec 19 04:10:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1743521669; cv=none; d=zohomail.com; s=zohoarc; b=NM0zNO/sQcvqCyrpHuRWivm1zvUSaLqO0OhCaX7GMh1c44IRATgOfrJxn7DcLuW7nysVV0lTxeIonEvAIxc2deN4eCICHiQy7sLM+QwjPpWDquAloC8e6iQeXEE3NdcmfzUEydyj9MuV/9DDHmd81+ghnA2I2jJqe7nEIQ0TcGk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743521669; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9T3FnIs1Bq+FDkpTsS+3s/kAk1Ff7w/CeCPlPCn7YuQ=; b=T0Fwumff+7fEVqJglFQaOy4TLyfoVV0IjqSNzHhu+U0y5HFYPc860O0AaNwWLctCbbxL/AFtlNeG2gqGkLaP+l+hTMxYy3Lv4loFc2UR6+Oazv3NiZ6AkFVjv0I9ec6Luk2zfYhfAjP29hiDGKLSNhRFsG8hDClXzBv+72P5UVc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 174352166898873.79163279131808; Tue, 1 Apr 2025 08:34:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tzcCC-0000Um-Ko; Tue, 01 Apr 2025 10:02:28 -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 1tzcC1-0008KE-Sg for qemu-devel@nongnu.org; Tue, 01 Apr 2025 10:02:20 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tzcC0-0000Q9-Bd for qemu-devel@nongnu.org; Tue, 01 Apr 2025 10:02:17 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2295d78b45cso18486475ad.0 for ; Tue, 01 Apr 2025 07:02:14 -0700 (PDT) Received: from wheely.local0.net ([203.185.207.94]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2291f1f5774sm87768455ad.214.2025.04.01.07.02.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Apr 2025 07:02:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743516134; x=1744120934; 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=9T3FnIs1Bq+FDkpTsS+3s/kAk1Ff7w/CeCPlPCn7YuQ=; b=DJ3D0kpaIkbHmKM/dAMUS/YYsF/pgbJigb2xnkO2gDHB1y1qnqCLtOR27gZOy2DUC8 oVeJuT3dY0fuFo7pxyN4qYCYYbVYjkmuuVVpipwG9PRK00uzib5UjeTxeDPt+MRAw2GC zaVQLKElRuX0AqRD3j6Cc4zAQwaA9Pvd269V+cw7G1IQCtVPpUNxGEVwbara4Soeeskc IFgcUYkfUIC7sx4wB6HJ9PhU/Kp/66STIkCTqVdGQyBmHUmToMFGEENVmZBZLSFNxv0r EC5WiSO4nu2nTWaXCGWFuKeZl3KCIOT8+qp9FToU2wxNXX7ohrMSmZLV5PvD4gFzJ1CN mb4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743516134; x=1744120934; 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=9T3FnIs1Bq+FDkpTsS+3s/kAk1Ff7w/CeCPlPCn7YuQ=; b=p2L/YHcKTpYoLOqo1oecCgfTTxkAEfGnL8nFNU8ffSm/Bc2b3lRVz/bStKMOvbUCXP cAkb6M8IWHH9XtUrFiV9t0BqCGqrCiGYQtl1BhDOrki0Ba1Z8hm2maenPEcBs7avihJj UjK7LKg6MYrBcMZ9Q6IVo72wpokAKhMDUfBk14eRlaj7lLAWP8+MMpkRSxVINNct6yI2 O98IrQR6myeUdPpjALZBWHCMs8sibKKjzuTykr0AXZp8QLbkJKpRK/9FU9MC34PHYbUs vYoz1BjGjJIyVHzJMYisDa8oh1yhWjBNBvLaSgxg/KoFvog05l0P2VzoAM1A+RE8P0JR m+Vw== X-Forwarded-Encrypted: i=1; AJvYcCWCyWvdZR3K3VFcI8L7X5wryntRC2mxEM0t7O179E69ARdnvlD0ZnjYP0tLHsKWKFmPDwzpmkfpLPSQ@nongnu.org X-Gm-Message-State: AOJu0YxJGgsVzkcpbWIW9L8+q19ZtTMxQ4oCbrrwWf71eHa2jiRDNRHt IW4hsTJXbQtbokOPVZSBU61537qAk5WjUbZ2anRJPfCEw6M7LBxnDpcg+A== X-Gm-Gg: ASbGncuVS9D1GmdWrVfmXRAxTWtwvvi3EcYLX/zxKoDIDSl79ZZVnUHSWDsOOYxBucH 9w4mSI0xoSYwCoPV3V2cXijSuO4RIYCIUzvE6V5ly9gPuYZ4GCmGJY5Sd0FJ+f9QDzLXdYE45Yy VQUs6ikrYkTcwTioOc55u6XXKyxcnfWOTsuUMLVMGTl8Xl+jcBL+d5Rbw6ZchhdBomMHfwWTXjk Y13MMCX7UeQ4j+9e8Kw6IAsZxEKIQ2t95jwsan9NEEyoEgI4R5A2uST1xlHIzvUqf4r+OOLNB96 ii8RPpa+N3Oie+D4if8jwhUhd7hgykqwBaeFg2QlRbe6hwVMiQ== X-Google-Smtp-Source: AGHT+IF6iwKMreTheZTf8WOqiEtaQHYvGwcPCGEeu3mC/0/y0YX23OmLnH7Shz4uQC3jcQgRizSsBw== X-Received: by 2002:a17:903:94e:b0:216:2bd7:1c4a with SMTP id d9443c01a7336-2292f973fabmr201439305ad.26.1743516133815; Tue, 01 Apr 2025 07:02:13 -0700 (PDT) From: Nicholas Piggin To: Corey Minyard Cc: Nicholas Piggin , qemu-devel@nongnu.org Subject: [PATCH v3 5/5] ipmi/bmc-sim: add error handling for 'Set BMC Global Enables' command Date: Wed, 2 Apr 2025 00:01:52 +1000 Message-ID: <20250401140153.685523-6-npiggin@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250401140153.685523-1-npiggin@gmail.com> References: <20250401140153.685523-1-npiggin@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=npiggin@gmail.com; helo=mail-pl1-x62e.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, FREEMAIL_FROM=0.001, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1743521672285019100 Content-Type: text/plain; charset="utf-8" Mask out unsupported bits and return failure if attempting to set any. This is not required by the IPMI spec, but it does require that system software not change bits it isn't aware of. Signed-off-by: Nicholas Piggin Acked-by: Corey Minyard --- hw/ipmi/ipmi_bmc_sim.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c index 98cfab6a455..3c008a3a603 100644 --- a/hw/ipmi/ipmi_bmc_sim.c +++ b/hw/ipmi/ipmi_bmc_sim.c @@ -235,6 +235,7 @@ struct IPMIBmcSim { #define IPMI_BMC_MSG_FLAG_RCV_MSG_QUEUE_SET(s) \ (IPMI_BMC_MSG_FLAG_RCV_MSG_QUEUE & (s)->msg_flags) =20 +#define IPMI_BMC_GLOBAL_ENABLES_SUPPORTED 0x0f #define IPMI_BMC_RCV_MSG_QUEUE_INT_BIT 0 #define IPMI_BMC_EVBUF_FULL_INT_BIT 1 #define IPMI_BMC_EVENT_MSG_BUF_BIT 2 @@ -934,7 +935,14 @@ static void set_bmc_global_enables(IPMIBmcSim *ibs, uint8_t *cmd, unsigned int cmd_len, RspBuffer *rsp) { - set_global_enables(ibs, cmd[2]); + uint8_t val =3D cmd[2]; + + if (val & ~IPMI_BMC_GLOBAL_ENABLES_SUPPORTED) { + rsp_buffer_set_error(rsp, IPMI_CC_INVALID_DATA_FIELD); + return; + } + + set_global_enables(ibs, val); } =20 static void get_bmc_global_enables(IPMIBmcSim *ibs, --=20 2.47.1