From nobody Thu Sep 11 15:49:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cN27D19Mkz66qGZ; Thu, 11 Sep 2025 15:49:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cN27D0hqmz49mm; Thu, 11 Sep 2025 15:49:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757605784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X1f8vKEIgoO7+lIEgmI/NgG6Y6fSXHCNNmU20ibnI10=; b=LMYoFO60fg2mRPov96GEL03Cn5hSEbOmGfcBqq7R8X51oYTSfXsqQqw5Y5yIj/R6oIoWM3 xEUxeALESFdjDAAIxbVjL1hF8D4LbRBWP7f1kwXEvBR1aEFnYudSttgzadg7Q93AKpmCIi kYjuY3fXUfHt/tuRN9KiILke3z5MpPSw9d/d3kgP/8E6wNtmfdUjhDKPMMoW9Ohoz44hgf DqYoyPELzWGJaV2N8K8Xz2yiPBYskhuyqNoHDB5ZABeKX5BB+JhACizVI7eS3HGveIa0SX ZMxHdT49cdyum7Ub506l0V1F9IXjP/TI7he7X73MAtBbJ+jh0Dt+dsbW9bo3KQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757605784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X1f8vKEIgoO7+lIEgmI/NgG6Y6fSXHCNNmU20ibnI10=; b=FKNpgqeQMsUM1y3cm1YAVK5dyXtZOXWPKUSDxuR3VVSyCNRhYULWO/WfgzHJjYzl88SwkM iaGVVIovD9lA4sH1238w8zej7orDlQh3NZcQRjaC+IsxWRP7h0R3uzYlO3aND6NL1QpUao i6UEVhgpMVVP5F6v/4bsiKdwGzRulbib8nNEclVrFFucHgkC+qTpKuVCL99wEMTxWaEus7 ccCC9IVSYghbt0XwTy0G4/qgPUr6f3xhpie7uRfdavVu/N+ygkm9KuOTh4IDBb0huZRntl XyagZnyJe1eyWdA/BDNujkHWLVZWZbZZ2OunnZdDH9lAy4w1R8UXLZZ9RWgJtw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757605784; a=rsa-sha256; cv=none; b=ZhjB3iok9w372f3n3uolpO5ZO1I9OQ3M1cSMnMrtzILOwKLBmCj2PWN61tcklw8MQgHo1q I0sZPcHMQ0zjsAJ3LKLtdooZfTELCJacE7OD08/9/ulr4Vl0/vV+7qpLOxCDyLTSKthJP8 zhf86NaczLzLgsqtMk65j6dGYl/911aFAtWt8awlmBQMfenWuOdViwdovuENcgd0lTkggc CUPWYxObJIJM2EHdO4Cphp+aKyRIN0MwC1I8zti+Dqh3XDyY2fSVAoGIFmBMNxjddODdQv Ypc43OUYKFLy0YsdxzZtjY1iDmZPLwjmW6OUSsj9cVh2vIKHDAXNZ39co1Sb5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cN27D0DpNz1Cdn; Thu, 11 Sep 2025 15:49:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 58BFnh7v046818; Thu, 11 Sep 2025 15:49:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58BFnhrT046815; Thu, 11 Sep 2025 15:49:43 GMT (envelope-from git) Date: Thu, 11 Sep 2025 15:49:43 GMT Message-Id: <202509111549.58BFnhrT046815@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Toomas Soome Subject: git: ed19c4ff846e - main - loader.efi: improve StartImage error message List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tsoome X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ed19c4ff846e09e00d8e2a756845261e2b6b7345 Auto-Submitted: auto-generated The branch main has been updated by tsoome: URL: https://cgit.FreeBSD.org/src/commit/?id=ed19c4ff846e09e00d8e2a756845261e2b6b7345 commit ed19c4ff846e09e00d8e2a756845261e2b6b7345 Author: Toomas Soome AuthorDate: 2025-09-04 12:24:25 +0000 Commit: Toomas Soome CommitDate: 2025-09-11 15:47:53 +0000 loader.efi: improve StartImage error message StartImage() may return additional data from failure. This data has text message followed by optional binary blob. Print out the text message (if present) and free the data. See 7.4.2 EFI_BOOT_SERVICES.StartImage() page 199 UEFI_Spec_Final_2.11.pdf. Reviewed by: imp --- stand/efi/loader/main.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 208b8b424e60..3e179bd4296c 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -1854,6 +1854,8 @@ command_chain(int argc, char *argv[]) EFI_GUID LoadedImageGUID = LOADED_IMAGE_PROTOCOL; EFI_HANDLE loaderhandle; EFI_LOADED_IMAGE *loaded_image; + UINTN ExitDataSize; + CHAR16 *ExitData = NULL; EFI_STATUS status; struct stat st; struct devdesc *dev; @@ -1969,9 +1971,16 @@ command_chain(int argc, char *argv[]) } dev_cleanup(); - status = BS->StartImage(loaderhandle, NULL, NULL); + + status = BS->StartImage(loaderhandle, &ExitDataSize, &ExitData); if (status != EFI_SUCCESS) { - command_errmsg = "StartImage failed"; + printf("StartImage failed (%lu)", EFI_ERROR_CODE(status)); + if (ExitData != NULL) { + printf(": %S", ExitData); + BS->FreePool(ExitData); + } + putchar('\n'); + command_errmsg = ""; free(loaded_image->LoadOptions); loaded_image->LoadOptions = NULL; status = BS->UnloadImage(loaded_image);