All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Zhangjian (Bamvor)" <bamvor.zhangjian@huawei.com>
To: Yury Norov <ynorov@caviumnetworks.com>, Andreas Schwab <schwab@suse.de>
Cc: <arnd@arndb.de>, <catalin.marinas@arm.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, <pinskia@gmail.com>,
	<Prasun.Kapoor@caviumnetworks.com>, <broonie@kernel.org>,
	<heiko.carstens@de.ibm.com>, <agraf@suse.de>,
	<klimov.linux@gmail.com>, <jan.dakinevich@gmail.com>,
	<schwidefsky@de.ibm.com>, <Nathan_Lynch@mentor.com>,
	<joseph@codesourcery.com>,
	<christoph.muellner@theobroma-systems.com>,
	"Bamvor Zhang Jian" <bamvor.zhangjian@linaro.org>,
	"Zhangjian (Bamvor)" <bamvor.zhangjian@huawei.com>,
	"jijun (D)" <jijun2@huawei.com>, <young.liuyang@huawei.com>,
	<gaoyongliang@huawei.com>,
	Ding Tianhong <dingtianhong@huawei.com>
Subject: Re: [RFC5 PATCH v6 00/21] ILP32 for ARM64
Date: Sat, 26 Mar 2016 21:45:53 +0800	[thread overview]
Message-ID: <56F69291.4050205@huawei.com> (raw)
In-Reply-To: <20160321184012.GA26563@yury-N73SV>

Hi, guys

Does any body test the bigendian? We found lots of failures in be in
our arm64 hardware. E.g. the signal issue.

IIUC, the signal of struct in ILP32 is align with the aarch32. If so,
we need to revert the following patch wrote by Andrew in 2014 which
align the kernel_sigaction of ilp32 to lp64:
Revert "[AARCH64] Add kernel_sigaction.h for AARCH64 ILP32"

And we also need to handle the uc_stack properly in kernel. After
apply these two patches, we could fix lots of failure in bigendian.

Regards

Bamvor

 From cb08043a1f14eb997892711c2e1e5016b0e9eef6 Mon Sep 17 00:00:00 2001
From: Bamvor Jian Zhang <bamvor.zhangjian@huawei.com>
Date: Thu, 24 Mar 2016 10:40:47 +0800
Subject: [PATCH] try to fix the signal issue in be

Currently, there is different layout in uc_stack in le and be.
Try to fix the issue by processing uc_stack through corresponding
compat function.

Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@huawei.com>
---
  arch/arm64/kernel/signal_ilp32.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/kernel/signal_ilp32.c b/arch/arm64/kernel/signal_ilp32.c
index 26b3121..9af29e0 100644
--- a/arch/arm64/kernel/signal_ilp32.c
+++ b/arch/arm64/kernel/signal_ilp32.c
@@ -60,7 +60,7 @@ asmlinkage int ilp32_sys_rt_sigreturn(struct pt_regs *regs)
         if (restore_sigframe(regs, &frame->sig))
                 goto badframe;

-       if (restore_altstack(&frame->sig.uc.uc_stack))
+       if (compat_restore_altstack(&frame->sig.uc.uc_stack))
                 goto badframe;

         return regs->regs[0];
