Merge branch 'linus' into core/generic-dma-coherent
Conflicts: kernel/Makefile Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
commit
f6dc8ccaab
4324 changed files with 279591 additions and 293831 deletions
|
@ -1,6 +1,6 @@
|
|||
header-y += kvm.h
|
||||
|
||||
ifeq ($(wildcard include/asm-$(SRCARCH)/a.out.h),include/asm-$(SRCARCH)/a.out.h)
|
||||
ifneq ($(wildcard $(srctree)/include/asm-$(SRCARCH)/a.out.h),)
|
||||
unifdef-y += a.out.h
|
||||
endif
|
||||
unifdef-y += auxvec.h
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define _ASM_GENERIC_ATOMIC_H
|
||||
/*
|
||||
* Copyright (C) 2005 Silicon Graphics, Inc.
|
||||
* Christoph Lameter <clameter@sgi.com>
|
||||
* Christoph Lameter
|
||||
*
|
||||
* Allows to provide arch independent atomic definitions without the need to
|
||||
* edit all arch specific atomic.h files.
|
||||
|
|
|
@ -195,6 +195,63 @@ static inline int pmd_none_or_clear_bad(pmd_t *pmd)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline pte_t __ptep_modify_prot_start(struct mm_struct *mm,
|
||||
unsigned long addr,
|
||||
pte_t *ptep)
|
||||
{
|
||||
/*
|
||||
* Get the current pte state, but zero it out to make it
|
||||
* non-present, preventing the hardware from asynchronously
|
||||
* updating it.
|
||||
*/
|
||||
return ptep_get_and_clear(mm, addr, ptep);
|
||||
}
|
||||
|
||||
static inline void __ptep_modify_prot_commit(struct mm_struct *mm,
|
||||
unsigned long addr,
|
||||
pte_t *ptep, pte_t pte)
|
||||
{
|
||||
/*
|
||||
* The pte is non-present, so there's no hardware state to
|
||||
* preserve.
|
||||
*/
|
||||
set_pte_at(mm, addr, ptep, pte);
|
||||
}
|
||||
|
||||
#ifndef __HAVE_ARCH_PTEP_MODIFY_PROT_TRANSACTION
|
||||
/*
|
||||
* Start a pte protection read-modify-write transaction, which
|
||||
* protects against asynchronous hardware modifications to the pte.
|
||||
* The intention is not to prevent the hardware from making pte
|
||||
* updates, but to prevent any updates it may make from being lost.
|
||||
*
|
||||
* This does not protect against other software modifications of the
|
||||
* pte; the appropriate pte lock must be held over the transation.
|
||||
*
|
||||
* Note that this interface is intended to be batchable, meaning that
|
||||
* ptep_modify_prot_commit may not actually update the pte, but merely
|
||||
* queue the update to be done at some later time. The update must be
|
||||
* actually committed before the pte lock is released, however.
|
||||
*/
|
||||
static inline pte_t ptep_modify_prot_start(struct mm_struct *mm,
|
||||
unsigned long addr,
|
||||
pte_t *ptep)
|
||||
{
|
||||
return __ptep_modify_prot_start(mm, addr, ptep);
|
||||
}
|
||||
|
||||
/*
|
||||
* Commit an update to a pte, leaving any hardware-controlled bits in
|
||||
* the PTE unmodified.
|
||||
*/
|
||||
static inline void ptep_modify_prot_commit(struct mm_struct *mm,
|
||||
unsigned long addr,
|
||||
pte_t *ptep, pte_t pte)
|
||||
{
|
||||
__ptep_modify_prot_commit(mm, addr, ptep, pte);
|
||||
}
|
||||
#endif /* __HAVE_ARCH_PTEP_MODIFY_PROT_TRANSACTION */
|
||||
#endif /* CONFIG_MMU */
|
||||
|
||||
/*
|
||||
|
|
|
@ -60,7 +60,8 @@
|
|||
#ifndef node_to_cpumask_ptr
|
||||
|
||||
#define node_to_cpumask_ptr(v, node) \
|
||||
cpumask_t _##v = node_to_cpumask(node), *v = &_##v
|
||||
cpumask_t _##v = node_to_cpumask(node); \
|
||||
const cpumask_t *v = &_##v
|
||||
|
||||
#define node_to_cpumask_ptr_next(v, node) \
|
||||
_##v = node_to_cpumask(node)
|
||||
|
|
|
@ -67,6 +67,8 @@
|
|||
*(.rodata1) \
|
||||
} \
|
||||
\
|
||||
BUG_TABLE \
|
||||
\
|
||||
/* PCI quirks */ \
|
||||
.pci_fixup : AT(ADDR(.pci_fixup) - LOAD_OFFSET) { \
|
||||
VMLINUX_SYMBOL(__start_pci_fixups_early) = .; \
|
||||
|
@ -84,6 +86,19 @@
|
|||
VMLINUX_SYMBOL(__start_pci_fixups_resume) = .; \
|
||||
*(.pci_fixup_resume) \
|
||||
VMLINUX_SYMBOL(__end_pci_fixups_resume) = .; \
|
||||
VMLINUX_SYMBOL(__start_pci_fixups_resume_early) = .; \
|
||||
*(.pci_fixup_resume_early) \
|
||||
VMLINUX_SYMBOL(__end_pci_fixups_resume_early) = .; \
|
||||
VMLINUX_SYMBOL(__start_pci_fixups_suspend) = .; \
|
||||
*(.pci_fixup_suspend) \
|
||||
VMLINUX_SYMBOL(__end_pci_fixups_suspend) = .; \
|
||||
} \
|
||||
\
|
||||
/* Built-in firmware blobs */ \
|
||||
.builtin_fw : AT(ADDR(.builtin_fw) - LOAD_OFFSET) { \
|
||||
VMLINUX_SYMBOL(__start_builtin_fw) = .; \
|
||||
*(.builtin_fw) \
|
||||
VMLINUX_SYMBOL(__end_builtin_fw) = .; \
|
||||
} \
|
||||
\
|
||||
/* RapidIO route ops */ \
|
||||
|
@ -93,6 +108,8 @@
|
|||
VMLINUX_SYMBOL(__end_rio_route_ops) = .; \
|
||||
} \
|
||||
\
|
||||
TRACEDATA \
|
||||
\
|
||||
/* Kernel symbol table: Normal symbols */ \
|
||||
__ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { \
|
||||
VMLINUX_SYMBOL(__start___ksymtab) = .; \
|
||||
|
@ -310,6 +327,7 @@
|
|||
.stab.indexstr 0 : { *(.stab.indexstr) } \
|
||||
.comment 0 : { *(.comment) }
|
||||
|
||||
#ifdef CONFIG_GENERIC_BUG
|
||||
#define BUG_TABLE \
|
||||
. = ALIGN(8); \
|
||||
__bug_table : AT(ADDR(__bug_table) - LOAD_OFFSET) { \
|
||||
|
@ -317,6 +335,21 @@
|
|||
*(__bug_table) \
|
||||
__stop___bug_table = .; \
|
||||
}
|
||||
#else
|
||||
#define BUG_TABLE
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PM_TRACE
|
||||
#define TRACEDATA \
|
||||
. = ALIGN(4); \
|
||||
.tracedata : AT(ADDR(.tracedata) - LOAD_OFFSET) { \
|
||||
__tracedata_start = .; \
|
||||
*(.tracedata) \
|
||||
__tracedata_end = .; \
|
||||
}
|
||||
#else
|
||||
#define TRACEDATA
|
||||
#endif
|
||||
|
||||
#define NOTES \
|
||||
.notes : AT(ADDR(.notes) - LOAD_OFFSET) { \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue