Skip to content

Commit

Permalink
Merge branch 'for-curr' of git://git.kernel.org/pub/scm/linux/kernel/…
Browse files Browse the repository at this point in the history
…git/vgupta/arc

Pull arc architecture fixes from Vineet Gupta:
 "This includes fix for a serious bug in DMA mapping API, make
  allyesconfig wreckage, removal of bogus email-list placeholder in
  MAINTAINERS, a typo in ptrace helper code and last remaining changes
  for syscall ABI v3 which we are finally starting to transition-to
  internally.

  The request is late than I intended to - but I was held up with
  debugging a timer link list corruption, for which a proposed fix to
  generic timer code was sent out to lkml/tglx earlier today."

* 'for-curr' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
  ARC: Fix the typo in event identifier flags used by ptrace
  arc: fix dma_address assignment during dma_map_sg()
  ARC: Remove SET_PERSONALITY (tracks cross-arch change)
  ARC: ABIv3: fork/vfork wrappers not needed in "no-legacy-syscall" ABI
  ARC: ABIv3: Print the correct ABI ver
  ARC: make allyesconfig build breakages
  ARC: MAINTAINERS update for ARC
  • Loading branch information
torvalds committed Mar 29, 2013
2 parents 09a9f1d + 367f3fc commit 67e17c1
Show file tree
Hide file tree
Showing 12 changed files with 12 additions and 46 deletions.
3 changes: 2 additions & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -7706,9 +7706,10 @@ F: include/linux/swiotlb.h

SYNOPSYS ARC ARCHITECTURE
M: Vineet Gupta <vgupta@synopsys.com>
L: linux-snps-arc@vger.kernel.org
S: Supported
F: arch/arc/
F: Documentation/devicetree/bindings/arc/
F: drivers/tty/serial/arc-uart.c

SYSV FILESYSTEM
M: Christoph Hellwig <hch@infradead.org>
Expand Down
2 changes: 1 addition & 1 deletion arch/arc/include/asm/dma-mapping.h
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ dma_map_sg(struct device *dev, struct scatterlist *sg,
int i;

for_each_sg(sg, s, nents, i)
sg->dma_address = dma_map_page(dev, sg_page(s), s->offset,
s->dma_address = dma_map_page(dev, sg_page(s), s->offset,
s->length, dir);

return nents;
Expand Down
3 changes: 0 additions & 3 deletions arch/arc/include/asm/elf.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,4 @@ extern int elf_check_arch(const struct elf32_hdr *);
*/
#define ELF_PLATFORM (NULL)

#define SET_PERSONALITY(ex) \
set_personality(PER_LINUX | (current->personality & (~PER_MASK)))

#endif
2 changes: 1 addition & 1 deletion arch/arc/include/asm/entry.h
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@
*-------------------------------------------------------------*/
.macro SAVE_ALL_EXCEPTION marker

st \marker, [sp, 8]
st \marker, [sp, 8] /* orig_r8 */
st r0, [sp, 4] /* orig_r0, needed only for sys calls */

/* Restore r9 used to code the early prologue */
Expand Down
6 changes: 2 additions & 4 deletions arch/arc/include/asm/kgdb.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

#ifdef CONFIG_KGDB

#include <asm/user.h>
#include <asm/ptrace.h>

/* to ensure compatibility with Linux 2.6.35, we don't implement the get/set
* register API yet */
Expand Down Expand Up @@ -53,9 +53,7 @@ enum arc700_linux_regnums {
};

#else
static inline void kgdb_trap(struct pt_regs *regs, int param)
{
}
#define kgdb_trap(regs, param)
#endif

#endif /* __ARC_KGDB_H__ */
2 changes: 1 addition & 1 deletion arch/arc/include/asm/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ static inline long regs_return_value(struct pt_regs *regs)
#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_EXCPN 0x0008
#define orig_r8_IS_IRQ1 0x0010
#define orig_r8_IS_IRQ2 0x0020

Expand Down
2 changes: 0 additions & 2 deletions arch/arc/include/asm/syscalls.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
#include <linux/types.h>

int sys_clone_wrapper(int, int, int, int, int);
int sys_fork_wrapper(void);
int sys_vfork_wrapper(void);
int sys_cacheflush(uint32_t, uint32_t uint32_t);
int sys_arc_settls(void *);
int sys_arc_gettls(void);
Expand Down
4 changes: 2 additions & 2 deletions arch/arc/include/uapi/asm/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@
*/
struct user_regs_struct {

struct scratch {
struct {
long pad;
long bta, lp_start, lp_end, lp_count;
long status32, ret, blink, fp, gp;
long r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0;
long sp;
} scratch;
struct callee {
struct {
long pad;
long r25, r24, r23, r22, r21, r20;
long r19, r18, r17, r16, r15, r14, r13;
Expand Down
27 changes: 1 addition & 26 deletions arch/arc/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ tracesys:
; using ERET won't work since next-PC has already committed
lr r12, [efa]
GET_CURR_TASK_FIELD_PTR TASK_THREAD, r11
st r12, [r11, THREAD_FAULT_ADDR]
st r12, [r11, THREAD_FAULT_ADDR] ; thread.fault_address

; PRE Sys Call Ptrace hook
mov r0, sp ; pt_regs needed
Expand Down Expand Up @@ -792,31 +792,6 @@ ARC_EXIT ret_from_fork

;################### Special Sys Call Wrappers ##########################

; TBD: call do_fork directly from here
ARC_ENTRY sys_fork_wrapper
SAVE_CALLEE_SAVED_USER
bl @sys_fork
DISCARD_CALLEE_SAVED_USER

GET_CURR_THR_INFO_FLAGS r10
btst r10, TIF_SYSCALL_TRACE
bnz tracesys_exit

b ret_from_system_call
ARC_EXIT sys_fork_wrapper

ARC_ENTRY sys_vfork_wrapper
SAVE_CALLEE_SAVED_USER
bl @sys_vfork
DISCARD_CALLEE_SAVED_USER

GET_CURR_THR_INFO_FLAGS r10
btst r10, TIF_SYSCALL_TRACE
bnz tracesys_exit

b ret_from_system_call
ARC_EXIT sys_vfork_wrapper

ARC_ENTRY sys_clone_wrapper
SAVE_CALLEE_SAVED_USER
bl @sys_clone
Expand Down
1 change: 1 addition & 0 deletions arch/arc/kernel/kgdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
*/

#include <linux/kgdb.h>
#include <linux/sched.h>
#include <asm/disasm.h>
#include <asm/cacheflush.h>

Expand Down
4 changes: 1 addition & 3 deletions arch/arc/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -232,10 +232,8 @@ char *arc_extn_mumbojumbo(int cpu_id, char *buf, int len)

n += scnprintf(buf + n, len - n, "\n");

#ifdef _ASM_GENERIC_UNISTD_H
n += scnprintf(buf + n, len - n,
"OS ABI [v2]\t: asm-generic/{unistd,stat,fcntl}\n");
#endif
"OS ABI [v3]\t: no-legacy-syscalls\n");

return buf;
}
Expand Down
2 changes: 0 additions & 2 deletions arch/arc/kernel/sys.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
#include <asm/syscalls.h>

#define sys_clone sys_clone_wrapper
#define sys_fork sys_fork_wrapper
#define sys_vfork sys_vfork_wrapper

#undef __SYSCALL
#define __SYSCALL(nr, call) [nr] = (call),
Expand Down

0 comments on commit 67e17c1

Please sign in to comment.