All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20180417081109.GA5804@ulmo>

diff --git a/a/1.txt b/N1/1.txt
index c14e445..d5500bd 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -13,10 +13,10 @@ On Mon, Apr 16, 2018 at 08:21:09PM +0200, Stefan Agner wrote:
 > >>>>>>
 > >>>>>> Furthermore with clang using parameters in Extended asm in a
 > >>>>>> naked function is not supported:
-> >>>>>>  ?? arch/arm/firmware/trusted_foundations.c:47:10: error: parameter
-> >>>>>>  ?????????? references not allowed in naked functions
-> >>>>>>  ???????????????? : "r" (type), "r" (arg1), "r" (arg2)
-> >>>>>>  ??????????????????????? ^
+> >>>>>>     arch/arm/firmware/trusted_foundations.c:47:10: error: parameter
+> >>>>>>             references not allowed in naked functions
+> >>>>>>                   : "r" (type), "r" (arg1), "r" (arg2)
+> >>>>>>                          ^
 > >>>>>>
 > >>>>>> Use a regular function to be more portable. This aligns also with
 > >>>>>> the other smc call implementations e.g. in qcom_scm-32.c and
@@ -30,8 +30,8 @@ On Mon, Apr 16, 2018 at 08:21:09PM +0200, Stefan Agner wrote:
 > >>>>>> Changes in v2:
 > >>>>>> - Keep stmfd/ldmfd to avoid potential ABI issues
 > >>>>>>
-> >>>>>>  ? arch/arm/firmware/trusted_foundations.c | 14 +++++++++-----
-> >>>>>>  ? 1 file changed, 9 insertions(+), 5 deletions(-)
+> >>>>>>    arch/arm/firmware/trusted_foundations.c | 14 +++++++++-----
+> >>>>>>    1 file changed, 9 insertions(+), 5 deletions(-)
 > >>>>>>
 > >>>>>> diff --git a/arch/arm/firmware/trusted_foundations.c
 > >>>>>> b/arch/arm/firmware/trusted_foundations.c
@@ -39,31 +39,31 @@ On Mon, Apr 16, 2018 at 08:21:09PM +0200, Stefan Agner wrote:
 > >>>>>> --- a/arch/arm/firmware/trusted_foundations.c
 > >>>>>> +++ b/arch/arm/firmware/trusted_foundations.c
 > >>>>>> @@ -31,21 +31,25 @@
-> >>>>>>  ? ? static unsigned long cpu_boot_addr;
-> >>>>>>  ? -static void __naked tf_generic_smc(u32 type, u32 arg1, u32 arg2)
+> >>>>>>      static unsigned long cpu_boot_addr;
+> >>>>>>    -static void __naked tf_generic_smc(u32 type, u32 arg1, u32 arg2)
 > >>>>>> +static void tf_generic_smc(u32 type, u32 arg1, u32 arg2)
