Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 55978
b: refs/heads/master
c: ee54d2d
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed May 11, 2007
1 parent 76d390f commit 2a46d33
Show file tree
Hide file tree
Showing 156 changed files with 5,795 additions and 5,184 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: da0dd231436ba7e81789e93dd933d7a275e1709d
refs/heads/master: ee54d2d87a8158d14434c1a3274bd7f713105836
6 changes: 3 additions & 3 deletions trunk/Documentation/SubmitChecklist
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ kernel patches.
If the new code is substantial, addition of subsystem-specific fault
injection might be appropriate.

22: Newly-added code has been compiled with `gcc -W'. This will generate
lots of noise, but is good for finding bugs like "warning: comparison
between signed and unsigned".
22: Newly-added code has been compiled with `gcc -W' (use "make
EXTRA_CFLAGS=-W"). This will generate lots of noise, but is good for
finding bugs like "warning: comparison between signed and unsigned".

23: Tested after it has been merged into the -mm patchset to make sure
that it still works with all of the other queued patches and various
Expand Down
4 changes: 3 additions & 1 deletion trunk/Documentation/gpio.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,9 @@ registers; another might implement it by delegating through abstractions
used for several very different kinds of GPIO controller.

That said, if the convention is supported on their platform, drivers should
use it when possible:
use it when possible. Platforms should declare GENERIC_GPIO support in
Kconfig (boolean true), which multi-platform drivers can depend on when
using the include file:

#include <asm/gpio.h>

