From: Vineet Gupta <Vineet.Gupta1@synopsys.com> To: <viro@ZenIV.linux.org.uk> Cc: <linux-arch@vger.kernel.org>, <linux-kernel@vger.kernel.org>, Vineet Gupta <Vineet.Gupta1@synopsys.com> Subject: [PATCH 1/2] ARC: [Review] Preparing to fix incorrect syscall restarts due to signals Date: Fri, 28 Dec 2012 18:12:36 +0530 [thread overview] Message-ID: <1356698557-9000-1-git-send-email-vgupta@synopsys.com> (raw) In-Reply-To: <50DD91C1.3000809@synopsys.com> To avoid multiple syscall restarts (multiple signals) or no restart at all (sigreturn), we need just an extra bit of state "literally 1 bit" in struct pt_regs. orig_r8 is the best place to do this, however given the way it is encoded currently, we can't add anything simplistically. Current orig_r8: * syscalls -> 1 to NR_SYSCALLS * Exceptions -> NR_SYSCALLS + 1 * Break-point-> NR_SYSCALLS + 2 In new scheme it is a bit-field * lower short word contains the exact event type (and a new bit to represent restart semantics : if syscall was already / can't be restarted) * upper short word optionally containing the syscall num - needed by likes of tracehooks etc This change only changes the value orig_r8 is organised and nothing should change behaviourily. Signed-off-by: Vineet Gupta <vgupta@synopsys.com> --- arch/arc/include/asm/entry.h | 31 ++++++++++++++++++------------- arch/arc/include/asm/ptrace.h | 17 ++++++++++++----- arch/arc/kernel/entry.S | 10 +++++----- 3 files changed, 35 insertions(+), 23 deletions(-) diff --git a/arch/arc/include/asm/entry.h b/arch/arc/include/asm/entry.h index 4b8619e..414007a 100644 --- a/arch/arc/include/asm/entry.h +++ b/arch/arc/include/asm/entry.h @@ -415,18 +415,12 @@ *-------------------------------------------------------------*/ .macro SAVE_ALL_EXCEPTION marker + st \marker, [sp, 8] + st r0, [sp, 4] /* orig_r0, needed only for sys calls */ + /* Restore r9 used to code the early prologue */ EXCPN_PROLOG_RESTORE_REG r9 - /* Save the complete regfile now */ - - /* orig_r8 marker: - * syscalls -> 1 to NR_SYSCALLS - * Exceptions -> NR_SYSCALLS + 1 - * Break-point-> NR_SYSCALLS + 2 - */ - st \marker, [sp, 8] - st r0, [sp, 4] /* orig_r0, needed only for sys calls */ SAVE_CALLER_SAVED st.a r26, [sp, -4] /* gp */ st.a fp, [sp, -4] @@ -456,14 +450,25 @@ * Save scratch regs for exceptions *-------------------------------------------------------------*/ .macro SAVE_ALL_SYS - SAVE_ALL_EXCEPTION (NR_syscalls + 1) + SAVE_ALL_EXCEPTION orig_r8_IS_EXCPN .endm /*-------------------------------------------------------------- * Save scratch regs for sys calls *-------------------------------------------------------------*/ .macro SAVE_ALL_TRAP - SAVE_ALL_EXCEPTION r8 + /* + * Encode syscall number (r8) in upper short word of event type (r9) + * (r9 is already clobbered when we land here) + */ +#ifndef CONFIG_CPU_BIG_ENDIAN + lsl r9, r8, 16 + or r9, r9, orig_r8_IS_SCALL +#else + lsl r9, orig_r8_IS_SCALL, 16 + or r9, r9, r8 +#endif + SAVE_ALL_EXCEPTION r9 .endm /*-------------------------------------------------------------- @@ -518,7 +523,7 @@ #endif /* now we are ready to save the remaining context :) */ - st -1, [sp, 8] /* orig_r8, -1 for interuppt level one */ + st orig_r8_IS_IRQ1, [sp, 8] /* Event Type */ st 0, [sp, 4] /* orig_r0 , N/A for IRQ */ SAVE_CALLER_SAVED st.a r26, [sp, -4] /* gp */ @@ -553,7 +558,7 @@ ld r9, [@int2_saved_reg] /* now we are ready to save the remaining context :) */ - st -2, [sp, 8] /* orig_r8, -2 for interrupt level 2 */ + st orig_r8_IS_IRQ2, [sp, 8] /* Event Type */ st 0, [sp, 4] /* orig_r0 , N/A for IRQ */ SAVE_CALLER_SAVED st.a r26, [sp, -4] /* gp */ diff --git a/arch/arc/include/asm/ptrace.h b/arch/arc/include/asm/ptrace.h index f38580c..7daa3a6 100644 --- a/arch/arc/include/asm/ptrace.h +++ b/arch/arc/include/asm/ptrace.h @@ -50,7 +50,8 @@ struct pt_regs { long r0; long sp; /* user/kernel sp depending on where we came from */ long orig_r0; - long orig_r8; /*to distinguish bet excp, sys call, int1 or int2 */ + /*to distinguish bet excp, syscall, irq */ + unsigned long event_type:16, orig_r8:16; }; /* Callee saved registers - need to be saved only when you are scheduled out */ @@ -89,9 +90,8 @@ struct user_regs_struct { /* return 1 if PC in delay slot */ #define delay_mode(regs) ((regs->status32 & STATUS_DE_MASK) == STATUS_DE_MASK) -/* return 1 if in syscall, 0 if Intr or Exception */ -#define in_syscall(regs) (((regs->orig_r8) >= 0 && \ - (regs->orig_r8 <= NR_syscalls)) ? 1 : 0) +#define in_syscall(regs) (regs->orig_r8 & orig_r8_IS_SCALL) +#define in_brkpt_trap(regs) (regs->orig_r8 & orig_r8_IS_BRKPT) #define current_pt_regs() \ ({ \ @@ -101,7 +101,6 @@ struct user_regs_struct { (struct pt_regs *)(pg_start + THREAD_SIZE - 4) - 1; \ }) -#define in_brkpt_trap(regs) (((regs->orig_r8) == (NR_syscalls + 2)) ? 1 : 0) #define user_stack_pointer(regs)\ ({ unsigned int sp; \ @@ -112,6 +111,14 @@ struct user_regs_struct { sp; \ }) + #endif /* !__ASSEMBLY__ */ +#define orig_r8_IS_SCALL 0x0001 +#define orig_r8_IS_SCALL_RESTARTED 0x0002 +#define orig_r8_IS_BRKPT 0x0004 +#define orig_r8_IS_EXCPN 0x0004 +#define orig_r8_IS_IRQ1 0x0010 +#define orig_r8_IS_IRQ2 0x0020 + #endif /* __ASM_PTRACE_H */ diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S index 365a01b..f509306 100644 --- a/arch/arc/kernel/entry.S +++ b/arch/arc/kernel/entry.S @@ -500,8 +500,8 @@ tracesys_exit: trap_with_param: - ;make sure orig_r8 is a positive value - st NR_syscalls + 2, [sp, PT_orig_r8] + ; stop_pc info by gdb needs this info + st orig_r8_IS_BRKPT, [sp, PT_orig_r8] mov r0, r12 lr r1, [efa] @@ -727,10 +727,10 @@ not_exception: ;---------------------------------------------------------------- ld r9, [sp, PT_orig_r8] ; get orig_r8 to make sure it is - brne r9, -2, 149f ; infact a L2 ISR ret path + brne r9, orig_r8_IS_IRQ2, 149f ; infact a L2 ISR ret path - ld r9, [sp, PT_status32] ; get statu32_l2 (saved in pt_regs) - bbit0 r9, STATUS_A1_BIT, 149f ; L1 not active when L2 IRQ, so normal + ld r9, [sp, PT_status32] ; get statu32_l2 (saved in pt_regs) + bbit0 r9, STATUS_A1_BIT, 149f ; L1 not active when L2 IRQ, so normal ; A1 is set in status32_l2 ; decrement thread_info->preempt_count (re-enable preemption) -- 1.7.4.1
WARNING: multiple messages have this Message-ID (diff)
From: Vineet Gupta <Vineet.Gupta1@synopsys.com> To: viro@ZenIV.linux.org.uk Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Vineet Gupta <Vineet.Gupta1@synopsys.com> Subject: [PATCH 1/2] ARC: [Review] Preparing to fix incorrect syscall restarts due to signals Date: Fri, 28 Dec 2012 18:12:36 +0530 [thread overview] Message-ID: <1356698557-9000-1-git-send-email-vgupta@synopsys.com> (raw) In-Reply-To: <50DD91C1.3000809@synopsys.com> To avoid multiple syscall restarts (multiple signals) or no restart at all (sigreturn), we need just an extra bit of state "literally 1 bit" in struct pt_regs. orig_r8 is the best place to do this, however given the way it is encoded currently, we can't add anything simplistically. Current orig_r8: * syscalls -> 1 to NR_SYSCALLS * Exceptions -> NR_SYSCALLS + 1 * Break-point-> NR_SYSCALLS + 2 In new scheme it is a bit-field * lower short word contains the exact event type (and a new bit to represent restart semantics : if syscall was already / can't be restarted) * upper short word optionally containing the syscall num - needed by likes of tracehooks etc This change only changes the value orig_r8 is organised and nothing should change behaviourily. Signed-off-by: Vineet Gupta <vgupta@synopsys.com> --- arch/arc/include/asm/entry.h | 31 ++++++++++++++++++------------- arch/arc/include/asm/ptrace.h | 17 ++++++++++++----- arch/arc/kernel/entry.S | 10 +++++----- 3 files changed, 35 insertions(+), 23 deletions(-) diff --git a/arch/arc/include/asm/entry.h b/arch/arc/include/asm/entry.h index 4b8619e..414007a 100644 --- a/arch/arc/include/asm/entry.h +++ b/arch/arc/include/asm/entry.h @@ -415,18 +415,12 @@ *-------------------------------------------------------------*/ .macro SAVE_ALL_EXCEPTION marker + st \marker, [sp, 8] + st r0, [sp, 4] /* orig_r0, needed only for sys calls */ + /* Restore r9 used to code the early prologue */ EXCPN_PROLOG_RESTORE_REG r9 - /* Save the complete regfile now */ - - /* orig_r8 marker: - * syscalls -> 1 to NR_SYSCALLS - * Exceptions -> NR_SYSCALLS + 1 - * Break-point-> NR_SYSCALLS + 2 - */ - st \marker, [sp, 8] - st r0, [sp, 4] /* orig_r0, needed only for sys calls */ SAVE_CALLER_SAVED st.a r26, [sp, -4] /* gp */ st.a fp, [sp, -4] @@ -456,14 +450,25 @@ * Save scratch regs for exceptions *-------------------------------------------------------------*/ .macro SAVE_ALL_SYS - SAVE_ALL_EXCEPTION (NR_syscalls + 1) + SAVE_ALL_EXCEPTION orig_r8_IS_EXCPN .endm /*-------------------------------------------------------------- * Save scratch regs for sys calls *-------------------------------------------------------------*/ .macro SAVE_ALL_TRAP - SAVE_ALL_EXCEPTION r8 + /* + * Encode syscall number (r8) in upper short word of event type (r9) + * (r9 is already clobbered when we land here) + */ +#ifndef CONFIG_CPU_BIG_ENDIAN + lsl r9, r8, 16 + or r9, r9, orig_r8_IS_SCALL +#else + lsl r9, orig_r8_IS_SCALL, 16 + or r9, r9, r8 +#endif + SAVE_ALL_EXCEPTION r9 .endm /*-------------------------------------------------------------- @@ -518,7 +523,7 @@ #endif /* now we are ready to save the remaining context :) */ - st -1, [sp, 8] /* orig_r8, -1 for interuppt level one */ + st orig_r8_IS_IRQ1, [sp, 8] /* Event Type */ st 0, [sp, 4] /* orig_r0 , N/A for IRQ */ SAVE_CALLER_SAVED st.a r26, [sp, -4] /* gp */ @@ -553,7 +558,7 @@ ld r9, [@int2_saved_reg] /* now we are ready to save the remaining context :) */ - st -2, [sp, 8] /* orig_r8, -2 for interrupt level 2 */ + st orig_r8_IS_IRQ2, [sp, 8] /* Event Type */ st 0, [sp, 4] /* orig_r0 , N/A for IRQ */ SAVE_CALLER_SAVED st.a r26, [sp, -4] /* gp */ diff --git a/arch/arc/include/asm/ptrace.h b/arch/arc/include/asm/ptrace.h index f38580c..7daa3a6 100644 --- a/arch/arc/include/asm/ptrace.h +++ b/arch/arc/include/asm/ptrace.h @@ -50,7 +50,8 @@ struct pt_regs { long r0; long sp; /* user/kernel sp depending on where we came from */ long orig_r0; - long orig_r8; /*to distinguish bet excp, sys call, int1 or int2 */ + /*to distinguish bet excp, syscall, irq */ + unsigned long event_type:16, orig_r8:16; }; /* Callee saved registers - need to be saved only when you are scheduled out */ @@ -89,9 +90,8 @@ struct user_regs_struct { /* return 1 if PC in delay slot */ #define delay_mode(regs) ((regs->status32 & STATUS_DE_MASK) == STATUS_DE_MASK) -/* return 1 if in syscall, 0 if Intr or Exception */ -#define in_syscall(regs) (((regs->orig_r8) >= 0 && \ - (regs->orig_r8 <= NR_syscalls)) ? 1 : 0) +#define in_syscall(regs) (regs->orig_r8 & orig_r8_IS_SCALL) +#define in_brkpt_trap(regs) (regs->orig_r8 & orig_r8_IS_BRKPT) #define current_pt_regs() \ ({ \ @@ -101,7 +101,6 @@ struct user_regs_struct { (struct pt_regs *)(pg_start + THREAD_SIZE - 4) - 1; \ }) -#define in_brkpt_trap(regs) (((regs->orig_r8) == (NR_syscalls + 2)) ? 1 : 0) #define user_stack_pointer(regs)\ ({ unsigned int sp; \ @@ -112,6 +111,14 @@ struct user_regs_struct { sp; \ }) + #endif /* !__ASSEMBLY__ */ +#define orig_r8_IS_SCALL 0x0001 +#define orig_r8_IS_SCALL_RESTARTED 0x0002 +#define orig_r8_IS_BRKPT 0x0004 +#define orig_r8_IS_EXCPN 0x0004 +#define orig_r8_IS_IRQ1 0x0010 +#define orig_r8_IS_IRQ2 0x0020 + #endif /* __ASM_PTRACE_H */ diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S index 365a01b..f509306 100644 --- a/arch/arc/kernel/entry.S +++ b/arch/arc/kernel/entry.S @@ -500,8 +500,8 @@ tracesys_exit: trap_with_param: - ;make sure orig_r8 is a positive value - st NR_syscalls + 2, [sp, PT_orig_r8] + ; stop_pc info by gdb needs this info + st orig_r8_IS_BRKPT, [sp, PT_orig_r8] mov r0, r12 lr r1, [efa] @@ -727,10 +727,10 @@ not_exception: ;---------------------------------------------------------------- ld r9, [sp, PT_orig_r8] ; get orig_r8 to make sure it is - brne r9, -2, 149f ; infact a L2 ISR ret path + brne r9, orig_r8_IS_IRQ2, 149f ; infact a L2 ISR ret path - ld r9, [sp, PT_status32] ; get statu32_l2 (saved in pt_regs) - bbit0 r9, STATUS_A1_BIT, 149f ; L1 not active when L2 IRQ, so normal + ld r9, [sp, PT_status32] ; get statu32_l2 (saved in pt_regs) + bbit0 r9, STATUS_A1_BIT, 149f ; L1 not active when L2 IRQ, so normal ; A1 is set in status32_l2 ; decrement thread_info->preempt_count (re-enable preemption) -- 1.7.4.1
next prev parent reply other threads:[~2012-12-28 12:47 UTC|newest] Thread overview: 141+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-11-07 9:47 [RFC Patch v1 00/31] Synopsys ARC Linux kernel Port Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 01/31] ARC: Generic Headers Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 02/31] ARC: irqflags Vineet Gupta 2012-11-12 19:50 ` Thomas Gleixner 2013-01-01 7:44 ` Vineet Gupta 2013-01-01 7:44 ` Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 03/31] ARC: atomic/bitops/cmpxchg/barriers Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 04/31] asm-generic headers: uaccess.h to conditionally define segment_eq() Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 05/31] ARC: uaccess friends Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 06/31] asm-generic headers: Allow yet more arch overrides in checksum.h Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 07/31] ARC: checksum/byteorder/swab routines Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 08/31] ARC: Fundamental ARCH data-types/defines Vineet Gupta 2012-11-08 7:10 ` Jonas Bonn 2012-11-08 18:52 ` Vineet Gupta 2012-11-08 20:36 ` Jonas Bonn 2012-11-12 13:58 ` Vineet Gupta 2012-11-12 14:12 ` Arnd Bergmann 2012-11-07 9:47 ` [RFC PATCH v1 09/31] ARC: spinlock/rwlock/mutex primitives Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 10/31] ARC: string library Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 11/31] ARC: Low level IRQ/Trap/Exception(non-MMU) Handling Vineet Gupta 2012-11-16 4:58 ` Al Viro 2012-12-27 9:00 ` Vineet Gupta 2012-12-27 9:00 ` Vineet Gupta 2012-12-27 13:29 ` Vineet Gupta 2012-12-27 13:29 ` Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 12/31] ARC: Interrupt Handling Vineet Gupta 2012-11-12 20:08 ` Thomas Gleixner 2013-01-01 10:46 ` Vineet Gupta 2013-01-01 10:46 ` Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 13/31] ARC: Non-MMU Exception Handling Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 14/31] ARC: syscall support Vineet Gupta 2012-11-07 14:21 ` Arnd Bergmann 2012-11-09 9:50 ` James Hogan 2012-11-09 9:50 ` James Hogan 2012-11-13 11:41 ` James Hogan 2012-11-13 11:41 ` James Hogan 2012-11-13 12:01 ` Jonas Bonn 2012-11-13 12:11 ` James Hogan 2012-11-13 12:11 ` James Hogan 2012-11-14 12:23 ` Arnd Bergmann 2012-11-14 12:31 ` James Hogan 2012-11-14 12:31 ` James Hogan 2012-11-13 10:13 ` Gilad Ben-Yossef 2012-11-13 10:37 ` Arnd Bergmann 2012-11-15 6:15 ` Vineet Gupta 2012-11-15 6:15 ` Vineet Gupta 2012-11-15 12:35 ` Arnd Bergmann 2013-01-17 5:13 ` Vineet Gupta 2013-01-17 5:13 ` Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 15/31] ARC: Process/scheduling/clock/Timers/Delay Management Vineet Gupta 2012-11-12 20:29 ` Thomas Gleixner 2013-01-02 7:13 ` Vineet Gupta 2013-01-02 7:13 ` Vineet Gupta 2013-01-02 8:45 ` Vineet Gupta 2013-01-02 8:45 ` Vineet Gupta 2013-01-04 13:01 ` Frederic Weisbecker 2012-11-07 9:47 ` [RFC PATCH v1 16/31] ARC: Signal handling Vineet Gupta 2012-11-16 5:26 ` Al Viro 2012-12-28 12:34 ` Vineet Gupta 2012-12-28 12:34 ` Vineet Gupta 2012-12-28 12:42 ` Vineet Gupta [this message] 2012-12-28 12:42 ` [PATCH 1/2] ARC: [Review] Preparing to fix incorrect syscall restarts due to signals Vineet Gupta 2012-12-28 12:42 ` [PATCH 2/2] ARC: [Review] Prevent incorrect syscall restarts Vineet Gupta 2012-12-28 12:42 ` Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 17/31] ARC: Cache Flush Management Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 18/31] ARC: Page Table Management Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 19/31] ARC: MMU Context Management Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 20/31] ARC: MMU Exception Handling Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 21/31] ARC: TLB flush Handling Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 22/31] ARC: Page Fault handling (incl uaccess fixup) Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 23/31] ARC: I/O and DMA Mappings Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 24/31] ARC: startup #1: low-level, setup_arch(), /proc/cpuinfo, mem init Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 25/31] ARC: [plat-arcfpga] Hooking up platform to ARC UART Vineet Gupta 2012-11-07 14:16 ` Arnd Bergmann 2013-01-07 13:10 ` Vineet Gupta 2013-01-07 13:10 ` Vineet Gupta 2013-01-07 13:46 ` Arnd Bergmann 2013-01-07 14:04 ` Vineet Gupta 2013-01-07 14:04 ` Vineet Gupta 2013-01-07 14:36 ` Arnd Bergmann 2013-01-14 7:35 ` early init dt for earlyprintk (was Re: [RFC PATCH v1 25/31] ARC: [plat-arcfpga] Hooking up platform to ARC UART) Vineet Gupta 2013-01-14 7:35 ` Vineet Gupta 2013-01-14 9:48 ` James Hogan 2013-01-14 9:48 ` James Hogan 2013-01-14 10:09 ` Vineet Gupta 2013-01-14 10:09 ` Vineet Gupta 2013-01-14 10:54 ` Arnd Bergmann 2013-01-17 7:29 ` [RFC PATCH v1 25/31] ARC: [plat-arcfpga] Hooking up platform to ARC UART Vineet Gupta 2013-01-17 7:29 ` Vineet Gupta 2013-01-17 10:52 ` Arnd Bergmann 2012-11-07 9:47 ` [RFC PATCH v1 26/31] ARC: Build system: Makefiles, Kconfig, Linker script Vineet Gupta 2012-11-07 14:13 ` Arnd Bergmann 2013-01-02 14:30 ` Vineet Gupta 2013-01-02 14:48 ` Arnd Bergmann 2013-01-03 7:58 ` Vineet Gupta 2013-01-03 7:58 ` Vineet Gupta 2013-01-03 8:25 ` Arnd Bergmann 2013-03-11 12:29 ` SYSV IPC broken for no-legacy syscall kernels (was Re: [RFC PATCH v1 26/31] ARC: Build system: Makefiles, Kconfig, Linker script) Vineet Gupta 2013-03-11 12:29 ` Vineet Gupta 2013-03-11 12:44 ` James Hogan 2013-03-11 12:44 ` James Hogan 2013-03-11 12:56 ` Vineet Gupta 2013-03-11 12:56 ` Vineet Gupta 2013-03-11 13:07 ` James Hogan 2013-03-11 13:07 ` James Hogan 2013-03-11 13:30 ` Arnd Bergmann 2013-03-11 13:48 ` Vineet Gupta 2013-03-11 13:48 ` Vineet Gupta 2013-03-11 14:50 ` Arnd Bergmann 2012-11-15 17:49 ` [RFC PATCH v1 26/31] ARC: Build system: Makefiles, Kconfig, Linker script James Hogan 2012-11-15 17:49 ` James Hogan 2012-11-15 19:30 ` Ralf Baechle 2012-11-16 6:36 ` Vineet Gupta 2012-11-16 6:36 ` Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 27/31] ARC: Last bits (stubs) to get to a running kernel with UART Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 28/31] ARC: split ret_from_fork, simplify kernel_thread() Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 29/31] ARC: switch to generic kernel_thread() Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 30/31] ARC: switch to generic kernel_execve() and sys_execve() Vineet Gupta 2012-11-16 4:08 ` Al Viro 2012-11-17 14:01 ` Vineet Gupta 2012-11-17 14:01 ` Vineet Gupta 2012-11-07 9:47 ` [RFC PATCH v1 31/31] ARC: [plat-arcfpga] defconfig Vineet Gupta 2012-11-07 14:06 ` Arnd Bergmann 2012-11-12 14:18 ` James Hogan 2012-11-12 14:18 ` James Hogan 2012-11-12 14:21 ` Arnd Bergmann 2012-11-07 14:36 ` [RFC Patch v1 00/31] Synopsys ARC Linux kernel Port Arnd Bergmann 2012-11-08 19:09 ` Vineet Gupta 2012-11-07 20:46 ` Gilad Ben-Yossef 2012-11-20 13:47 ` Pavel Machek 2012-11-20 13:49 ` Vineet Gupta 2012-11-20 13:49 ` Vineet Gupta 2012-11-20 13:59 ` Pavel Machek 2012-11-20 14:17 ` Vineet Gupta 2012-11-20 14:17 ` Vineet Gupta 2013-01-18 19:46 ` Pavel Machek 2013-01-18 22:17 ` Arnd Bergmann 2013-01-19 10:15 ` Pavel Machek 2013-01-19 12:32 ` Vineet Gupta 2013-01-19 12:32 ` Vineet Gupta 2013-01-19 17:02 ` Pavel Machek
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=1356698557-9000-1-git-send-email-vgupta@synopsys.com \ --to=vineet.gupta1@synopsys.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=viro@ZenIV.linux.org.uk \ /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: linkBe 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.