From nobody Wed Dec 25 02:01:42 2024 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 4YHw3p5FShz5h1n5; Wed, 25 Dec 2024 02:01:42 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YHw3p1mq0z4tGJ; Wed, 25 Dec 2024 02:01:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735092102; 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=RYNoN5hbm7plRoZXZ3XG81ZXZTf9N/4OiKRJ/DQRYSg=; b=qrTcY8vpT9dufjblVGh/scQcVUTc+sjs36ICXzWgQqqhH6GzHjHkUudc0j2lDz0Ww8QKzM SoiB5sGW/msHFZjY5k8rIyOa+kmX23hw28xb8HUG917ayMvqK6MXVXnM+Dj6aZdqXaD86n jsgZfrzrWbVMkI1No4va1gTnQknlAPNB0dxKlVn5Nm4x4P1NS0zwkzub9nzLlXASpbYIlX XpK3lwbrnuuz5NCL0avosoJgc0ygnO6SX8oBOF9zczM1c3+ms+m8DBRUg/Tl3bct+PFEc3 uZK4WTcTqLfdCg058F+HEiaSaLa0B4AF7LB7mPbXM6B2YaySz7LGYZERtIHVZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1735092102; 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=RYNoN5hbm7plRoZXZ3XG81ZXZTf9N/4OiKRJ/DQRYSg=; b=c6saUqknAAEhhqYFCJWSqfv9DK0QB4MFu4X3f5IaIck05u2HfJNvDcdQOoXLusf7sdyE62 VMlwuusG8l5i1pfpw6ZUEH0vaRnfZX+RpKz3jx2NEcV1RKtKfP2yVVPOR7RZnMMs38TSlS pnpOtqNu91hf6w1ILaRdaAxWQwnOIbYWM78MDw2YVjpLEGpi/2aDFJwoDE809h8mhaQJZx 4beDVe8bbqvCMHwd5q3kJX86ji8/h+og5zLl8/xVBVkqnBE6OrpfRa5+HwxY+p7/pV8j3p hVM71f80riaMq9qprvL1n4vfnrv+V9YYuwRAB4uaJ1ry+uI/QeVyF/ezzf4oQQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1735092102; a=rsa-sha256; cv=none; b=MDK9ptG0CsXJLerwacQjMvFjYz4czQYY/JZU4wfpkfFTyhZWajdBcg+7Ei6MxIoCo7E61H KdZ5hEfhUlPEuJv3EL86EdTkLXEZMJC3WbdqR2bnjY634pTkGapq7IiflusG/yte0F2ly0 7v6jDnc66vyw5+9zM4jkv7SSZ0YJN4E4bXCYkvf1SQvP6ojpdeZI0Rq+xJMYM0/lOV8Vuz I4vGf4JqHnBQUFeqC+sUGfRqCAa1Qi+yblW4ynNeWaujMbECuL7xawGLYUkIMEyTYfW5ra BRGmnlNsuiD1cAxQ1C8DAo/V5NS/jfgJjUekjDcUMYsoLCbpXgLJTPA1E2YP0Q== 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 4YHw3p1NGFz14j1; Wed, 25 Dec 2024 02:01:42 +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 4BP21gu9057983; Wed, 25 Dec 2024 02:01:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4BP21gaR057981; Wed, 25 Dec 2024 02:01:42 GMT (envelope-from git) Date: Wed, 25 Dec 2024 02:01:42 GMT Message-Id: <202412250201.4BP21gaR057981@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 3e8f4a30594f - main - efirt: use correct ABI for runtime EFI functions 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3e8f4a30594fad6784504d019613ad815b6c9dc5 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3e8f4a30594fad6784504d019613ad815b6c9dc5 commit 3e8f4a30594fad6784504d019613ad815b6c9dc5 Author: Ahmad Khalifa AuthorDate: 2024-12-21 21:09:54 +0000 Commit: Konstantin Belousov CommitDate: 2024-12-25 02:00:09 +0000 efirt: use correct ABI for runtime EFI functions When calling EFI RT methods through no fault path. MFC after: 1 week --- sys/dev/efidev/efirt.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/sys/dev/efidev/efirt.c b/sys/dev/efidev/efirt.c index 8cada0d5061b..fcbed48af395 100644 --- a/sys/dev/efidev/efirt.c +++ b/sys/dev/efidev/efirt.c @@ -490,31 +490,32 @@ efi_rt_arch_call_nofault(struct efirt_callinfo *ec) switch (ec->ec_argcnt) { case 0: - ec->ec_efi_status = ((register_t (*)(void))ec->ec_fptr)(); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(void)) + ec->ec_fptr)(); break; case 1: - ec->ec_efi_status = ((register_t (*)(register_t))ec->ec_fptr) - (ec->ec_arg1); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t)) + ec->ec_fptr)(ec->ec_arg1); break; case 2: - ec->ec_efi_status = ((register_t (*)(register_t, register_t)) - ec->ec_fptr)(ec->ec_arg1, ec->ec_arg2); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t, + register_t))ec->ec_fptr)(ec->ec_arg1, ec->ec_arg2); break; case 3: - ec->ec_efi_status = ((register_t (*)(register_t, register_t, - register_t))ec->ec_fptr)(ec->ec_arg1, ec->ec_arg2, - ec->ec_arg3); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t, + register_t, register_t))ec->ec_fptr)(ec->ec_arg1, + ec->ec_arg2, ec->ec_arg3); break; case 4: - ec->ec_efi_status = ((register_t (*)(register_t, register_t, - register_t, register_t))ec->ec_fptr)(ec->ec_arg1, - ec->ec_arg2, ec->ec_arg3, ec->ec_arg4); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t, + register_t, register_t, register_t))ec->ec_fptr)( + ec->ec_arg1, ec->ec_arg2, ec->ec_arg3, ec->ec_arg4); break; case 5: - ec->ec_efi_status = ((register_t (*)(register_t, register_t, - register_t, register_t, register_t))ec->ec_fptr)( - ec->ec_arg1, ec->ec_arg2, ec->ec_arg3, ec->ec_arg4, - ec->ec_arg5); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t, + register_t, register_t, register_t, register_t)) + ec->ec_fptr)(ec->ec_arg1, ec->ec_arg2, ec->ec_arg3, + ec->ec_arg4, ec->ec_arg5); break; default: panic("efi_rt_arch_call: %d args", (int)ec->ec_argcnt);