From nobody Thu Dec 21 17:58:57 2023 X-Original-To: dev-commits-src-all@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 4Swyq54lBhz553n0; Thu, 21 Dec 2023 17:58:57 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Swyq54JC7z3VLF; Thu, 21 Dec 2023 17:58:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1703181537; 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=5ocyYb0K5YZPCW/h12/0TPgGcdmI23ZgO8PY3jAj/ek=; b=Y4dgFm/d56B7iwPTUqPJS8qunZ1yPf65ERoJ8+oP56+1SDZKb6tXrrbEJCT02wj46apkGp Eic9BpOplrUYZ+8oI3UNMYPcxz/ex8iGzSEEtCcNiQsjIFCk+vnuJ48MR+YuwB30amfIxh zfroQlwojnq8GW47/eR68ZtXijEGTOyKwAILBwjVa2CJIslwu8YBK2Z9XXlRUd8PLQVrAB otApkhpjwl3XvIBUmqfUuKsTC33+QT00n6sWkd4TcLIifgzHeEf0CrBpDFl8O472HrcCYZ +6dtyayJqlueYxSFdfIhOAtxxygfxzHFQdMQpmdzDxCKOR5++zuSgGZ8CTG7Pg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1703181537; a=rsa-sha256; cv=none; b=YaVqzyIY+3uu9njMXlpOZHhdjXy9md2WSRe8tgOFA3Gf3Pw4g3+DpY9kNqRDoEnDSwitjH SheAOP6xbeldnmM9jA7f4begThBJvKfJYmf9tC1CB/yg6s8gMdknm/Wz+faFJVlo0znBRk nUXyTGvvWs8f+kdBFqHmHzCO9sx0IgOPF9P+mwyT5tdwTDMCmxsuZhIki9wes+22b3gs9O WjlvJxsxdYRT8qxOkzpsBX1N9/AWi2s5EZrklC+rw4zwO+GEDAzoyccS8F/QEi+l4X3DnX xxhGFVv4IP6SYid6+9J9nbWYc5x0KdzhEjUcakB2tCko+cwib2d3OB4IhScwNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1703181537; 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=5ocyYb0K5YZPCW/h12/0TPgGcdmI23ZgO8PY3jAj/ek=; b=vBfZwPPuXQmRAYAvoY3jGs7bc+579wv/i1VB7GVRwri1NmIQZO1vlDo42hoY/VFYNwnkeC W02ra0KRkVsUiura/fMmJjTp/Rpj/CjjYij0IvXtBBkJQcYWfmaMFtchbCkKV4QXrkOlEg QnYGDWFWVHDK7nsMpVxu+76fFzg4Y9QSNR1OdfDK4SkWsr0GP/qbG4EA+NlzufCWxOovGb tRzkBTh3VYAepgU+rZHkF3+pb7BFvxm7BuiIVJK5mIKx4WyUJgmqw+n5F7JDbVR+bYwdbd YCTs8GQHTWEpvKXq416UL0CxulNh8Jxs+PBwsGCp47xd/mDpBGxFnbmnLh1eSg== 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 4Swyq53M4bzjR5; Thu, 21 Dec 2023 17:58:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BLHwvQM099361; Thu, 21 Dec 2023 17:58:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BLHwvMx099358; Thu, 21 Dec 2023 17:58:57 GMT (envelope-from git) Date: Thu, 21 Dec 2023 17:58:57 GMT Message-Id: <202312211758.3BLHwvMx099358@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: e88e1272792e - main - power*/SYS.h: implement _SYSCALL_BODY() macro List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e88e1272792e41cbf0a5af1f5f0a858afece0475 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=e88e1272792e41cbf0a5af1f5f0a858afece0475 commit e88e1272792e41cbf0a5af1f5f0a858afece0475 Author: Brooks Davis AuthorDate: 2023-12-21 17:57:14 +0000 Commit: Brooks Davis CommitDate: 2023-12-21 17:57:14 +0000 power*/SYS.h: implement _SYSCALL_BODY() macro Add _SYSCALL_BODY() macro which invokes the syscall via _SYCALL() and calls cerror as required. Use to implement PSEUDO() and RSYSCALL(). Reviewed by: jhibbits Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D43056 --- lib/libc/powerpc/SYS.h | 13 +++++++------ lib/libc/powerpc64/SYS.h | 28 ++++++++++------------------ 2 files changed, 17 insertions(+), 24 deletions(-) diff --git a/lib/libc/powerpc/SYS.h b/lib/libc/powerpc/SYS.h index 8c47a65735f5..24315f369531 100644 --- a/lib/libc/powerpc/SYS.h +++ b/lib/libc/powerpc/SYS.h @@ -40,14 +40,17 @@ li 0,(SYS_##name); \ sc +#define _SYSCALL_BODY(name) \ + _SYSCALL(name) \ + bnslr; \ + b CNAME(HIDENAME(cerror)) + #define PSEUDO(name) \ .text; \ .align 2; \ ENTRY(__sys_##name); \ WEAK_REFERENCE(__sys_##name, _##name); \ - _SYSCALL(name); \ - bnslr; \ - b CNAME(HIDENAME(cerror)); \ + _SYSCALL_BODY(name); \ END(__sys_##name) #define RSYSCALL(name) \ @@ -56,7 +59,5 @@ END(__sys_##name) ENTRY(__sys_##name); \ WEAK_REFERENCE(__sys_##name, name); \ WEAK_REFERENCE(__sys_##name, _##name); \ - _SYSCALL(name); \ - bnslr; \ - b CNAME(HIDENAME(cerror)); \ + _SYSCALL_BODY(name); \ END(__sys_##name) diff --git a/lib/libc/powerpc64/SYS.h b/lib/libc/powerpc64/SYS.h index dccd08b63541..bf8bc6cc0e27 100644 --- a/lib/libc/powerpc64/SYS.h +++ b/lib/libc/powerpc64/SYS.h @@ -40,11 +40,7 @@ li 0,(SYS_##name); \ sc -#define PSEUDO(name) \ - .text; \ - .align 2; \ -ENTRY(__sys_##name); \ - WEAK_REFERENCE(__sys_##name, _##name); \ +#define _SYSCALL_BODY(name) \ _SYSCALL(name); \ bnslr; \ mflr %r0; \ @@ -55,7 +51,14 @@ ENTRY(__sys_##name); \ addi %r1,%r1,48; \ ld %r0,16(%r1); \ mtlr %r0; \ - blr; \ + blr + +#define PSEUDO(name) \ + .text; \ + .align 2; \ +ENTRY(__sys_##name); \ + WEAK_REFERENCE(__sys_##name, _##name); \ + _SYSCALL_BODY(name); \ END(__sys_##name) #define RSYSCALL(name) \ @@ -64,16 +67,5 @@ END(__sys_##name) ENTRY(__sys_##name); \ WEAK_REFERENCE(__sys_##name, name); \ WEAK_REFERENCE(__sys_##name, _##name); \ - _SYSCALL(name); \ - bnslr; \ - \ - mflr %r0; \ - std %r0,16(%r1); \ - stdu %r1,-48(%r1); \ - bl CNAME(HIDENAME(cerror)); \ - nop; \ - addi %r1,%r1,48; \ - ld %r0,16(%r1); \ - mtlr %r0; \ - blr; \ + _SYSCALL_BODY(name); \ END(__sys_##name)