@@ -112,7 +112,7 @@ int ilp32_setup_rt_frame(int usig, struct ksignal *ksig,
         __put_user_error(0, &frame->sig.uc.uc_flags, err);
         __put_user_error(NULL, &frame->sig.uc.uc_link, err);

-       err |= __save_altstack(&frame->sig.uc.uc_stack, regs->sp);
+       err |= __compat_save_altstack(&frame->sig.uc.uc_stack, regs->sp);
         err |= setup_sigframe(&frame->sig, regs, set);
         if (err == 0) {
                 setup_return(regs, &ksig->ka, frame,
--
1.8.4.5

 From f6cde6e2a75a4b153758eea679c5a839fc1c39d2 Mon Sep 17 00:00:00 2001
From: "Zhang Jian(Bamvor)" <bamvor.zhangjian@huawei.com>
Date: Sat, 26 Mar 2016 18:10:38 +0800
Subject: [PATCH] Revert "[AARCH64] Add kernel_sigaction.h for AARCH64 ILP32"

This reverts commit 68e11d8643cfd08a62cea3555e92d77a21bf41de.
---
  sysdeps/unix/sysv/linux/aarch64/kernel_sigaction.h | 12 ------------
  sysdeps/unix/sysv/linux/aarch64/sigaction.c        | 10 ++++------
  2 files changed, 4 insertions(+), 18 deletions(-)
  delete mode 100644 sysdeps/unix/sysv/linux/aarch64/kernel_sigaction.h

diff --git a/sysdeps/unix/sysv/linux/aarch64/kernel_sigaction.h b/sysdeps/unix/sysv/linux/aarch64/kernel_sigaction.h
deleted file mode 100644
index 7b3023b..0000000
--- a/sysdeps/unix/sysv/linux/aarch64/kernel_sigaction.h
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#define HAVE_SA_RESTORER
-
-/* This is the sigaction structure in aarch64 kernel.
-   Note the ILP32 struct uses the same struct as LP64
-   which is why the fields are 64bit in size. */
-struct kernel_sigaction {
-	unsigned long long k_sa_handler;
-	unsigned long long sa_flags;
-	unsigned long long sa_restorer;
-	sigset_t sa_mask;
-};
diff --git a/sysdeps/unix/sysv/linux/aarch64/sigaction.c b/sysdeps/unix/sysv/linux/aarch64/sigaction.c
index 5d22b68..2679acd 100644
--- a/sysdeps/unix/sysv/linux/aarch64/sigaction.c
+++ b/sysdeps/unix/sysv/linux/aarch64/sigaction.c
@@ -39,17 +39,15 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)

    if (act)
      {
-      kact.k_sa_handler = (unsigned long long)(uintptr_t)act->sa_handler;
+      kact.k_sa_handler = act->sa_handler;
        memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
        kact.sa_flags = act->sa_flags;
  #ifdef HAVE_SA_RESTORER
        if (kact.sa_flags & SA_RESTORER)
-	kact.sa_restorer = (unsigned long long)(uintptr_t)act->sa_restorer;
+	kact.sa_restorer = act->sa_restorer;
  #endif
      }

-  /* This is needed for ILP32 as the structures are two different sizes due to
-     using the LP64 structure.  */
    result = INLINE_SYSCALL (rt_sigaction, 4, sig,
  			   act ? &kact : NULL,
  			   oact ? &koact : NULL, _NSIG / 8);
@@ -57,11 +55,11 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
      {
        if (oact && result >= 0)
  	{
-	  oact->sa_handler = (void*)(uintptr_t)koact.k_sa_handler;
+	  oact->sa_handler = koact.k_sa_handler;
  	  memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
  	  oact->sa_flags = koact.sa_flags;
  #ifdef HAVE_SA_RESTORER
-	  oact->sa_restorer = (void*)(uintptr_t)koact.sa_restorer;
+	  oact->sa_restorer = koact.sa_restorer;
  #endif
  	}
      }
-- 
1.8.4.5

WARNING: multiple messages have this Message-ID (diff)
From: bamvor.zhangjian@huawei.com (Zhangjian (Bamvor))
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC5 PATCH v6 00/21] ILP32 for ARM64
Date: Sat, 26 Mar 2016 21:45:53 +0800	[thread overview]
Message-ID: <56F69291.4050205@huawei.com> (raw)
In-Reply-To: <20160321184012.GA26563@yury-N73SV>

Hi, guys

Does any body test the bigendian? We found lots of failures in be in
our arm64 hardware. E.g. the signal issue.

IIUC, the signal of struct in ILP32 is align with the aarch32. If so,
we need to revert the following patch wrote by Andrew in 2014 which
align the kernel_sigaction of ilp32 to lp64:
Revert "[AARCH64] Add kernel_sigaction.h for AARCH64 ILP32"

And we also need to handle the uc_stack properly in kernel. After
apply these two patches, we could fix lots of failure in bigendian.

Regards

Bamvor

 From cb08043a1f14eb997892711c2e1e5016b0e9eef6 Mon Sep 17 00:00:00 2001
From: Bamvor Jian Zhang <bamvor.zhangjian@huawei.com>
Date: Thu, 24 Mar 2016 10:40:47 +0800
Subject: [PATCH] try to fix the signal issue in be

Currently, there is different layout in uc_stack in le and be.
Try to fix the issue by processing uc_stack through corresponding
compat function.

Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@huawei.com>
---
  arch/arm64/kernel/signal_ilp32.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/kernel/signal_ilp32.c b/arch/arm64/kernel/signal_ilp32.c
index 26b3121..9af29e0 100644
--- a/arch/arm64/kernel/signal_ilp32.c
+++ b/arch/arm64/kernel/signal_ilp32.c
@@ -60,7 +60,7 @@ asmlinkage int ilp32_sys_rt_sigreturn(struct pt_regs *regs)
         if (restore_sigframe(regs, &frame->sig))
                 goto badframe;

-       if (restore_altstack(&frame->sig.uc.uc_stack))
+       if (compat_restore_altstack(&frame->sig.uc.uc_stack))
                 goto badframe;

         return regs->regs[0];
@@ -112,7 +112,7 @@ int ilp32_setup_rt_frame(int usig, struct ksignal *ksig,
         __put_user_error(0, &frame->sig.uc.uc_flags, err);
         __put_user_error(NULL, &frame->sig.uc.uc_link, err);

-       err |= __save_altstack(&frame->sig.uc.uc_stack, regs->sp);
+       err |= __compat_save_altstack(&frame->sig.uc.uc_stack, regs->sp);
         err |= setup_sigframe(&frame->sig, regs, set);
         if (err == 0) {
                 setup_return(regs, &ksig->ka, frame,
--
1.8.4.5

 From f6cde6e2a75a4b153758eea679c5a839fc1c39d2 Mon Sep 17 00:00:00 2001
From: "Zhang Jian(Bamvor)" <bamvor.zhangjian@huawei.com>
Date: Sat, 26 Mar 2016 18:10:38 +0800
Subject: [PATCH] Revert "[AARCH64] Add kernel_sigaction.h for AARCH64 ILP32"

This reverts commit 68e11d8643cfd08a62cea3555e92d77a21bf41de.
---
  sysdeps/unix/sysv/linux/aarch64/kernel_sigaction.h | 12 ------------
  sysdeps/unix/sysv/linux/aarch64/sigaction.c        | 10 ++++------
  2 files changed, 4 insertions(+), 18 deletions(-)
  delete mode 100644 sysdeps/unix/sysv/linux/aarch64/kernel_sigaction.h

diff --git a/sysdeps/unix/sysv/linux/aarch64/kernel_sigaction.h b/sysdeps/unix/sysv/linux/aarch64/kernel_sigaction.h
deleted file mode 100644
index 7b3023b..0000000
--- a/sysdeps/unix/sysv/linux/aarch64/kernel_sigaction.h
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#define HAVE_SA_RESTORER
-
-/* This is the sigaction structure in aarch64 kernel.
-   Note the ILP32 struct uses the same struct as LP64
-   which is why the fields are 64bit in size. */
-struct kernel_sigaction {
-	unsigned long long k_sa_handler;
-	unsigned long long sa_flags;
-	unsigned long long sa_restorer;
-	sigset_t sa_mask;
-};
diff --git a/sysdeps/unix/sysv/linux/aarch64/sigaction.c b/sysdeps/unix/sysv/linux/aarch64/sigaction.c
index 5d22b68..2679acd 100644
--- a/sysdeps/unix/sysv/linux/aarch64/sigaction.c
+++ b/sysdeps/unix/sysv/linux/aarch64/sigaction.c
@@ -39,17 +39,15 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)

    if (act)
      {
-      kact.k_sa_handler = (unsigned long long)(uintptr_t)act->sa_handler;
+      kact.k_sa_handler = act->sa_handler;
        memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
        kact.sa_flags = act->sa_flags;
  #ifdef HAVE_SA_RESTORER
        if (kact.sa_flags & SA_RESTORER)
-	kact.sa_restorer = (unsigned long long)(uintptr_t)act->sa_restorer;
+	kact.sa_restorer = act->sa_restorer;
  #endif
      }

-  /* This is needed for ILP32 as the structures are two different sizes due to
-     using the LP64 structure.  */
    result = INLINE_SYSCALL (rt_sigaction, 4, sig,
  			   act ? &kact : NULL,
  			   oact ? &koact : NULL, _NSIG / 8);
@@ -57,11 +55,11 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
      {
        if (oact && result >= 0)
  	{
-	  oact->sa_handler = (void*)(uintptr_t)koact.k_sa_handler;
+	  oact->sa_handler = koact.k_sa_handler;
  	  memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
  	  oact->sa_flags = koact.sa_flags;
  #ifdef HAVE_SA_RESTORER
-	  oact->sa_restorer = (void*)(uintptr_t)koact.sa_restorer;
+	  oact->sa_restorer = koact.sa_restorer;
  #endif
  	}
      }
-- 
1.8.4.5

  parent reply	other threads:[~2016-03-26 13:47 UTC|newest]

Thread overview: 143+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-14 17:22 [RFC5 PATCH v6 00/21] ILP32 for ARM64 Yury Norov
2016-01-14 17:22 ` Yury Norov
2016-01-14 17:22 ` [PATCH v6 01/21] arm64: ilp32: add documentation on the ILP32 ABI " Yury Norov
2016-01-14 17:22   ` Yury Norov
2016-01-14 17:22 ` [PATCH v6 02/21] arm64: ensure the kernel is compiled for LP64 Yury Norov
2016-01-14 17:22   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 03/21] arm64: rename COMPAT to AARCH32_EL0 in Kconfig Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 04/21] arm64: change some CONFIG_COMPAT over to use CONFIG_AARCH32_EL0 instead Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 05/21] arm64: compat: change config dependences to aarch32 Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 06/21] arm64:uapi: set __BITS_PER_LONG correctly for ILP32 and LP64 Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 07/21] thread: move thread bits accessors to separated file Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 08/21] arm64: introduce is_a32_task and is_a32_thread (for AArch32 compat) Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 09/21] arm64: ilp32: add is_ilp32_compat_{task,thread} and TIF_32BIT_AARCH64 Yury Norov
2016-01-14 17:23   ` [PATCH v6 09/21] arm64: ilp32: add is_ilp32_compat_{task, thread} " Yury Norov
2016-01-14 17:23 ` [PATCH v6 10/21] arm64: introduce binfmt_elf32.c Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 11/21] arm64: ilp32: introduce binfmt_ilp32.c Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 12/21] arm64: ptrace: handle ptrace_request differently for aarch32 and ilp32 Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 13/21] arm64:ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 14/21] arm64: signal: wrap struct ucontext, fp and lr with struct sigframe Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 15/21] arm64: signal: share lp64 signal routines to ilp32 Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 16/21] arm64: signal32: move ilp32 and aarch32 common code to separated file Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 17/21] arm64: ilp32: introduce ilp32-specific handlers for sigframe Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-02-29  8:27   ` Andreas Schwab
2016-02-29  8:27     ` Andreas Schwab
2016-01-14 17:23 ` [PATCH v6 18/21] arm64:ilp32: add vdso-ilp32 and use for signal return Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 19/21] arm64:ilp32: add ARM64_ILP32 to Kconfig Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 20/21] all: s390: make compat wrappers the generic solution Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-14 18:11   ` Yury Norov
2016-01-14 18:11     ` Yury Norov
2016-01-15 12:46   ` Heiko Carstens
2016-01-15 12:46     ` Heiko Carstens
2016-01-19 17:52     ` Yury Norov
2016-01-20  8:16       ` Heiko Carstens
2016-01-20  8:16         ` Heiko Carstens
2016-01-20 12:17         ` Yury Norov
2016-01-20 12:17           ` Yury Norov
2016-01-14 17:23 ` [PATCH v6 21/21] arm64: ilp32: wrap syscalls to remove top 32-bit vulnerability Yury Norov
2016-01-14 17:23   ` Yury Norov
2016-01-18 13:18 ` [RFC5 PATCH v6 00/21] ILP32 for ARM64 Zhangjian (Bamvor)
2016-01-18 13:18   ` Zhangjian (Bamvor)
2016-01-18 13:26   ` Andreas Schwab
2016-01-18 13:26     ` Andreas Schwab
2016-01-18 13:41     ` Bamvor Zhang Jian
2016-01-18 13:41       ` Bamvor Zhang Jian
2016-01-29  9:59 ` Zhangjian (Bamvor)
2016-01-29  9:59   ` Zhangjian (Bamvor)
2016-01-29 17:09   ` Yury Norov
2016-01-29 17:09     ` Yury Norov
2016-01-30  4:15     ` Zhangjian (Bamvor)
2016-01-30  4:15       ` Zhangjian (Bamvor)
2016-02-18 22:35       ` Yury Norov
2016-02-18 22:35         ` Yury Norov
2016-02-19  8:23         ` Arnd Bergmann
2016-02-19  8:23           ` Arnd Bergmann
2016-02-19 12:59           ` Yury Norov
2016-02-19 12:59             ` Yury Norov
2016-02-19 14:06             ` Arnd Bergmann
2016-02-19 14:06               ` Arnd Bergmann
2016-02-29 15:39           ` Yury Norov
2016-02-29 15:39             ` Yury Norov
2016-02-29 16:00           ` Andreas Schwab
2016-02-29 16:00             ` Andreas Schwab
2016-02-29 16:30             ` Arnd Bergmann
2016-02-29 16:30               ` Arnd Bergmann
2016-02-25 10:50         ` Andreas Schwab
2016-02-25 10:50           ` Andreas Schwab
2016-02-25 20:28           ` Yury Norov
2016-02-25 20:28             ` Yury Norov
2016-03-18 10:28             ` Zhangjian (Bamvor)
2016-03-18 10:28               ` Zhangjian (Bamvor)
2016-03-18 15:49               ` Yury Norov
2016-03-18 15:49                 ` Yury Norov
2016-03-18 15:55                 ` Alexander Graf
2016-03-18 15:55                   ` Alexander Graf
2016-03-18 16:46                   ` Yury Norov
2016-03-18 16:46                     ` Yury Norov
2016-03-20  8:12                     ` Zhangjian (Bamvor)
2016-03-20  8:12                       ` Zhangjian (Bamvor)
2016-03-21 11:23                       ` Zhangjian (Bamvor)
2016-03-21 11:23                         ` Zhangjian (Bamvor)
2016-03-21 18:43                         ` Yury Norov
2016-03-21 18:43                           ` Yury Norov
2016-03-22  1:49                           ` Yury Norov
2016-03-22  1:49                             ` Yury Norov
2016-03-21  9:07                 ` Andreas Schwab
2016-03-21  9:07                   ` Andreas Schwab
2016-03-21  9:43                   ` Arnd Bergmann
2016-03-21  9:43                     ` Arnd Bergmann
2016-03-21 10:52                     ` Andreas Schwab
2016-03-21 10:52                       ` Andreas Schwab
2016-03-21 17:02                       ` Arnd Bergmann
2016-03-21 17:02                         ` Arnd Bergmann
2016-03-26 12:36                     ` Zhangjian (Bamvor)
2016-03-26 12:36                       ` Zhangjian (Bamvor)
2016-03-29 10:58                       ` Arnd Bergmann
2016-03-29 10:58                         ` Arnd Bergmann
2016-03-29 12:01                         ` Yury Norov
2016-03-29 12:01                           ` Yury Norov
2016-03-29 12:42                           ` Arnd Bergmann
2016-03-29 12:42                             ` Arnd Bergmann
2016-03-29 13:21                           ` Zhangjian (Bamvor)
2016-03-29 13:21                             ` Zhangjian (Bamvor)
2016-03-29 13:27                             ` Arnd Bergmann
2016-03-29 13:27                               ` Arnd Bergmann
2016-03-29 15:54                               ` Joseph Myers
2016-03-29 15:54                                 ` Joseph Myers
2016-03-29 19:30                                 ` Arnd Bergmann
2016-03-29 19:30                                   ` Arnd Bergmann
2016-03-29 20:15                                   ` Joseph Myers
2016-03-29 20:15                                     ` Joseph Myers
2016-03-29 20:24                                     ` Arnd Bergmann
2016-03-29 20:24                                       ` Arnd Bergmann
2016-03-29 21:00                                       ` Joseph Myers
2016-03-29 21:00                                         ` Joseph Myers
2016-03-29 21:39                                         ` Arnd Bergmann
2016-03-29 21:39                                           ` Arnd Bergmann
2016-03-31  7:35                               ` Zhangjian (Bamvor)
2016-03-31  7:35                                 ` Zhangjian (Bamvor)
2016-03-21 18:40                   ` Yury Norov
2016-03-21 18:40                     ` Yury Norov
2016-03-26 13:08                     ` Zhangjian (Bamvor)
2016-03-26 13:08                       ` Zhangjian (Bamvor)
2016-03-26 13:45                     ` Zhangjian (Bamvor) [this message]
2016-03-26 13:45                       ` Zhangjian (Bamvor)
2016-03-26 22:46                       ` Yury Norov
2016-03-26 22:46                         ` Yury Norov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56F69291.4050205@huawei.com \
    --to=bamvor.zhangjian@huawei.com \
    --cc=Nathan_Lynch@mentor.com \
    --cc=Prasun.Kapoor@caviumnetworks.com \
    --cc=agraf@suse.de \
    --cc=arnd@arndb.de \
    --cc=bamvor.zhangjian@linaro.org \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=christoph.muellner@theobroma-systems.com \
    --cc=dingtianhong@huawei.com \
    --cc=gaoyongliang@huawei.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=jan.dakinevich@gmail.com \
    --cc=jijun2@huawei.com \
    --cc=joseph@codesourcery.com \
    --cc=klimov.linux@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pinskia@gmail.com \
    --cc=schwab@suse.de \
    --cc=schwidefsky@de.ibm.com \
    --cc=ynorov@caviumnetworks.com \
    --cc=young.liuyang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.