{"id":2175334,"url":"http://patchwork.ozlabs.org/api/1.0/covers/2175334/?format=json","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.0/projects/14/?format=json","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":"<20251217-catalina-eeproms-v1-0-dc7b276efd57@stwcx.xyz>","date":"2025-12-17T19:11:27","name":"[00/11] hw/arm/aspeed: catalina: add eeproms images","submitter":{"id":67046,"url":"http://patchwork.ozlabs.org/api/1.0/people/67046/?format=json","name":"Patrick Williams","email":"patrick@stwcx.xyz"},"series":[{"id":485752,"url":"http://patchwork.ozlabs.org/api/1.0/series/485752/?format=json","date":"2025-12-17T19:11:31","name":"hw/arm/aspeed: catalina: add eeproms images","version":1,"mbox":"http://patchwork.ozlabs.org/series/485752/mbox/"}],"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=stwcx.xyz header.i=@stwcx.xyz header.a=rsa-sha256\n header.s=fm3 header.b=CAItpBGB;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=messagingengine.com header.i=@messagingengine.com\n header.a=rsa-sha256 header.s=fm1 header.b=O3Iu3a5s;\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=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists.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 4dWk3x0sNJz1y0P\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 18 Dec 2025 06:13:49 +1100 (AEDT)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1vVwvy-0005dI-ES; Wed, 17 Dec 2025 14:11:38 -0500","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <patrick@stwcx.xyz>)\n id 1vVwvv-0005bw-Jq; Wed, 17 Dec 2025 14:11:35 -0500","from fout-a8-smtp.messagingengine.com ([103.168.172.151])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <patrick@stwcx.xyz>)\n id 1vVwvt-00013K-LH; Wed, 17 Dec 2025 14:11:35 -0500","from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])\n by mailfout.phl.internal (Postfix) with ESMTP id D3BD1EC004F;\n Wed, 17 Dec 2025 14:11:30 -0500 (EST)","from phl-frontend-04 ([10.202.2.163])\n by phl-compute-05.internal (MEProxy); Wed, 17 Dec 2025 14:11:30 -0500","by mail.messagingengine.com (Postfix) with ESMTPA; Wed,\n 17 Dec 2025 14:11:29 -0500 (EST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=stwcx.xyz; h=cc\n :cc:content-transfer-encoding:content-type:content-type:date\n :date:from:from:in-reply-to:message-id:mime-version:reply-to\n :subject:subject:to:to; s=fm3; t=1765998690; x=1766085090; bh=qf\n ImsTZgWyi8Wv+VrPK1hOHx30Est5+jvVOTcygWZ8w=; b=CAItpBGB3bxgKRfKok\n Lwm61EzkG4NbIZib+MKU/USufKdex9W6cwyW5D/qiXpRbxVuMdQYfG34tzysHQcS\n lzaYztlA41ZaAIjBUNjvjgEkp8rgqKKbiKw/APjCXvJvQS1mHJoBCJT0Ybt9aByz\n vqhZ941Bjjfx1MQKZGB19yWKDYCYUbpX1mTTUfYDjtVf8nAsDyI1VmQMp28BmcOc\n me/kCMFUMLDveYLhSyHhtJ3gBTNuT3POCCGSn7UX/r07Zn/pXnTMpXMcbBRtNt/8\n kSy9trHYfRajhwS50ZsXcozJMfmDp2v/tancdTie6TeUNi01FL8zPnTjPCOFUiMj\n jH4Q==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n messagingengine.com; h=cc:cc:content-transfer-encoding\n :content-type:content-type:date:date:feedback-id:feedback-id\n :from:from:in-reply-to:message-id:mime-version:reply-to:subject\n :subject:to:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=\n fm1; t=1765998690; x=1766085090; bh=qfImsTZgWyi8Wv+VrPK1hOHx30Es\n t5+jvVOTcygWZ8w=; b=O3Iu3a5sW/Fr7A47Pyuxktkyy4W6OjOBFfu6Wwo0LTBs\n djx9yi+f35o+9Fb77BjOmcd0DluHZxosaU6uIkrCJkMJM4sFHV6w0FpvAZVqDk0f\n XKHsmaMZrANFKz6RtqK0tL8r3bbycD49NFEdzfGc4eRVqBuj/BOwJPi4yuAG6pCW\n P3GHB2qDAlT71t8vrAFEaEX9BVUUtVU/Bp29HnXgQUeTkh5attEDxZnk5sNUAvCL\n Sg161edAp+UwH/75I4SfLY8Gd93S3Ah506DA4J8yc1ZuQ3tmEreCZVIGrlCCB9WI\n VuY5PeBMdm/Pfc07q8PCKh7FlRAQ71w5v4V2So26yw=="],"X-ME-Sender":"<xms:YQBDafzN0d21Y98zsFdqQdW1Cj0JWRliokkYULoA51Obzd7N5juuHg>\n <xme:YQBDaaUdKo7iEIBQiYnIpL7NqcJWt0QhsFgpkbOLKO2CWQClBhrI_868zl2nE96ZG\n GcRcXw6mcIvSjGsuWIzDBUAPXMnc08tvDgBf4_KuPwiRKrifZC5RQ>","X-ME-Received":"\n <xmr:YQBDaT-1yiTy7i3-QK0WLZgXJe4ILlneye0MCRHQwmWeApMIALSBR5k8p2M>","X-ME-Proxy-Cause":"\n gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdegfeefjecutefuodetggdotefrod\n ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr\n ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfghrlh\n cuvffnffculdejtddmnecujfgurhephffufffkgggtgffvvefosehtjeertdertdejnecu\n hfhrohhmpefrrghtrhhitghkucghihhllhhirghmshcuoehprghtrhhitghksehsthiftg\n igrdighiiiqeenucggtffrrghtthgvrhhnpeefuddvfeehhffgveelheejheefvdfhtdet\n ieelgfehtedtgeekleejhffffedvleenucevlhhushhtvghrufhiiigvpedtnecurfgrrh\n grmhepmhgrihhlfhhrohhmpehprghtrhhitghksehsthiftgigrdighiiipdhnsggprhgt\n phhtthhopedutddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepphgrthhrihgtkh\n esshhtfigtgidrgiihiidprhgtphhtthhopehpvghtvghrrdhmrgihuggvlhhlsehlihhn\n rghrohdrohhrghdprhgtphhtthhopehsthgvvhgvnhgplhgvvgesrghsphgvvgguthgvtg\n hhrdgtohhmpdhrtghpthhtohepqhgvmhhuqdgrrhhmsehnohhnghhnuhdrohhrghdprhgt\n phhtthhopehjrghmihhnpghlihhnsegrshhpvggvughtvggthhdrtghomhdprhgtphhtth\n hopegrnhgurhgvfiestghouggvtghonhhsthhruhgtthdrtghomhdrrghupdhrtghpthht\n oheplhgvvghtrhhohiesghhmrghilhdrtghomhdprhgtphhtthhopehqvghmuhdquggvvh\n gvlhesnhhonhhgnhhurdhorhhgpdhrtghpthhtohepjhhovghlsehjmhhsrdhiugdrrghu","X-ME-Proxy":"<xmx:YQBDaVs9PFowb0jwukMYS2pIIGY8V3ADVtXriqAMgM-ZPqHBBAz-ug>\n <xmx:YQBDab1Kapjk-oL_CrIxDjAl5db-grzFThjNZRJrTHwflPthD4ISUQ>\n <xmx:YQBDaSSxFfP4PDZ2VNRz2DOmr4TqjcT-81PzGVt_qhLA0uvd0tlC3Q>\n <xmx:YQBDaXeGDQwJSDz6lZWz4zhc69AwIhy6o3jHOP7XYZtR3Q2Q5OePHg>\n <xmx:YgBDaUKogbRlfX1ETbzb0XW3h-2HW3AnrQcfxaZ59_-s40sKINieyd7t>","Feedback-ID":"i68a1478a:Fastmail","From":"Patrick Williams <patrick@stwcx.xyz>","Subject":"[PATCH 00/11] hw/arm/aspeed: catalina: add eeproms images","Date":"Wed, 17 Dec 2025 14:11:27 -0500","Message-Id":"<20251217-catalina-eeproms-v1-0-dc7b276efd57@stwcx.xyz>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","X-B4-Tracking":"v=1; b=H4sIAF8AQ2kC/x3MQQqAIBBA0avIrBPUsLKrRAupqQZKRSMC8e5Jy\n 7f4P0PCSJhgZBkiPpTIuwrZMFgO63bktFaDEkpLJXu+2Nue5CxHDNFfiSut10GItjNGQs1CxI3\n efznNpXx9qiNMYgAAAA==","X-Change-ID":"20251217-catalina-eeproms-255d80036991","To":"qemu-devel@nongnu.org","Cc":"=?utf-8?q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>,\n  Peter Maydell <peter.maydell@linaro.org>,\n  Steven Lee <steven_lee@aspeedtech.com>, Troy Lee <leetroy@gmail.com>,\n  Jamin Lin <jamin_lin@aspeedtech.com>,\n  Andrew Jeffery <andrew@codeconstruct.com.au>, Joel Stanley <joel@jms.id.au>,\n  qemu-arm@nongnu.org, Patrick Williams <patrick@stwcx.xyz>","X-Mailer":"b4 0.14.3","X-Developer-Signature":"v=1; a=openpgp-sha256; l=3244; i=patrick@stwcx.xyz;\n h=from:subject:message-id;\n bh=fXOOrFT2puVO0ueEXyGoaTqM8WhIlRDA/MI35QjYPEI=;\n b=owEBbQKS/ZANAwAIAasDR8wtAMEZAcsmYgBpQwBfYCxzBQ9hQUbquMkUsNnFuYrypC7guo3lV\n +/3NZd7ln6JAjMEAAEIAB0WIQQEYP2KLgsT1w1uokGrA0fMLQDBGQUCaUMAXwAKCRCrA0fMLQDB\n GTNIEACY/FdGSrZG1LzGWVWz82dpLvSQlhJxEdeTnr0rGzRP34yeZ8f37yaq8j2/fAoSS9yCJd2\n BnDFwZlVtm7q4zvtRJWQGLZApoJiEgAfLYkWuLfUzX9coESZRWCCpbXZHSnjKbziXg1N2MNROMn\n Sx1ICV5+0MJ8KJ4I/64BnvidNFb2EIeulcbMkvGPXiLHbjZ/lOA0NfEOcZ7D1b54LI8zfBYcB/i\n MP4qKqzI4WeTyLj2Q0f2/w7uwyOU5+2yWxz6tPS6/iTn3A5jmwVjn0291+EMJKvSkjfRcun7brZ\n bN1IIS3aZcuGxbjccMwVVRsSREUVsoaUGUGeL8CrJO7A/qJyYZNyRPczNOCVC1tFtRZZDUfZwuy\n nY7Vc7NoQDuhVz4ZfMwWYeYbIUzkCthilYewEUhU0dkuGIR6NmL0iM4Rfg28LCc5BG4HoSvCyQy\n o6o3PcwoyLcbfEliilM5cuBXgbKzWDlwDjtYy9kTlbmrGTQ92Jkw84sTrjgOrDd0MpvNI+P/7m2\n Pwl+XkxA9TsbhywZlA8mUZFxrQYkJN5qCSfWdvWcEbGLdvvCYsPQYRUN/nnOGqgSDJ5VCto3V0m\n k6FMGxFV9dPHxbr0ZFtVutJ+sfG+a+r+EsEEemR6W2+FQoMwTfxUCQwz4qPcWXU9+ZzqZNvzdv9\n JMGiKuvpMrI2ETA==","X-Developer-Key":"i=patrick@stwcx.xyz; a=openpgp;\n fpr=0460FD8A2E0B13D70D6EA241AB0347CC2D00C119","Received-SPF":"pass client-ip=103.168.172.151; envelope-from=patrick@stwcx.xyz;\n helo=fout-a8-smtp.messagingengine.com","X-Spam_score_int":"17","X-Spam_score":"1.7","X-Spam_bar":"+","X-Spam_report":"(1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1,\n DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FROM_SUSPICIOUS_NTLD=0.498,\n FROM_SUSPICIOUS_NTLD_FP=1.997, PDS_OTHER_BAD_TLD=1.997,\n RCVD_IN_DNSWL_LOW=-0.7,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<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":"Since Catalina is a server, made up of a number of FRUs, there are\na number of EEPROMs that would contain IPMI-format FRU data.  On\nOpenBMC, these EEPROMs are parsed by `entity-manager` to determine\nwhich devices are physically present in the server (and which variants\nof those devices).\n\nAdd EEPROM images for every FRU in the Catalina server.  There is a\nutility `frugen` which can take a JSON representation of the IPMI\nfields and generate a binary image from that.  Use this to create\nsanitized EEPROM images for every FRU and add the rom-init calls to\nthe appropriate locations in the Catalina model.  I left the JSON\nsource as comments along-side each EEPROM image so they can be updated\nor recreated as necessary.\n\nTested by loading the latest version of OpenBMC's Catalina image and\nconfirming the FRUs are detected appropriately by entity-manager.\n\n```\nroot@catalina:~# busctl tree xyz.openbmc_project.EntityManager | grep \"board/[^/]*$\"\n          |- /xyz/openbmc_project/inventory/system/board/BMC_Storage_Module\n          |- /xyz/openbmc_project/inventory/system/board/Catalina_FIO\n          |- /xyz/openbmc_project/inventory/system/board/Catalina_HDD_Carrier\n          |- /xyz/openbmc_project/inventory/system/board/Catalina_HDD_NVMe\n          |- /xyz/openbmc_project/inventory/system/board/Catalina_OSFP_Carrier\n          |- /xyz/openbmc_project/inventory/system/board/Catalina_PDB\n          |- /xyz/openbmc_project/inventory/system/board/Catalina_SCM\n          |- /xyz/openbmc_project/inventory/system/board/NVIDIA_Cable_Cartridge_0\n          |- /xyz/openbmc_project/inventory/system/board/NVIDIA_Cable_Cartridge_2\n          |- /xyz/openbmc_project/inventory/system/board/NVIDIA_GB200_0\n          |- /xyz/openbmc_project/inventory/system/board/NVIDIA_GB200_1\n          |- /xyz/openbmc_project/inventory/system/board/NVIDIA_GB200_IO_Board_29\n          |- /xyz/openbmc_project/inventory/system/board/NVIDIA_GB200_IO_Board_41\n          |- /xyz/openbmc_project/inventory/system/board/NVIDIA_HMC\n          |- /xyz/openbmc_project/inventory/system/board/OCP_CX7_NIC_10\n          `- /xyz/openbmc_project/inventory/system/board/OCP_CX7_NIC_15\n```\n\nThis result matches the expected results when running the image on a\nphysical Catalina device.\n\nSigned-off-by: Patrick Williams <patrick@stwcx.xyz>\n---\nPatrick Williams (11):\n      hw/arm/aspeed: catalina: add BSM FRU EEPROM\n      hw/arm/aspeed: catalina: add DC-SCM FRU EEPROM\n      hw/arm/aspeed: catalina: add PDB FRU EEPROM\n      hw/arm/aspeed: catalina: add OSFP FRU EEPROM\n      hw/arm/aspeed: catalina: add FIO FRU EEPROM\n      hw/arm/aspeed: catalina: add HDD FRU EEPROM\n      hw/arm/aspeed: catalina: add GB200 FRU EEPROM\n      hw/arm/aspeed: catalina: add GB200-IO FRU EEPROM\n      hw/arm/aspeed: catalina: add HMC FRU EEPROM\n      hw/arm/aspeed: catalina: add NIC FRU EEPROM\n      hw/arm/aspeed: catalina: add Cable Cartridge FRU EEPROM\n\n hw/arm/aspeed_ast2600_catalina.c | 473 +++++++++++++++++++++++++++++++++++++--\n 1 file changed, 457 insertions(+), 16 deletions(-)\n---\nbase-commit: 7154e4df40468012fccb6687ecd2b288c56a4a2d\nchange-id: 20251217-catalina-eeproms-255d80036991\n\nBest regards,"}