-> >>>>>>  ? {
-> >>>>>> +??? register u32 r0 asm("r0") = type;
-> >>>>>> +??? register u32 r1 asm("r1") = arg1;
-> >>>>>> +??? register u32 r2 asm("r2") = arg2;
+> >>>>>>    {
+> >>>>>> +    register u32 r0 asm("r0") = type;
+> >>>>>> +    register u32 r1 asm("r1") = arg1;
+> >>>>>> +    register u32 r2 asm("r2") = arg2;
 > >>>>>> +
-> >>>>>>  ????? asm volatile(
-> >>>>>>  ????????? ".arch_extension??? sec\n\t"
-> >>>>>> -??????? "stmfd??? sp!, {r4 - r11, lr}\n\t"
-> >>>>>> +??????? "stmfd??? sp!, {r4 - r11}\n\t"
-> >>>>>>  ????????? __asmeq("%0", "r0")
-> >>>>>>  ????????? __asmeq("%1", "r1")
-> >>>>>>  ????????? __asmeq("%2", "r2")
-> >>>>>>  ????????? "mov??? r3, #0\n\t"
-> >>>>>>  ????????? "mov??? r4, #0\n\t"
-> >>>>>>  ????????? "smc??? #0\n\t"
-> >>>>>> -??????? "ldmfd??? sp!, {r4 - r11, pc}"
-> >>>>>> +??????? "ldmfd??? sp!, {r4 - r11}\n\t"
-> >>>>>>  ????????? :
-> >>>>>> -??????? : "r" (type), "r" (arg1), "r" (arg2)
-> >>>>>> -??????? : "memory");
-> >>>>>> +??????? : "r" (r0), "r" (r1), "r" (r2)
-> >>>>>> +??????? : "memory", "r3", "r12", "lr");
+> >>>>>>        asm volatile(
+> >>>>>>            ".arch_extension    sec\n\t"
+> >>>>>> -        "stmfd    sp!, {r4 - r11, lr}\n\t"
+> >>>>>> +        "stmfd    sp!, {r4 - r11}\n\t"
+> >>>>>>            __asmeq("%0", "r0")
+> >>>>>>            __asmeq("%1", "r1")
+> >>>>>>            __asmeq("%2", "r2")
+> >>>>>>            "mov    r3, #0\n\t"
+> >>>>>>            "mov    r4, #0\n\t"
+> >>>>>>            "smc    #0\n\t"
+> >>>>>> -        "ldmfd    sp!, {r4 - r11, pc}"
+> >>>>>> +        "ldmfd    sp!, {r4 - r11}\n\t"
+> >>>>>>            :
+> >>>>>> -        : "r" (type), "r" (arg1), "r" (arg2)
+> >>>>>> -        : "memory");
+> >>>>>> +        : "r" (r0), "r" (r1), "r" (r2)
+> >>>>>> +        : "memory", "r3", "r12", "lr");
 > >>>>>
 > >>>>> Although seems "lr" won't be affected by SMC invocation because it should be
 > >>>>> banked and hence could be omitted entirely from the code. Maybe somebody could
@@ -103,10 +103,3 @@ drivers/firmware?
 
 Thanks,
 Thierry
--------------- next part --------------
-A non-text attachment was scrubbed...
-Name: signature.asc
-Type: application/pgp-signature
-Size: 833 bytes
-Desc: not available
-URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180417/ea443804/attachment.sig>
diff --git a/N1/2.bin b/N1/2.bin
new file mode 100644
index 0000000..7fd8b82
--- /dev/null
+++ b/N1/2.bin
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlrVrBoACgkQ3SOs138+
+s6GbOQ//WP3A9NdZ7/dzBjl9WgJQHUequIACSLiTFS9VkDydpaOvvneRYS/9Di1/
+hCax1zl/AjFRbXVTOkVBiZbU3bWtBplKuhw/mZ0PNYpV7DBzqIQiU52TzMwEBi5G
+sGal0lUaSGdIluOU5RTuINmUqO+DmthvbfVx6WC75bEuzSoS30n5ubOpmtkTnMWT
+5RC/6VopAt98UrW7VIjC3xLK4KG/Ec52BBSt38uIHDw5ivx4eI/2Tq1iKpxAI39f
+he34A2AS8tpZHFGxaVIH63FL0F4c8kaVH009NG9F54S2xIDULWMH/eYTQCs6fNY9
+BAv9VUlGXdwWbyR7ZsF8T5QTPc+Lx2Z+XWRSRWL8wDLZSyJCFw1ixJcGOybShRiI
+JW//Ba2OFvuGCPrOJ9jg0HQqC2n105MxAsbiPhQ/oiv8P+vAF5+NMS3y59uK29e4
+9EKLq8CefaFa7P6Rc9oo8uD14U2Rd3RThPngdQ4rzeNS1O/oyL7RVPv6gFHMhqSE
+GP6PFvsvFfeQwo79VU3VK4PUgL8k5SWPFS/pmvEe4rpNNfluXBEZpr5IuzoTVGnU
+nV/i3cUQvhfNazzHYTmBBHd8Shm15A076O0j1R0BXl5gS3Sh3R8qz1n2elxQovI+
+UJhYopby04REO8N0NLFNtSp2R3pmAWgnbpWHcNvCStwttOsKVjE=
+=RTR/
+-----END PGP SIGNATURE-----
diff --git a/N1/2.hdr b/N1/2.hdr
new file mode 100644
index 0000000..5e5352c
--- /dev/null
+++ b/N1/2.hdr
@@ -0,0 +1 @@
+Content-Type: application/pgp-signature; name="signature.asc"
diff --git a/a/content_digest b/N1/content_digest
index 338cb0f..2d819ae 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -6,11 +6,27 @@
  "ref\0cf9b916103c0dba1e67682efc69f5bae@agner.ch\0"
  "ref\0498de826-6e6c-63d8-00d6-f394b2725a34@wwwdotorg.org\0"
  "ref\0507a66ab9ab530a6d71db7a74f11ddfb@agner.ch\0"