Expand Down
12 changes: 6 additions & 6 deletions trunk/arch/frv/kernel/gdb-stub.c
Original file line number Diff line number Diff line change
Expand Up @@ -1195,7 +1195,7 @@ static void gdbstub_check_breakpoint(void)
/*
*
*/
static void __attribute__((unused)) gdbstub_show_regs(void)
static void __maybe_unused gdbstub_show_regs(void)
{
unsigned long *reg;
int loop;
Expand Down Expand Up @@ -1223,7 +1223,7 @@ static void __attribute__((unused)) gdbstub_show_regs(void)
/*
* dump debugging regs
*/
static void __attribute__((unused)) gdbstub_dump_debugregs(void)
static void __maybe_unused gdbstub_dump_debugregs(void)
{
gdbstub_printk("DCR %08lx ", __debug_status.dcr);
gdbstub_printk("BRR %08lx\n", __debug_status.brr);
Expand Down Expand Up @@ -2079,25 +2079,25 @@ void gdbstub_exit(int status)
* GDB wants to call malloc() and free() to allocate memory for calling kernel
* functions directly from its command line
*/
static void *malloc(size_t size) __attribute__((unused));
static void *malloc(size_t size) __maybe_unused;
static void *malloc(size_t size)
{
return kmalloc(size, GFP_ATOMIC);
}

static void free(void *p) __attribute__((unused));
static void free(void *p) __maybe_unused;
static void free(void *p)
{
kfree(p);
}

static uint32_t ___get_HSR0(void) __attribute__((unused));
static uint32_t ___get_HSR0(void) __maybe_unused;
static uint32_t ___get_HSR0(void)
{
return __get_HSR(0);
}

static uint32_t ___set_HSR0(uint32_t x) __attribute__((unused));
static uint32_t ___set_HSR0(uint32_t x) __maybe_unused;
static uint32_t ___set_HSR0(uint32_t x)
{
__set_HSR(0, x);
Expand Down
78 changes: 52 additions & 26 deletions trunk/arch/h8300/kernel/syscalls.S
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ SYMBOL_NAME_LABEL(sys_call_table)
.long SYMBOL_NAME(sys_mknod)
.long SYMBOL_NAME(sys_chmod) /* 15 */
.long SYMBOL_NAME(sys_chown16)
.long SYMBOL_NAME(sys_ni_syscall) /* old break syscall holder */
.long SYMBOL_NAME(sys_ni_syscall) /* old break syscall holder */
.long SYMBOL_NAME(sys_stat)
.long SYMBOL_NAME(sys_lseek)
.long SYMBOL_NAME(sys_getpid) /* 20 */
Expand All @@ -45,11 +45,11 @@ SYMBOL_NAME_LABEL(sys_call_table)
.long SYMBOL_NAME(sys_fstat)
.long SYMBOL_NAME(sys_pause)
.long SYMBOL_NAME(sys_utime) /* 30 */
.long SYMBOL_NAME(sys_ni_syscall) /* old stty syscall holder */
.long SYMBOL_NAME(sys_ni_syscall) /* old gtty syscall holder */
.long SYMBOL_NAME(sys_ni_syscall) /* old stty syscall holder */
.long SYMBOL_NAME(sys_ni_syscall) /* old gtty syscall holder */
.long SYMBOL_NAME(sys_access)
.long SYMBOL_NAME(sys_nice)
.long SYMBOL_NAME(sys_ni_syscall) /* 35 */ /* old ftime syscall holder */
.long SYMBOL_NAME(sys_ni_syscall) /* 35 old ftime syscall holder */
.long SYMBOL_NAME(sys_sync)
.long SYMBOL_NAME(sys_kill)
.long SYMBOL_NAME(sys_rename)
Expand All @@ -58,21 +58,21 @@ SYMBOL_NAME_LABEL(sys_call_table)
.long SYMBOL_NAME(sys_dup)
.long SYMBOL_NAME(sys_pipe)
.long SYMBOL_NAME(sys_times)
.long SYMBOL_NAME(sys_ni_syscall) /* old prof syscall holder */
.long SYMBOL_NAME(sys_ni_syscall) /* old prof syscall holder */
.long SYMBOL_NAME(sys_brk) /* 45 */
.long SYMBOL_NAME(sys_setgid16)
.long SYMBOL_NAME(sys_getgid16)
.long SYMBOL_NAME(sys_signal)
.long SYMBOL_NAME(sys_geteuid16)
.long SYMBOL_NAME(sys_getegid16) /* 50 */
.long SYMBOL_NAME(sys_acct)
.long SYMBOL_NAME(sys_umount) /* recycled never used phys() */
.long SYMBOL_NAME(sys_ni_syscall) /* old lock syscall holder */
.long SYMBOL_NAME(sys_umount) /* recycled never used phys() */
.long SYMBOL_NAME(sys_ni_syscall) /* old lock syscall holder */
.long SYMBOL_NAME(sys_ioctl)
.long SYMBOL_NAME(sys_fcntl) /* 55 */
.long SYMBOL_NAME(sys_ni_syscall) /* old mpx syscall holder */
.long SYMBOL_NAME(sys_ni_syscall) /* old mpx syscall holder */
.long SYMBOL_NAME(sys_setpgid)
.long SYMBOL_NAME(sys_ni_syscall) /* old ulimit syscall holder */
.long SYMBOL_NAME(sys_ni_syscall) /* old ulimit syscall holder */
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_umask) /* 60 */
.long SYMBOL_NAME(sys_chroot)
Expand Down Expand Up @@ -112,7 +112,7 @@ SYMBOL_NAME_LABEL(sys_call_table)
.long SYMBOL_NAME(sys_fchown16) /* 95 */
.long SYMBOL_NAME(sys_getpriority)
.long SYMBOL_NAME(sys_setpriority)
.long SYMBOL_NAME(sys_ni_syscall) /* old profil syscall holder */
.long SYMBOL_NAME(sys_ni_syscall) /* old profil syscall holder */
.long SYMBOL_NAME(sys_statfs)
.long SYMBOL_NAME(sys_fstatfs) /* 100 */
.long SYMBOL_NAME(sys_ni_syscall) /* ioperm for i386 */
Expand Down Expand Up @@ -202,8 +202,8 @@ SYMBOL_NAME_LABEL(sys_call_table)
.long SYMBOL_NAME(sys_capset) /* 185 */
.long SYMBOL_NAME(sys_sigaltstack)
.long SYMBOL_NAME(sys_sendfile)
.long SYMBOL_NAME(sys_ni_syscall) /* streams1 */
.long SYMBOL_NAME(sys_ni_syscall) /* streams2 */
.long SYMBOL_NAME(sys_ni_syscall) /* streams1 */
.long SYMBOL_NAME(sys_ni_syscall) /* streams2 */
.long SYMBOL_NAME(sys_vfork) /* 190 */
.long SYMBOL_NAME(sys_getrlimit)
.long SYMBOL_NAME(sys_mmap2)
Expand Down Expand Up @@ -236,10 +236,10 @@ SYMBOL_NAME_LABEL(sys_call_table)
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_getdents64) /* 220 */
.long SYMBOL_NAME(sys_fcntl64)
.long SYMBOL_NAME(sys_ni_syscall) /* reserved for TUX */
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_ni_syscall) /* reserved TUX */
.long SYMBOL_NAME(sys_ni_syscall) /* reserved Security */
.long SYMBOL_NAME(sys_gettid)
.long SYMBOL_NAME(sys_ni_syscall) /* 225 */ /* sys_readahead */
.long SYMBOL_NAME(sys_readahead) /* 225 */
.long SYMBOL_NAME(sys_setxattr)
.long SYMBOL_NAME(sys_lsetxattr)
.long SYMBOL_NAME(sys_fsetxattr)
Expand All @@ -257,8 +257,8 @@ SYMBOL_NAME_LABEL(sys_call_table)
.long SYMBOL_NAME(sys_futex) /* 240 */
.long SYMBOL_NAME(sys_sched_setaffinity)
.long SYMBOL_NAME(sys_sched_getaffinity)
.long SYMBOL_NAME(sys_ni_syscall) /* sys_set_thread_area */
.long SYMBOL_NAME(sys_ni_syscall) /* sys_get_thread_area */
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_io_setup) /* 245 */
.long SYMBOL_NAME(sys_io_destroy)
.long SYMBOL_NAME(sys_io_getevents)
Expand Down Expand Up @@ -288,25 +288,51 @@ SYMBOL_NAME_LABEL(sys_call_table)
.long SYMBOL_NAME(sys_utimes)
.long SYMBOL_NAME(sys_fadvise64_64)
.long SYMBOL_NAME(sys_ni_syscall) /* sys_vserver */
.long SYMBOL_NAME(sys_mbind)
.long SYMBOL_NAME(sys_get_mempolicy)
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_get_mempolicy) /* 275 */
.long SYMBOL_NAME(sys_set_mempolicy)
.long SYMBOL_NAME(sys_mq_open)
.long SYMBOL_NAME(sys_mq_unlink)
.long SYMBOL_NAME(sys_mq_timedsend)
.long SYMBOL_NAME(sys_mq_timedreceive) /* 280 */
.long SYMBOL_NAME(sys_mq_notify)
.long SYMBOL_NAME(sys_mq_getsetattr)
.long SYMBOL_NAME(sys_ni_syscall) /* reserved for kexec */
.long SYMBOL_NAME(sys_waitid)
.long SYMBOL_NAME(sys_ni_syscall) /* 285 */ /* available */
.long SYMBOL_NAME(sys_add_key)
.long SYMBOL_NAME(sys_ni_syscall) /* sys_kexec_load */
.long SYMBOL_NAME(sys_add_key) /* 285 */
.long SYMBOL_NAME(sys_request_key)
.long SYMBOL_NAME(sys_keyctl)

