diff options
author | Avi Kivity <avi@redhat.com> | 2012-08-05 06:25:10 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2012-08-05 06:25:10 -0400 |
commit | fe56097b23b1303b894eefd91582e4a64247d03f (patch) | |
tree | 4b3ab60eb19e8cfe2884e2da66dd4e4e25ae2274 /arch/s390/include/asm | |
parent | e115676e042f4d9268c6b6d8cb7dc962aa6cfd7d (diff) | |
parent | e7882d6c40874a5b5033ca85f7508a602a60b662 (diff) |
Merge remote-tracking branch 'upstream' into next
- bring back critical fixes (esp. aa67f6096c19bc)
- provide an updated base for development
* upstream: (4334 commits)
missed mnt_drop_write() in do_dentry_open()
UBIFS: nuke pdflush from comments
gfs2: nuke pdflush from comments
drbd: nuke pdflush from comments
nilfs2: nuke write_super from comments
hfs: nuke write_super from comments
vfs: nuke pdflush from comments
jbd/jbd2: nuke write_super from comments
btrfs: nuke pdflush from comments
btrfs: nuke write_super from comments
ext4: nuke pdflush from comments
ext4: nuke write_super from comments
ext3: nuke write_super from comments
Documentation: fix the VM knobs descritpion WRT pdflush
Documentation: get rid of write_super
vfs: kill write_super and sync_supers
ACPI processor: Fix tick_broadcast_mask online/offline regression
ACPI: Only count valid srat memory structures
ACPI: Untangle a return statement for better readability
Linux 3.6-rc1
...
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/s390/include/asm')
-rw-r--r-- | arch/s390/include/asm/mmu_context.h | 16 | ||||
-rw-r--r-- | arch/s390/include/asm/processor.h | 2 | ||||
-rw-r--r-- | arch/s390/include/asm/setup.h | 2 | ||||
-rw-r--r-- | arch/s390/include/asm/unistd.h | 1 |
4 files changed, 17 insertions, 4 deletions
diff --git a/arch/s390/include/asm/mmu_context.h b/arch/s390/include/asm/mmu_context.h index 5c63615f1349..b749c5733657 100644 --- a/arch/s390/include/asm/mmu_context.h +++ b/arch/s390/include/asm/mmu_context.h | |||
@@ -11,7 +11,6 @@ | |||
11 | #include <asm/uaccess.h> | 11 | #include <asm/uaccess.h> |
12 | #include <asm/tlbflush.h> | 12 | #include <asm/tlbflush.h> |
13 | #include <asm/ctl_reg.h> | 13 | #include <asm/ctl_reg.h> |
14 | #include <asm-generic/mm_hooks.h> | ||
15 | 14 | ||
16 | static inline int init_new_context(struct task_struct *tsk, | 15 | static inline int init_new_context(struct task_struct *tsk, |
17 | struct mm_struct *mm) | 16 | struct mm_struct *mm) |
@@ -58,7 +57,7 @@ static inline void update_mm(struct mm_struct *mm, struct task_struct *tsk) | |||
58 | pgd_t *pgd = mm->pgd; | 57 | pgd_t *pgd = mm->pgd; |
59 | 58 | ||
60 | S390_lowcore.user_asce = mm->context.asce_bits | __pa(pgd); | 59 | S390_lowcore.user_asce = mm->context.asce_bits | __pa(pgd); |
61 | if (user_mode != HOME_SPACE_MODE) { | 60 | if (addressing_mode != HOME_SPACE_MODE) { |
62 | /* Load primary space page table origin. */ | 61 | /* Load primary space page table origin. */ |
63 | asm volatile(LCTL_OPCODE" 1,1,%0\n" | 62 | asm volatile(LCTL_OPCODE" 1,1,%0\n" |
64 | : : "m" (S390_lowcore.user_asce) ); | 63 | : : "m" (S390_lowcore.user_asce) ); |
@@ -91,4 +90,17 @@ static inline void activate_mm(struct mm_struct *prev, | |||
91 | switch_mm(prev, next, current); | 90 | switch_mm(prev, next, current); |
92 | } | 91 | } |
93 | 92 | ||
93 | static inline void arch_dup_mmap(struct mm_struct *oldmm, | ||
94 | struct mm_struct *mm) | ||
95 | { | ||
96 | #ifdef CONFIG_64BIT | ||
97 | if (oldmm->context.asce_limit < mm->context.asce_limit) | ||
98 | crst_table_downgrade(mm, oldmm->context.asce_limit); | ||
99 | #endif | ||
100 | } | ||
101 | |||
102 | static inline void arch_exit_mmap(struct mm_struct *mm) | ||
103 | { | ||
104 | } | ||
105 | |||
94 | #endif /* __S390_MMU_CONTEXT_H */ | 106 | #endif /* __S390_MMU_CONTEXT_H */ |
diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/processor.h index 31feac630544..eac4fb5fb826 100644 --- a/arch/s390/include/asm/processor.h +++ b/arch/s390/include/asm/processor.h | |||
@@ -120,7 +120,9 @@ struct stack_frame { | |||
120 | regs->psw.mask = psw_user_bits | PSW_MASK_BA; \ | 120 | regs->psw.mask = psw_user_bits | PSW_MASK_BA; \ |
121 | regs->psw.addr = new_psw | PSW_ADDR_AMODE; \ | 121 | regs->psw.addr = new_psw | PSW_ADDR_AMODE; \ |
122 | regs->gprs[15] = new_stackp; \ | 122 | regs->gprs[15] = new_stackp; \ |
123 | __tlb_flush_mm(current->mm); \ | ||
123 | crst_table_downgrade(current->mm, 1UL << 31); \ | 124 | crst_table_downgrade(current->mm, 1UL << 31); \ |
125 | update_mm(current->mm, current); \ | ||
124 | } while (0) | 126 | } while (0) |
125 | 127 | ||
126 | /* Forward declaration, a strange C thing */ | 128 | /* Forward declaration, a strange C thing */ |
diff --git a/arch/s390/include/asm/setup.h b/arch/s390/include/asm/setup.h index 57e80534375a..e6859d16ee2d 100644 --- a/arch/s390/include/asm/setup.h +++ b/arch/s390/include/asm/setup.h | |||
@@ -60,7 +60,7 @@ void create_mem_hole(struct mem_chunk memory_chunk[], unsigned long addr, | |||
60 | #define SECONDARY_SPACE_MODE 2 | 60 | #define SECONDARY_SPACE_MODE 2 |
61 | #define HOME_SPACE_MODE 3 | 61 | #define HOME_SPACE_MODE 3 |
62 | 62 | ||
63 | extern unsigned int user_mode; | 63 | extern unsigned int addressing_mode; |
64 | 64 | ||
65 | /* | 65 | /* |
66 | * Machine features detected in head.S | 66 | * Machine features detected in head.S |
diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h index 2e37157ba6a9..6756e78f4808 100644 --- a/arch/s390/include/asm/unistd.h +++ b/arch/s390/include/asm/unistd.h | |||
@@ -388,7 +388,6 @@ | |||
388 | #define __IGNORE_recvmmsg | 388 | #define __IGNORE_recvmmsg |
389 | #define __IGNORE_sendmmsg | 389 | #define __IGNORE_sendmmsg |
390 | 390 | ||
391 | #define __ARCH_WANT_IPC_PARSE_VERSION | ||
392 | #define __ARCH_WANT_OLD_READDIR | 391 | #define __ARCH_WANT_OLD_READDIR |
393 | #define __ARCH_WANT_SYS_ALARM | 392 | #define __ARCH_WANT_SYS_ALARM |
394 | #define __ARCH_WANT_SYS_GETHOSTNAME | 393 | #define __ARCH_WANT_SYS_GETHOSTNAME |