Merge tag 'arc-v3.9-rc1-late' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
Pull new ARC architecture from Vineet Gupta: "Initial ARC Linux port with some fixes on top for 3.9-rc1: I would like to introduce the Linux port to ARC Processors (from Synopsys) for 3.9-rc1. The patch-set has been discussed on the public lists since Nov and has received a fair bit of review, specially from Arnd, tglx, Al and other subsystem maintainers for DeviceTree, kgdb... The arch bits are in arch/arc, some asm-generic changes (acked by Arnd), a minor change to PARISC (acked by Helge). The series is a touch bigger for a new port for 2 main reasons: 1. It enables a basic kernel in first sub-series and adds ptrace/kgdb/.. later 2. Some of the fallout of review (DeviceTree support, multi-platform- image support) were added on top of orig series, primarily to record the revision history. This updated pull request additionally contains - fixes due to our GNU tools catching up with the new syscall/ptrace ABI - some (minor) cross-arch Kconfig updates." * tag 'arc-v3.9-rc1-late' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: (82 commits) ARC: split elf.h into uapi and export it for userspace ARC: Fixup the current ABI version ARC: gdbserver using regset interface possibly broken ARC: Kconfig cleanup tracking cross-arch Kconfig pruning in merge window ARC: make a copy of flat DT ARC: [plat-arcfpga] DT arc-uart bindings change: "baud" => "current-speed" ARC: Ensure CONFIG_VIRT_TO_BUS is not enabled ARC: Fix pt_orig_r8 access ARC: [3.9] Fallout of hlist iterator update ARC: 64bit RTSC timestamp hardware issue ARC: Don't fiddle with non-existent caches ARC: Add self to MAINTAINERS ARC: Provide a default serial.h for uart drivers needing BASE_BAUD ARC: [plat-arcfpga] defconfig for fully loaded ARC Linux ARC: [Review] Multi-platform image #8: platform registers SMP callbacks ARC: [Review] Multi-platform image #7: SMP common code to use callbacks ARC: [Review] Multi-platform image #6: cpu-to-dma-addr optional ARC: [Review] Multi-platform image #5: NR_IRQS defined by ARC core ARC: [Review] Multi-platform image #4: Isolate platform headers ARC: [Review] Multi-platform image #3: switch to board callback ...
This commit is contained in:
@@ -38,12 +38,15 @@ extern __wsum csum_partial_copy_from_user(const void __user *src, void *dst,
|
||||
csum_partial_copy((src), (dst), (len), (sum))
|
||||
#endif
|
||||
|
||||
#ifndef ip_fast_csum
|
||||
/*
|
||||
* This is a version of ip_compute_csum() optimized for IP headers,
|
||||
* which always checksum on 4 octet boundaries.
|
||||
*/
|
||||
extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
|
||||
#endif
|
||||
|
||||
#ifndef csum_fold
|
||||
/*
|
||||
* Fold a partial checksum
|
||||
*/
|
||||
@@ -54,6 +57,7 @@ static inline __sum16 csum_fold(__wsum csum)
|
||||
sum = (sum & 0xffff) + (sum >> 16);
|
||||
return (__force __sum16)~sum;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef csum_tcpudp_nofold
|
||||
/*
|
||||
|
@@ -7,7 +7,6 @@
|
||||
* address space, e.g. all NOMMU machines.
|
||||
*/
|
||||
#include <linux/sched.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/string.h>
|
||||
|
||||
#include <asm/segment.h>
|
||||
@@ -32,7 +31,9 @@ static inline void set_fs(mm_segment_t fs)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef segment_eq
|
||||
#define segment_eq(a, b) ((a).seg == (b).seg)
|
||||
#endif
|
||||
|
||||
#define VERIFY_READ 0
|
||||
#define VERIFY_WRITE 1
|
||||
@@ -168,12 +169,18 @@ static inline __must_check long __copy_to_user(void __user *to,
|
||||
-EFAULT; \
|
||||
})
|
||||
|
||||
#ifndef __put_user_fn
|
||||
|
||||
static inline int __put_user_fn(size_t size, void __user *ptr, void *x)
|
||||
{
|
||||
size = __copy_to_user(ptr, x, size);
|
||||
return size ? -EFAULT : size;
|
||||
}
|
||||
|
||||
#define __put_user_fn(sz, u, k) __put_user_fn(sz, u, k)
|
||||
|
||||
#endif
|
||||
|
||||
extern int __put_user_bad(void) __attribute__((noreturn));
|
||||
|
||||
#define __get_user(x, ptr) \
|
||||
@@ -224,12 +231,17 @@ extern int __put_user_bad(void) __attribute__((noreturn));
|
||||
-EFAULT; \
|
||||
})
|
||||
|
||||
#ifndef __get_user_fn
|
||||
static inline int __get_user_fn(size_t size, const void __user *ptr, void *x)
|
||||
{
|
||||
size = __copy_from_user(x, ptr, size);
|
||||
return size ? -EFAULT : size;
|
||||
}
|
||||
|
||||
#define __get_user_fn(sz, u, k) __get_user_fn(sz, u, k)
|
||||
|
||||
#endif
|
||||
|
||||
extern int __get_user_bad(void) __attribute__((noreturn));
|
||||
|
||||
#ifndef __copy_from_user_inatomic
|
||||
|
Reference in New Issue
Block a user