.rept NR_syscalls-(.-SYMBOL_NAME(sys_call_table))/4
.long SYMBOL_NAME(sys_ni_syscall)
.endr
.long SYMBOL_NAME(sys_ioprio_set)
.long SYMBOL_NAME(sys_ioprio_get) /* 290 */
.long SYMBOL_NAME(sys_inotify_init)
.long SYMBOL_NAME(sys_inotify_add_watch)
.long SYMBOL_NAME(sys_inotify_rm_watch)
.long SYMBOL_NAME(sys_migrate_pages)
.long SYMBOL_NAME(sys_openat) /* 295 */
.long SYMBOL_NAME(sys_mkdirat)
.long SYMBOL_NAME(sys_mknodat)
.long SYMBOL_NAME(sys_fchownat)
.long SYMBOL_NAME(sys_futimesat)
.long SYMBOL_NAME(sys_fstatat64) /* 300 */
.long SYMBOL_NAME(sys_unlinkat)
.long SYMBOL_NAME(sys_renameat)
.long SYMBOL_NAME(sys_linkat)
.long SYMBOL_NAME(sys_symlinkat)
.long SYMBOL_NAME(sys_readlinkat) /* 305 */
.long SYMBOL_NAME(sys_fchmodat)
.long SYMBOL_NAME(sys_faccessat)
.long SYMBOL_NAME(sys_ni_syscall) /* sys_pselect6 */
.long SYMBOL_NAME(sys_ni_syscall) /* sys_ppoll */
.long SYMBOL_NAME(sys_unshare) /* 310 */
.long SYMBOL_NAME(sys_set_robust_list)
.long SYMBOL_NAME(sys_get_robust_list)
.long SYMBOL_NAME(sys_splice)
.long SYMBOL_NAME(sys_sync_file_range)
.long SYMBOL_NAME(sys_tee) /* 315 */
.long SYMBOL_NAME(sys_vmsplice)
.long SYMBOL_NAME(sys_ni_syscall) /* sys_move_pages */
.long SYMBOL_NAME(sys_getcpu)
.long SYMBOL_NAME(sys_ni_syscall) /* sys_epoll_pwait */

