aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-05-23 12:01:41 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-23 12:01:41 -0400
commit3a8580f82024e30b31c662aa49346adf7a3bcdb5 (patch)
tree7769a01f152b4081f4e4225e499082fd5c67b184 /arch/um/include
parent1d767cae4dbd4116fc3b2cc3251a20760f98339f (diff)
parent2ccf62b36097aa88e0ea152d6ef0c0ca2d3884e6 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
Pull UML updates from Richard Weinberger: "Most changes are bug fixes and cleanups" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: um: missing checks of __put_user()/__get_user() return values um: stub_rt_sigsuspend isn't needed these days anymore um/x86: merge (and trim) 32- and 64-bit variants of ptrace.h irq: Remove irq_chip->release() um: Remove CONFIG_IRQ_RELEASE_METHOD um: Remove usage of irq_chip->release() um: Implement um_free_irq() um: Fix __swp_type() um: Implement a custom pte_same() function um: Add BUG() to do_ops()'s error path um: Remove unused variables um: bury unused _TIF_RESTORE_SIGMASK um: wrong sigmask saved in case of multiple sigframes um: add TIF_NOTIFY_RESUME um: ->restart_block.fn needs to be reset on sigreturn
Diffstat (limited to 'arch/um/include')
-rw-r--r--arch/um/include/asm/pgtable.h10
-rw-r--r--arch/um/include/asm/thread_info.h2
-rw-r--r--arch/um/include/shared/irq_kern.h2
3 files changed, 10 insertions, 4 deletions
diff --git a/arch/um/include/asm/pgtable.h b/arch/um/include/asm/pgtable.h
index 6a3f9845743e..5888f1b83477 100644
--- a/arch/um/include/asm/pgtable.h
+++ b/arch/um/include/asm/pgtable.h
@@ -273,6 +273,12 @@ static inline void set_pte(pte_t *pteptr, pte_t pteval)
273} 273}
274#define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) 274#define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval)
275 275
276#define __HAVE_ARCH_PTE_SAME
277static inline int pte_same(pte_t pte_a, pte_t pte_b)
278{
279 return !((pte_val(pte_a) ^ pte_val(pte_b)) & ~_PAGE_NEWPAGE);
280}
281
276/* 282/*
277 * Conversion functions: convert a page and protection to a page entry, 283 * Conversion functions: convert a page and protection to a page entry,
278 * and a page entry and page directory to the page they refer to. 284 * and a page entry and page directory to the page they refer to.
@@ -348,11 +354,11 @@ extern pte_t *virt_to_pte(struct mm_struct *mm, unsigned long addr);
348#define update_mmu_cache(vma,address,ptep) do ; while (0) 354#define update_mmu_cache(vma,address,ptep) do ; while (0)
349 355
350/* Encode and de-code a swap entry */ 356/* Encode and de-code a swap entry */
351#define __swp_type(x) (((x).val >> 4) & 0x3f) 357#define __swp_type(x) (((x).val >> 5) & 0x1f)
352#define __swp_offset(x) ((x).val >> 11) 358#define __swp_offset(x) ((x).val >> 11)
353 359
354#define __swp_entry(type, offset) \ 360#define __swp_entry(type, offset) \
355 ((swp_entry_t) { ((type) << 4) | ((offset) << 11) }) 361 ((swp_entry_t) { ((type) << 5) | ((offset) << 11) })
356#define __pte_to_swp_entry(pte) \ 362#define __pte_to_swp_entry(pte) \
357 ((swp_entry_t) { pte_val(pte_mkuptodate(pte)) }) 363 ((swp_entry_t) { pte_val(pte_mkuptodate(pte)) })
358#define __swp_entry_to_pte(x) ((pte_t) { (x).val }) 364#define __swp_entry_to_pte(x) ((pte_t) { (x).val })
diff --git a/arch/um/include/asm/thread_info.h b/arch/um/include/asm/thread_info.h
index 200c4ab1240c..c04e5ab68f56 100644
--- a/arch/um/include/asm/thread_info.h
+++ b/arch/um/include/asm/thread_info.h
@@ -71,6 +71,7 @@ static inline struct thread_info *current_thread_info(void)
71#define TIF_MEMDIE 5 /* is terminating due to OOM killer */ 71#define TIF_MEMDIE 5 /* is terminating due to OOM killer */
72#define TIF_SYSCALL_AUDIT 6 72#define TIF_SYSCALL_AUDIT 6
73#define TIF_RESTORE_SIGMASK 7 73#define TIF_RESTORE_SIGMASK 7
74#define TIF_NOTIFY_RESUME 8
74 75
75#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) 76#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE)
76#define _TIF_SIGPENDING (1 << TIF_SIGPENDING) 77#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
@@ -78,6 +79,5 @@ static inline struct thread_info *current_thread_info(void)
78#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG) 79#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
79#define _TIF_MEMDIE (1 << TIF_MEMDIE) 80#define _TIF_MEMDIE (1 << TIF_MEMDIE)
80#define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT) 81#define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)
81#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
82 82
83#endif 83#endif
diff --git a/arch/um/include/shared/irq_kern.h b/arch/um/include/shared/irq_kern.h
index b05d22f3d84e..7a5bfa6291b8 100644
--- a/arch/um/include/shared/irq_kern.h
+++ b/arch/um/include/shared/irq_kern.h
@@ -13,6 +13,6 @@ extern int um_request_irq(unsigned int irq, int fd, int type,
13 irq_handler_t handler, 13 irq_handler_t handler,
14 unsigned long irqflags, const char * devname, 14 unsigned long irqflags, const char * devname,
15 void *dev_id); 15 void *dev_id);
16 16void um_free_irq(unsigned int irq, void *dev);
17#endif 17#endif
18 18