~ubuntu-branches/debian/wheezy/linux-2.6/wheezy

« back to all changes in this revision

Viewing changes to arch/m68k/kernel/sys_m68k_no.c

  • Committer: Bazaar Package Importer
  • Author(s): Ben Hutchings, Ben Hutchings, Aurelien Jarno
  • Date: 2011-06-07 12:14:05 UTC
  • mfrom: (43.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20110607121405-i3h1rd7nrnd2b73h
Tags: 2.6.39-2
[ Ben Hutchings ]
* [x86] Enable BACKLIGHT_APPLE, replacing BACKLIGHT_MBP_NVIDIA
  (Closes: #627492)
* cgroups: Disable memory resource controller by default. Allow it
  to be enabled using kernel parameter 'cgroup_enable=memory'.
* rt2800usb: Enable support for more USB devices including
  Linksys WUSB600N (Closes: #596626) (this change was accidentally
  omitted from 2.6.39-1)
* [x86] Remove Celeron from list of processors supporting PAE. Most
  'Celeron M' models do not.
* Update debconf template translations:
  - Swedish (Martin Bagge) (Closes: #628932)
  - French (David Prévot) (Closes: #628191)
* aufs: Update for 2.6.39 (Closes: #627837)
* Add stable 2.6.39.1, including:
  - ext4: dont set PageUptodate in ext4_end_bio()
  - pata_cmd64x: fix boot crash on parisc (Closes: #622997, #622745)
  - ext3: Fix fs corruption when make_indexed_dir() fails
  - netfilter: nf_ct_sip: validate Content-Length in TCP SIP messages
  - sctp: fix race between sctp_bind_addr_free() and
    sctp_bind_addr_conflict()
  - sctp: fix memory leak of the ASCONF queue when free asoc
  - md/bitmap: fix saving of events_cleared and other state
  - cdc_acm: Fix oops when Droids MuIn LCD is connected
  - cx88: Fix conversion from BKL to fine-grained locks (Closes: #619827)
  - keys: Set cred->user_ns in key_replace_session_keyring (CVE-2011-2184)
  - tmpfs: fix race between truncate and writepage
  - nfs41: Correct offset for LAYOUTCOMMIT
  - xen/mmu: fix a race window causing leave_mm BUG()
  - ext4: fix possible use-after-free in ext4_remove_li_request()
  For the complete list of changes, see:
   http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.39.1
* Bump ABI to 2
* netfilter: Enable IP_SET, IP_SET_BITMAP_IP, IP_SET_BITMAP_IPMAC,
  IP_SET_BITMAP_PORT, IP_SET_HASH_IP, IP_SET_HASH_IPPORT,
  IP_SET_HASH_IPPORTIP, IP_SET_HASH_IPPORTNET, IP_SET_HASH_NET,
  IP_SET_HASH_NETPORT, IP_SET_LIST_SET, NETFILTER_XT_SET as modules
  (Closes: #629401)

[ Aurelien Jarno ]
* [mipsel/loongson-2f] Disable_SCSI_LPFC to workaround GCC ICE.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * linux/arch/m68knommu/kernel/sys_m68k.c
 
3
 *
 
4
 * This file contains various random system calls that
 
5
 * have a non-standard calling sequence on the Linux/m68k
 
6
 * platform.
 
7
 */
 
8
 
 
9
#include <linux/errno.h>
 
10
#include <linux/sched.h>
 
11
#include <linux/mm.h>
 
12
#include <linux/smp.h>
 
13
#include <linux/sem.h>
 
14
#include <linux/msg.h>
 
15
#include <linux/shm.h>
 
16
#include <linux/stat.h>
 
17
#include <linux/syscalls.h>
 
18
#include <linux/mman.h>
 
19
#include <linux/file.h>
 
20
#include <linux/ipc.h>
 
21
#include <linux/fs.h>
 
22
 
 
23
#include <asm/setup.h>
 
24
#include <asm/uaccess.h>
 
25
#include <asm/cachectl.h>
 
26
#include <asm/traps.h>
 
27
#include <asm/cacheflush.h>
 
28
#include <asm/unistd.h>
 
29
 
 
30
/* sys_cacheflush -- flush (part of) the processor cache.  */
 
31
asmlinkage int
 
32
sys_cacheflush (unsigned long addr, int scope, int cache, unsigned long len)
 
33
{
 
34
        flush_cache_all();
 
35
        return(0);
 
36
}
 
37
 
 
38
asmlinkage int sys_getpagesize(void)
 
39
{
 
40
        return PAGE_SIZE;
 
41
}
 
42
 
 
43
/*
 
44
 * Do a system call from kernel instead of calling sys_execve so we
 
45
 * end up with proper pt_regs.
 
46
 */
 
47
int kernel_execve(const char *filename,
 
48
                  const char *const argv[],
 
49
                  const char *const envp[])
 
50
{
 
51
        register long __res asm ("%d0") = __NR_execve;
 
52
        register long __a asm ("%d1") = (long)(filename);
 
53
        register long __b asm ("%d2") = (long)(argv);
 
54
        register long __c asm ("%d3") = (long)(envp);
 
55
        asm volatile ("trap  #0" : "+d" (__res)
 
56
                        : "d" (__a), "d" (__b), "d" (__c));
 
57
        return __res;
 
58
}
 
59
 
 
60
asmlinkage unsigned long sys_get_thread_area(void)
 
61
{
 
62
        return current_thread_info()->tp_value;
 
63
}
 
64
 
 
65
asmlinkage int sys_set_thread_area(unsigned long tp)
 
66
{
 
67
        current_thread_info()->tp_value = tp;
 
68
        return 0;
 
69
}
 
70
 
 
71
/* This syscall gets its arguments in A0 (mem), D2 (oldval) and
 
72
   D1 (newval).  */
 
73
asmlinkage int
 
74
sys_atomic_cmpxchg_32(unsigned long newval, int oldval, int d3, int d4, int d5,
 
75
                      unsigned long __user * mem)
 
76
{
 
77
        struct mm_struct *mm = current->mm;
 
78
        unsigned long mem_value;
 
79
 
 
80
        down_read(&mm->mmap_sem);
 
81
 
 
82
        mem_value = *mem;
 
83
        if (mem_value == oldval)
 
84
                *mem = newval;
 
85
 
 
86
        up_read(&mm->mmap_sem);
 
87
        return mem_value;
 
88
}
 
89
 
 
90
asmlinkage int sys_atomic_barrier(void)
 
91
{
 
92
        /* no code needed for uniprocs */
 
93
        return 0;
 
94
}