- "From\0treding@nvidia.com (Thierry Reding)\0"
- "Subject\0[PATCH v2 3/6] ARM: trusted_foundations: do not use naked function\0"
+ "From\0Thierry Reding <treding@nvidia.com>\0"
+ "Subject\0Re: [PATCH v2 3/6] ARM: trusted_foundations: do not use naked function\0"
  "Date\0Tue, 17 Apr 2018 10:11:10 +0200\0"
- "To\0linux-arm-kernel@lists.infradead.org\0"
- "\00:1\0"
+ "To\0Stefan Agner <stefan@agner.ch>"
+ " Russell King <linux@armlinux.org.uk>\0"
+ "Cc\0Stephen Warren <swarren@wwwdotorg.org>"
+  <linux@armlinux.org.uk>
+  Stephen Warren <swarren@nvidia.com>
+  Robin Murphy <robin.murphy@arm.com>
+  <ard.biesheuvel@linaro.org>
+  <arnd@arndb.de>
+  <nicolas.pitre@linaro.org>
+  <marc.zyngier@arm.com>
+  <behanw@converseincode.com>
+  <keescook@chromium.org>
+  <Bernhard.Rosenkranzer@linaro.org>
+  <mka@chromium.org>
+  <linux-arm-kernel@lists.infradead.org>
+  <linux-kernel@vger.kernel.org>
+ " Dmitry Osipenko <digetx@gmail.com>\0"
+ "\01:1\0"
  "b\0"
  "On Mon, Apr 16, 2018 at 08:21:09PM +0200, Stefan Agner wrote:\n"
  "> On 16.04.2018 18:08, Stephen Warren wrote:\n"
@@ -27,10 +43,10 @@
  "> >>>>>>\n"
  "> >>>>>> Furthermore with clang using parameters in Extended asm in a\n"
  "> >>>>>> naked function is not supported:\n"
- "> >>>>>>  ?? arch/arm/firmware/trusted_foundations.c:47:10: error: parameter\n"
- "> >>>>>>  ?????????? references not allowed in naked functions\n"
- "> >>>>>>  ???????????????? : \"r\" (type), \"r\" (arg1), \"r\" (arg2)\n"
- "> >>>>>>  ??????????????????????? ^\n"
+ "> >>>>>>  \302\240\302\240 arch/arm/firmware/trusted_foundations.c:47:10: error: parameter\n"
+ "> >>>>>>  \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 references not allowed in naked functions\n"
+ "> >>>>>>  \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 : \"r\" (type), \"r\" (arg1), \"r\" (arg2)\n"
+ "> >>>>>>  \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 ^\n"
  "> >>>>>>\n"
  "> >>>>>> Use a regular function to be more portable. This aligns also with\n"
  "> >>>>>> the other smc call implementations e.g. in qcom_scm-32.c and\n"
@@ -44,8 +60,8 @@
  "> >>>>>> Changes in v2:\n"
  "> >>>>>> - Keep stmfd/ldmfd to avoid potential ABI issues\n"
  "> >>>>>>\n"
- "> >>>>>>  ? arch/arm/firmware/trusted_foundations.c | 14 +++++++++-----\n"
- "> >>>>>>  ? 1 file changed, 9 insertions(+), 5 deletions(-)\n"
+ "> >>>>>>  \302\240 arch/arm/firmware/trusted_foundations.c | 14 +++++++++-----\n"
+ "> >>>>>>  \302\240 1 file changed, 9 insertions(+), 5 deletions(-)\n"
  "> >>>>>>\n"
  "> >>>>>> diff --git a/arch/arm/firmware/trusted_foundations.c\n"
  "> >>>>>> b/arch/arm/firmware/trusted_foundations.c\n"
