Re: [PATCH v1 1/3] powerpc/code-patching: Test patch_instructions() during boot
From: Benjamin Gray <hidden>
Date: 2024-03-17 22:25:40
mjW5LaBPOdGiiDE1w95Ri9HRK27S2dRZpyib9L4mkfYWPAF41mTudjKmVpgtBLO//rO+zmF04OMB/4sWJhLfvhq1CXULDqw5dcuIAIYwf2ughOtyAPFK1ViDcMO5X1bVpNAFO5m4VBpZvFDQ0j0JfqfVBdL68uH05W1/8dMj76RaWj5m0rLM5slY1FQUPddSU+ic9vaZhlDepjU3ZyI8fmioofNGHaxJq6uNTytKdj87kwDV6PQ4hmuGtY56C7JCgjp053sRJ6sXqgKBWfe4ZOJH17mQm+fws93byLoZvvz4Z3im0Rb0MlFo/WirNyhu+TmTNLpnzFUZfenoKrqAkZLY8u1iCFquhgqA321P+sfYew66DtwQmaoi2GKmF89y2enXXzjLNKfLDKkuVoKxFSPeizYqrLi22R9iO8EGBYKACAWIQQ9K5v9I+L06Hi4yOJ5xrdpFsvehAUCYzuwkQIbAgCBCRB5xrdpFsvehHYgBBkRCAAdFiEESFUlaLYscsf4Dt5gaavCcpI6D/8FAmM7sJEACgkQaavCcpI6D/95UgEAqfSj0QhCrYfazQiLDKJstrz3oIKFjhB6+FYMZqt+K1MA/2ioFtHbypeeWbsqYYRhRyTjAKcvE1NZGtH/YWLgkViUidoBAN6gFX/P+VWB77/w8S/BnPmnJx45wmphlkCL8ckOyopFAQCj9eWamHCl2DSaASMSuoZed6C6Gm0OFtuZh/r8K485BQ==
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Date: Mon, 18 Mar 2024 08:55:02 +1100
MIME-Version: 1.0
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39)
X-Trend-IP-HD: ip=[9.192.253.14]helo={ozlabs.au.ibm.com}sender=(bgray@linux.ibm.com)recipient=<christophe.leroy@csgroup.eu;mpe@ellerman.id.au;linuxppc-dev@lists.ozlabs.org>
On Mon, 2024-03-18 at 08:38 +1100, Benjamin Gray wrote:On Fri, 2024-03-15 at 07:14 +0000, Christophe Leroy wrote:quoted
=20 =20 Le 15/03/2024 =C3=A0 03:57, Benjamin Gray a =C3=A9crit=C2=A0:quoted
patch_instructions() introduces new behaviour with a couple of variations. Test each case of =20 =C2=A0=C2=A0 * a repeated 32-bit instruction, =C2=A0=C2=A0 * a repeated 64-bit instruction (ppc64), and =C2=A0=C2=A0 * a copied sequence of instructions =20 for both on a single page and when it crosses a page boundary. =20 Signed-off-by: Benjamin Gray <redacted> --- =C2=A0 arch/powerpc/lib/test-code-patching.c | 92 +++++++++++++++++++++++++++ =C2=A0 1 file changed, 92 insertions(+) =20diff --git a/arch/powerpc/lib/test-code-patching.cb/arch/powerpc/lib/test-code-patching.c index c44823292f73..35a3756272df 100644--- a/arch/powerpc/lib/test-code-patching.c +++ b/arch/powerpc/lib/test-code-patching.c@@ -347,6 +347,97 @@ static void __inittest_prefixed_patching(void) =C2=A0=C2=A0 check(!memcmp(iptr, expected, sizeof(expected))); =C2=A0 } =C2=A0=20 +static void __init test_multi_instruction_patching(void) +{ + u32 code[256];=20 Build failure: =20 =C2=A0=C2=A0 CC=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 arch/powerpc/lib/test-cod=
e-patching.o
quoted
arch/powerpc/lib/test-code-patching.c: In function=20 'test_multi_instruction_patching': arch/powerpc/lib/test-code-patching.c:439:1: error: the frame size of 1040 bytes is larger than 1024 bytes [-Werror=3Dframe-larger-than=3D] =C2=A0=C2=A0 439 | } =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | ^ cc1: all warnings being treated as errors make[4]: *** [scripts/Makefile.build:243:=20 arch/powerpc/lib/test-code-patching.o] Error 1 =20 =20 I have to avoid big arrays on the stack.=20 All good, I can do that. =20 I do run my patches through a couple of 32-bit configs, but I didn't see this error. Is this a standard config I should be testing with? =20
Specifically I build pmac32_defconfig and ppc44x_defconfig