.macro call_sp addr
mov.l #SYMBOL_NAME(\addr),er6
Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/i386/kernel/syscall_table.S
Original file line number Diff line number Diff line change
Expand Up @@ -320,3 +320,6 @@ ENTRY(sys_call_table)
.long sys_getcpu
.long sys_epoll_pwait
.long sys_utimensat /* 320 */
.long sys_signalfd
.long sys_timerfd
.long sys_eventfd
4 changes: 4 additions & 0 deletions trunk/arch/m32r/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,10 @@ config GENERIC_CALIBRATE_DELAY
bool
default y

config SCHED_NO_NO_OMIT_FRAME_POINTER
bool
default y

config PREEMPT
bool "Preemptible Kernel"
help
Expand Down
22 changes: 13 additions & 9 deletions trunk/arch/m32r/mm/mmu.S
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,8 @@ ENTRY(tme_handler)

; pte_data = (unsigned long)pte_val(*pte);
ld r2, @r3 ; r2: pte data
or3 r2, r2, #2 ; _PAGE_PRESENT(=2)
and3 r3, r2, #2 ; _PAGE_PRESENT(=2) check
beqz r3, 3f

.fillinsn
5:
Expand Down Expand Up @@ -264,11 +265,8 @@ ENTRY(tme_handler)
;
and3 r1, r1, #0xeff
ldi r4, #611 ; _KERNPG_TABLE(=611)
beq r1, r4, 4f ; !pmd_bad(*pmd) ?
.fillinsn
3:
ldi r1, #0 ; r1: pte_data = 0
bra 5f
bne r1, r4, 3f ; !pmd_bad(*pmd) ?

.fillinsn
4:
; pte = pte_offset(pmd, address);
Expand All @@ -282,8 +280,10 @@ ENTRY(tme_handler)
add r4, r3 ; r4: pte
; pte_data = (unsigned long)pte_val(*pte);
ld r1, @r4 ; r1: pte_data
.fillinsn
and3 r3, r1, #2 ; _PAGE_PRESENT(=2) check
beqz r3, 3f