@@ -53,31 +69,31 @@
  "> >>>>>> --- a/arch/arm/firmware/trusted_foundations.c\n"
  "> >>>>>> +++ b/arch/arm/firmware/trusted_foundations.c\n"
  "> >>>>>> @@ -31,21 +31,25 @@\n"
- "> >>>>>>  ? ? static unsigned long cpu_boot_addr;\n"
- "> >>>>>>  ? -static void __naked tf_generic_smc(u32 type, u32 arg1, u32 arg2)\n"
+ "> >>>>>>  \302\240 \302\240 static unsigned long cpu_boot_addr;\n"
+ "> >>>>>>  \302\240 -static void __naked tf_generic_smc(u32 type, u32 arg1, u32 arg2)\n"
  "> >>>>>> +static void tf_generic_smc(u32 type, u32 arg1, u32 arg2)\n"
- "> >>>>>>  ? {\n"
- "> >>>>>> +??? register u32 r0 asm(\"r0\") = type;\n"
- "> >>>>>> +??? register u32 r1 asm(\"r1\") = arg1;\n"
- "> >>>>>> +??? register u32 r2 asm(\"r2\") = arg2;\n"
+ "> >>>>>>  \302\240 {\n"
+ "> >>>>>> +\302\240\302\240\302\240 register u32 r0 asm(\"r0\") = type;\n"
+ "> >>>>>> +\302\240\302\240\302\240 register u32 r1 asm(\"r1\") = arg1;\n"
+ "> >>>>>> +\302\240\302\240\302\240 register u32 r2 asm(\"r2\") = arg2;\n"
  "> >>>>>> +\n"
- "> >>>>>>  ????? asm volatile(\n"
- "> >>>>>>  ????????? \".arch_extension??? sec\\n\\t\"\n"
- "> >>>>>> -??????? \"stmfd??? sp!, {r4 - r11, lr}\\n\\t\"\n"
- "> >>>>>> +??????? \"stmfd??? sp!, {r4 - r11}\\n\\t\"\n"
- "> >>>>>>  ????????? __asmeq(\"%0\", \"r0\")\n"
- "> >>>>>>  ????????? __asmeq(\"%1\", \"r1\")\n"
- "> >>>>>>  ????????? __asmeq(\"%2\", \"r2\")\n"
- "> >>>>>>  ????????? \"mov??? r3, #0\\n\\t\"\n"
- "> >>>>>>  ????????? \"mov??? r4, #0\\n\\t\"\n"
- "> >>>>>>  ????????? \"smc??? #0\\n\\t\"\n"
- "> >>>>>> -??????? \"ldmfd??? sp!, {r4 - r11, pc}\"\n"
- "> >>>>>> +??????? \"ldmfd??? sp!, {r4 - r11}\\n\\t\"\n"
- "> >>>>>>  ????????? :\n"
- "> >>>>>> -??????? : \"r\" (type), \"r\" (arg1), \"r\" (arg2)\n"
- "> >>>>>> -??????? : \"memory\");\n"
- "> >>>>>> +??????? : \"r\" (r0), \"r\" (r1), \"r\" (r2)\n"
- "> >>>>>> +??????? : \"memory\", \"r3\", \"r12\", \"lr\");\n"
+ "> >>>>>>  \302\240\302\240\302\240\302\240\302\240 asm volatile(\n"
+ "> >>>>>>  \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 \".arch_extension\302\240\302\240\302\240 sec\\n\\t\"\n"
+ "> >>>>>> -\302\240\302\240\302\240\302\240\302\240\302\240\302\240 \"stmfd\302\240\302\240\302\240 sp!, {r4 - r11, lr}\\n\\t\"\n"
+ "> >>>>>> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 \"stmfd\302\240\302\240\302\240 sp!, {r4 - r11}\\n\\t\"\n"
+ "> >>>>>>  \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 __asmeq(\"%0\", \"r0\")\n"
+ "> >>>>>>  \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 __asmeq(\"%1\", \"r1\")\n"
+ "> >>>>>>  \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 __asmeq(\"%2\", \"r2\")\n"
+ "> >>>>>>  \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 \"mov\302\240\302\240\302\240 r3, #0\\n\\t\"\n"
+ "> >>>>>>  \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 \"mov\302\240\302\240\302\240 r4, #0\\n\\t\"\n"
+ "> >>>>>>  \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 \"smc\302\240\302\240\302\240 #0\\n\\t\"\n"
+ "> >>>>>> -\302\240\302\240\302\240\302\240\302\240\302\240\302\240 \"ldmfd\302\240\302\240\302\240 sp!, {r4 - r11, pc}\"\n"
+ "> >>>>>> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 \"ldmfd\302\240\302\240\302\240 sp!, {r4 - r11}\\n\\t\"\n"
+ "> >>>>>>  \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 :\n"
+ "> >>>>>> -\302\240\302\240\302\240\302\240\302\240\302\240\302\240 : \"r\" (type), \"r\" (arg1), \"r\" (arg2)\n"
+ "> >>>>>> -\302\240\302\240\302\240\302\240\302\240\302\240\302\240 : \"memory\");\n"
+ "> >>>>>> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 : \"r\" (r0), \"r\" (r1), \"r\" (r2)\n"
+ "> >>>>>> +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 : \"memory\", \"r3\", \"r12\", \"lr\");\n"
  "> >>>>>\n"
  "> >>>>> Although seems \"lr\" won't be affected by SMC invocation because it should be\n"
  "> >>>>> banked and hence could be omitted entirely from the code. Maybe somebody could\n"
