Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2227776/?format=api
{ "id": 2227776, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2227776/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260424083837.214947-4-adityag@linux.ibm.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/1.1/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260424083837.214947-4-adityag@linux.ibm.com>", "date": "2026-04-24T08:38:30", "name": "[v6,03/10] ppc/pnv: Handle stash command in PowerNV SBE", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "14f3c60cbef31bcb9ae8c3f9f865b15f8d3a1ac3", "submitter": { "id": 86610, "url": "http://patchwork.ozlabs.org/api/1.1/people/86610/?format=api", "name": "Aditya Gupta", "email": "adityag@linux.ibm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260424083837.214947-4-adityag@linux.ibm.com/mbox/", "series": [ { "id": 501318, "url": "http://patchwork.ozlabs.org/api/1.1/series/501318/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=501318", "date": "2026-04-24T08:38:28", "name": "Implement MPIPL for PowerNV", "version": 6, "mbox": "http://patchwork.ozlabs.org/series/501318/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2227776/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2227776/checks/", "tags": {}, "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=MXMhHiHC;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g25z2218sz1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 18:41:18 +1000 (AEST)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wGC4D-0004gB-JX; Fri, 24 Apr 2026 04:39:17 -0400", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <adityag@linux.ibm.com>)\n id 1wGC4B-0004fX-PV; Fri, 24 Apr 2026 04:39:15 -0400", "from mx0b-001b2d01.pphosted.com ([148.163.158.5])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <adityag@linux.ibm.com>)\n id 1wGC4A-0005Jv-5v; Fri, 24 Apr 2026 04:39:15 -0400", "from pps.filterd (m0360072.ppops.net [127.0.0.1])\n by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63NIt3243108112; Fri, 24 Apr 2026 08:39:13 GMT", "from ppma11.dal12v.mail.ibm.com\n (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219])\n by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dpeu6m4qn-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Fri, 24 Apr 2026 08:39:12 +0000 (GMT)", "from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1])\n by ppma11.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id\n 63O8KfCY009018;\n Fri, 24 Apr 2026 08:39:11 GMT", "from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225])\n by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dpjky229n-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Fri, 24 Apr 2026 08:39:11 +0000 (GMT)", "from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com\n [10.20.54.105])\n by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63O8d8OS42402236\n (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Fri, 24 Apr 2026 08:39:08 GMT", "from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id 29D1520040;\n Fri, 24 Apr 2026 08:39:08 +0000 (GMT)", "from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id 59C312004B;\n Fri, 24 Apr 2026 08:39:04 +0000 (GMT)", "from li-3c92a0cc-27cf-11b2-a85c-b804d9ca68fa.ibm.com (unknown\n [9.39.31.230]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP;\n Fri, 24 Apr 2026 08:39:03 +0000 (GMT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n :content-transfer-encoding:date:from:in-reply-to:message-id\n :mime-version:references:subject:to; s=pp1; bh=8rF0iHKAOVxHpO7lM\n +YABu0ieviBsC8YYxWdyQVq0HQ=; b=MXMhHiHCUSkJ5fb55P0zY7EO5ggQpRuye\n wIkQv7wH7qtp9GCooKeMD7X8sL7SOFrQvV8Y2sEeozS/1FT9hN7x2AJinX/eFOmx\n WAxbx1yA1I5Rd7GvtoZpBlOv4LwOlDiRRruNGaw4tkUmBpBLVoNsGcDEX5vFPALZ\n FUfNOQPfFZrGsnmYKrra8bG2vWwXJSpmZ3L/LYKzuDvK7wEOW99iMvXzF1Lcl6t3\n UOim4Ler+2hjKvK97+9vS3A0BgP+X3dRWPJCFGTZN7L7eYYraPOI0fNzZ26DRoFS\n DE1hN6xt/RQH9pFOOR2hSNrZEzPCZ3We1JjJWpBOQyxC2pEt13T7A==", "From": "Aditya Gupta <adityag@linux.ibm.com>", "To": "<qemu-devel@nongnu.org>", "Cc": "<qemu-ppc@nongnu.org>, Hari Bathini <hbathini@linux.ibm.com>,\n Sourabh Jain <sourabhjain@linux.ibm.com>,\n Harsh Prateek Bora <harshpb@linux.ibm.com>,\n Nicholas Piggin <npiggin@gmail.com>,\n Miles Glenn <milesg@linux.ibm.com>, Chinmay Rath <rathc@linux.ibm.com>,\n Shivang Upadhyay <shivangu@linux.ibm.com>", "Subject": "[PATCH v6 03/10] ppc/pnv: Handle stash command in PowerNV SBE", "Date": "Fri, 24 Apr 2026 14:08:30 +0530", "Message-ID": "<20260424083837.214947-4-adityag@linux.ibm.com>", "X-Mailer": "git-send-email 2.53.0", "In-Reply-To": "<20260424083837.214947-1-adityag@linux.ibm.com>", "References": "<20260424083837.214947-1-adityag@linux.ibm.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-TM-AS-GCONF": "00", "X-Proofpoint-Reinject": "loops=2 maxloops=12", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDI0MDA3NiBTYWx0ZWRfX6Pns5E1Xjg7e\n e2D4g6bdTa45rv5ezfSZmmv21G+OX42LGK+8O5VZMJ2ojfYNmgfzxGIex34Pm7MrAlcg3T3wwao\n /mLPP/5JlmcM6rUoHQgUoDhJRkGewLeMN3goE5b7RecU9IhzbyFzkdqazDxUJKM2YpX4gW9LkMa\n oAc+DFXL97QmwVolmEAmWZzOG6JNMOFhGCh9wIxUqmqXHihBVHrVpBLV+dd5WXW8YfSKvF9jVC0\n QmtArbYebPA1HpI/Xri3pIMuNkEhQbprW9B+CtdinA422whfbkDjSpt318RKhxqwZoKsnIMnSwr\n hNvfrCHzeY/49vUIT/bpwGJaAkmvif5NQmT0IBNEJZ3Bml3f2HfeohhKaz4OhPTJZ1bMnOIGLRL\n DwBWms/JIjOISJhvpBWpdtzgXnm4wyGZh7TbFCvYuSemjorEKrR6AyIbQH9BSNiplK9PXoCJaXf\n vvTwdozHH1POu/zOxXg==", "X-Proofpoint-ORIG-GUID": "lZ8ww_UbJJxgKSnPh-BGyhDqyEaL_hms", "X-Proofpoint-GUID": "LQk9ylMRyziPuiN95K9rsMnGRknz5Dzr", "X-Authority-Analysis": "v=2.4 cv=BYfoFLt2 c=1 sm=1 tr=0 ts=69eb2c30 cx=c_pps\n a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=RzCfie-kr_QcCd8fBx8p:22 a=VnNF1IyMAAAA:8 a=pGLkceISAAAA:8\n a=lqnwqb0_oS2Hd41rSKUA:9", "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-23_03,2026-04-21_02,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n priorityscore=1501 impostorscore=0 malwarescore=0 suspectscore=0\n lowpriorityscore=0 adultscore=0 spamscore=0 clxscore=1015 bulkscore=0\n phishscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000\n definitions=main-2604240076", "Received-SPF": "pass client-ip=148.163.158.5;\n envelope-from=adityag@linux.ibm.com;\n helo=mx0b-001b2d01.pphosted.com", "X-Spam_score_int": "-26", "X-Spam_score": "-2.7", "X-Spam_bar": "--", "X-Spam_report": "(-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7,\n RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001,\n 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": "qemu development <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "Earlier since the SBE_CMD_STASH_MPIPL_CONFIG command was not handled, so\nskiboot used to not get any response from SBE:\n\n [ 106.350742821,3] SBE: Message timeout [chip id = 0], cmd = d7, subcmd = 7\n [ 106.352067746,3] SBE: Failed to send stash MPIPL config [chip id = 0x0, rc = 254]\n\nFix this by handling the command in PowerNV SBE, and sending a response so\nskiboot knows SBE has handled the STASH command\n\nThe stashed skiboot base is later used to access the relocated MDST/MDDT\ntables when MPIPL is implemented.\n\nThe purpose of stashing relocated base address is explained in following\nskiboot commit:\n\n author Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Fri Jul 12 16:47:51 2019 +0530\n committer Oliver O'Halloran <oohall@gmail.com> Thu Aug 15 17:53:39 2019 +1000\n\n SBE: Send OPAL relocated base address to SBE\n\n OPAL relocates itself during boot. During memory preserving IPL hostboot needs\n to access relocated OPAL base address to get MDST, MDDT tables. Hence send\n relocated base address to SBE via 'stash MPIPL config' chip-op. During next\n IPL SBE will send stashed data to hostboot... so that hostboot can access\n these data.\n\nReviewed-by: Hari Bathini <hbathini@linux.ibm.com>\nReviewed-by: Sourabh Jain <sourabhjain@linux.ibm.com>\nSigned-off-by: Aditya Gupta <adityag@linux.ibm.com>\n---\n hw/ppc/pnv_sbe.c | 38 ++++++++++++++++++++++++++++++++++++++\n include/hw/ppc/pnv_mpipl.h | 5 +++++\n 2 files changed, 43 insertions(+)", "diff": "diff --git a/hw/ppc/pnv_sbe.c b/hw/ppc/pnv_sbe.c\nindex 5a2b3342d199..90fc407d05bb 100644\n--- a/hw/ppc/pnv_sbe.c\n+++ b/hw/ppc/pnv_sbe.c\n@@ -233,8 +233,11 @@ static void sbe_timer(void *opaque)\n \n static void do_sbe_msg(PnvSBE *sbe)\n {\n+ PnvMachineState *pnv = PNV_MACHINE(qdev_get_machine());\n+ MachineState *machine = MACHINE(pnv);\n struct sbe_msg msg;\n uint16_t cmd, ctrl_flags, seq_id;\n+ uint64_t mbox_val;\n int i;\n \n memset(&msg, 0, sizeof(msg));\n@@ -265,6 +268,41 @@ static void do_sbe_msg(PnvSBE *sbe)\n timer_del(sbe->timer);\n }\n break;\n+ case SBE_CMD_STASH_MPIPL_CONFIG:\n+ /* key = sbe->mbox[1] */\n+ switch (sbe->mbox[1]) {\n+ case SBE_STASH_KEY_SKIBOOT_BASE:\n+ mbox_val = sbe->mbox[2];\n+ if (mbox_val >= machine->ram_size) {\n+ qemu_log_mask(LOG_GUEST_ERROR,\n+ \"SBE: skiboot_base 0x%\" PRIx64 \\\n+ \"exceeds RAM size 0x\" RAM_ADDR_FMT \"\\n\",\n+ mbox_val, machine->ram_size);\n+ return;\n+ }\n+\n+ pnv->mpipl_state.skiboot_base = mbox_val;\n+ qemu_log_mask(LOG_UNIMP,\n+ \"Stashing skiboot base: 0x%\" HWADDR_PRIx \"\\n\",\n+ pnv->mpipl_state.skiboot_base);\n+\n+ /*\n+ * Set the response register.\n+ *\n+ * Currently setting the same sequence number in\n+ * response as we got in the request.\n+ */\n+ sbe->mbox[4] = sbe->mbox[0]; /* sequence number */\n+ pnv_sbe_set_host_doorbell(sbe,\n+ sbe->host_doorbell | SBE_HOST_RESPONSE_WAITING);\n+\n+ break;\n+ default:\n+ qemu_log_mask(LOG_UNIMP,\n+ \"SBE: CMD_STASH_MPIPL_CONFIG: Unimplemented key: 0x\" TARGET_FMT_lx \"\\n\",\n+ sbe->mbox[1]);\n+ }\n+ break;\n default:\n qemu_log_mask(LOG_UNIMP, \"SBE Unimplemented command: 0x%x\\n\", cmd);\n }\ndiff --git a/include/hw/ppc/pnv_mpipl.h b/include/hw/ppc/pnv_mpipl.h\nindex 61ef7ef8fe60..d1d542b72488 100644\n--- a/include/hw/ppc/pnv_mpipl.h\n+++ b/include/hw/ppc/pnv_mpipl.h\n@@ -8,11 +8,16 @@\n #define PNV_MPIPL_H\n \n #include <stdbool.h>\n+#include <stdint.h>\n+\n+#include \"exec/hwaddr.h\"\n \n typedef struct MpiplPreservedState MpiplPreservedState;\n \n /* Preserved state to be saved in PnvMachineState */\n struct MpiplPreservedState {\n+ /* skiboot_base will be valid only after OPAL sends relocated base to SBE */\n+ hwaddr skiboot_base;\n bool is_next_boot_mpipl;\n };\n \n", "prefixes": [ "v6", "03/10" ] }