.fillinsn
;; set tlb
; r0: address, r1: pte_data, r2: entry
; r3,r4: (free)
Expand All @@ -295,8 +295,7 @@ ENTRY(tme_handler)
and3 r4, r4, #(MMU_CONTEXT_ASID_MASK)
or r3, r4
st r3, @r2
or3 r4, r1, #2 ; _PAGE_PRESENT(=2)
st r4, @(4,r2) ; set_tlb_data(entry, pte_data);
st r1, @(4,r2) ; set_tlb_data(entry, pte_data);

ld r4, @sp+
ld r3, @sp+
Expand All @@ -306,6 +305,11 @@ ENTRY(tme_handler)
ld sp, @sp+
rte

.fillinsn
3:
ldi r1, #2 ; r1: pte_data = 0 | _PAGE_PRESENT(=2)
bra 5b

#else
#error unknown isa configuration
#endif
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ void local_irq_restore(unsigned long en)
lv1_get_version_info(&tmp);
}

hard_irq_enable();
__hard_irq_enable();
}
#endif /* CONFIG_PPC64 */

Expand Down
4 changes: 0 additions & 4 deletions trunk/arch/powerpc/kernel/swsusp.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,4 @@ void restore_processor_state(void)
#ifdef CONFIG_PPC32
set_context(current->active_mm->context.id, current->active_mm->pgd);
#endif

#ifdef CONFIG_PPC64
hard_irq_enable();
#endif
}
6 changes: 2 additions & 4 deletions trunk/arch/powerpc/platforms/cell/pervasive.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,10 @@ static void cbe_power_save(void)
unsigned long ctrl, thread_switch_control;

/*
* We need to hard disable interrupts, but we also need to mark them
* hard disabled in the PACA so that the local_irq_enable() done by
* our caller upon return propertly hard enables.
* We need to hard disable interrupts, the local_irq_enable() done by
* our caller upon return will hard re-enable.
*/
hard_irq_disable();
get_paca()->hard_enabled = 0;

ctrl = mfspr(SPRN_CTRLF);

Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/um/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,8 @@ config HIGHMEM

config KERNEL_STACK_ORDER
int "Kernel stack size order"
default 2
default 1 if 64BIT
default 0 if !64BIT
help
This option determines the size of UML kernel stacks. They will
be 1 << order pages. The default is OK unless you're running Valgrind
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/um/defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ CONFIG_MCONSOLE=y
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_NEST_LEVEL=0
# CONFIG_HIGHMEM is not set
CONFIG_KERNEL_STACK_ORDER=2
CONFIG_KERNEL_STACK_ORDER=0
CONFIG_UML_REAL_TIME_CLOCK=y

#
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/um/include/common-offsets.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,5 @@ DEFINE(UM_NR_CPUS, NR_CPUS);

/* For crypto assembler code. */
DEFINE(crypto_tfm_ctx_offset, offsetof(struct crypto_tfm, __crt_ctx));

DEFINE(UM_THREAD_SIZE, THREAD_SIZE);
3 changes: 3 additions & 0 deletions trunk/arch/um/include/kern_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -117,4 +117,7 @@ extern void sigio_handler(int sig, union uml_pt_regs *regs);

extern void copy_sc(union uml_pt_regs *regs, void *from);

unsigned long to_irq_stack(int sig, unsigned long *mask_out);
unsigned long from_irq_stack(int nested);

#endif
1 change: 0 additions & 1 deletion trunk/arch/um/include/os.h
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,6 @@ extern void do_longjmp(void *p, int val);

/* util.c */
extern void stack_protections(unsigned long address);
extern void task_protections(unsigned long address);
extern int raw(int fd);
extern void setup_machinename(char *machine_out);
extern void setup_hostinfo(char *buf, int len);
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/um/kernel/dyn.lds.S
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@ SECTIONS
.data : {
. = ALIGN(KERNEL_STACK_SIZE); /* init_task */
*(.data.init_task)
. = ALIGN(KERNEL_STACK_SIZE);
*(.data.init_irqstack)
*(.data .data.* .gnu.linkonce.d.*)
SORT(CONSTRUCTORS)
}
Expand Down
Loading

0 comments on commit 2a46d33

Please sign in to comment.