@@ -116,13 +132,25 @@
  "drivers/firmware?\n"
  "\n"
  "Thanks,\n"
- "Thierry\n"
- "-------------- next part --------------\n"
- "A non-text attachment was scrubbed...\n"
- "Name: signature.asc\n"
- "Type: application/pgp-signature\n"
- "Size: 833 bytes\n"
- "Desc: not available\n"
- URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180417/ea443804/attachment.sig>
+ Thierry
+ "\01:2\0"
+ "fn\0signature.asc\0"
+ "b\0"
+ "-----BEGIN PGP SIGNATURE-----\n"
+ "\n"
+ "iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlrVrBoACgkQ3SOs138+\n"
+ "s6GbOQ//WP3A9NdZ7/dzBjl9WgJQHUequIACSLiTFS9VkDydpaOvvneRYS/9Di1/\n"
+ "hCax1zl/AjFRbXVTOkVBiZbU3bWtBplKuhw/mZ0PNYpV7DBzqIQiU52TzMwEBi5G\n"
+ "sGal0lUaSGdIluOU5RTuINmUqO+DmthvbfVx6WC75bEuzSoS30n5ubOpmtkTnMWT\n"
+ "5RC/6VopAt98UrW7VIjC3xLK4KG/Ec52BBSt38uIHDw5ivx4eI/2Tq1iKpxAI39f\n"
+ "he34A2AS8tpZHFGxaVIH63FL0F4c8kaVH009NG9F54S2xIDULWMH/eYTQCs6fNY9\n"
+ "BAv9VUlGXdwWbyR7ZsF8T5QTPc+Lx2Z+XWRSRWL8wDLZSyJCFw1ixJcGOybShRiI\n"
+ "JW//Ba2OFvuGCPrOJ9jg0HQqC2n105MxAsbiPhQ/oiv8P+vAF5+NMS3y59uK29e4\n"
+ "9EKLq8CefaFa7P6Rc9oo8uD14U2Rd3RThPngdQ4rzeNS1O/oyL7RVPv6gFHMhqSE\n"
+ "GP6PFvsvFfeQwo79VU3VK4PUgL8k5SWPFS/pmvEe4rpNNfluXBEZpr5IuzoTVGnU\n"
+ "nV/i3cUQvhfNazzHYTmBBHd8Shm15A076O0j1R0BXl5gS3Sh3R8qz1n2elxQovI+\n"
+ "UJhYopby04REO8N0NLFNtSp2R3pmAWgnbpWHcNvCStwttOsKVjE=\n"
+ "=RTR/\n"
+ "-----END PGP SIGNATURE-----\n"
 
-fecbd41b88a5873d1e98c9a4512fbed332bc40c0189c7a354c8054d55ddfa28c
+fe8d97caa873fd0d8670b94c12806fade6e7d1d8a5864cb2a36e2baac0e07c9d

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.