diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-11 14:56:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-11 14:56:40 -0400 |
commit | ede1d63fccb7a397832ddbdee5951ec65194d93e (patch) | |
tree | c9cda036db9a4bc125cb27b282899500e6e8cf9e /arch/arm/mm | |
parent | b42e6dc66bf379d7d44d419dda8733c890838751 (diff) | |
parent | 98f07013149d4be18ff16cfc5b43218f3a70afd6 (diff) |
Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull second set of ARM changes from Russell King:
"This is the remainder of the ARM changes for this merge window.
Included in this request are:
- fixes for kprobes for big-endian support
- fix tracing in soft_restart
- avoid phys address overflow in kdump code
- fix reporting of read-only pmd bits in kernel page table dump
- remove unnecessary (and possibly buggy) call to outer_flush_all()
- fix a three sparse warnings (missing header file for function
prototypes)
- fix pj4 crashing single zImage (thanks to arm-soc merging changes
which enables this with knowledge that the corresponding fix had
not even been submitted for my tree before the merge window opened)
- vfp macro cleanups
- dump register state on undefined instruction userspace faults when
debugging"
* 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
Dump the registers on undefined instruction userspace faults
ARM: 8018/1: Add {inc,dec}_preempt_count asm macros
ARM: 8017/1: Move asm macro get_thread_info to asm/assembler.h
ARM: 8016/1: Check cpu id in pj4_cp0_init.
ARM: 8015/1: Add cpu_is_pj4 to distinguish PJ4 because it has some differences with V7
ARM: add missing system_misc.h include to process.c
ARM: 8009/1: dcscb.c: remove call to outer_flush_all()
ARM: 8014/1: mm: fix reporting of read-only PMD bits
ARM: 8012/1: kdump: Avoid overflow when converting pfn to physaddr
ARM: 8010/1: avoid tracers in soft_restart
ARM: kprobes-test: Workaround GAS .align bug
ARM: kprobes-test: use <asm/opcodes.h> for Thumb instruction building
ARM: kprobes-test: use <asm/opcodes.h> for ARM instruction building
ARM: kprobes-test: use <asm/opcodes.h> for instruction accesses
ARM: probes: fix instruction fetch order with <asm/opcodes.h>
Diffstat (limited to 'arch/arm/mm')
-rw-r--r-- | arch/arm/mm/dump.c | 47 |
1 files changed, 32 insertions, 15 deletions
diff --git a/arch/arm/mm/dump.c b/arch/arm/mm/dump.c index ef69152f9b52..c508f41a43bc 100644 --- a/arch/arm/mm/dump.c +++ b/arch/arm/mm/dump.c | |||
@@ -120,34 +120,51 @@ static const struct prot_bits pte_bits[] = { | |||
120 | }; | 120 | }; |
121 | 121 | ||
122 | static const struct prot_bits section_bits[] = { | 122 | static const struct prot_bits section_bits[] = { |
123 | #ifndef CONFIG_ARM_LPAE | 123 | #ifdef CONFIG_ARM_LPAE |
124 | /* These are approximate */ | 124 | { |
125 | .mask = PMD_SECT_USER, | ||
126 | .val = PMD_SECT_USER, | ||
127 | .set = "USR", | ||
128 | }, { | ||
129 | .mask = PMD_SECT_RDONLY, | ||
130 | .val = PMD_SECT_RDONLY, | ||
131 | .set = "ro", | ||
132 | .clear = "RW", | ||
133 | #elif __LINUX_ARM_ARCH__ >= 6 | ||
125 | { | 134 | { |
126 | .mask = PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, | 135 | .mask = PMD_SECT_APX | PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, |
127 | .val = 0, | 136 | .val = PMD_SECT_APX | PMD_SECT_AP_WRITE, |
128 | .set = " ro", | 137 | .set = " ro", |
129 | }, { | 138 | }, { |
130 | .mask = PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, | 139 | .mask = PMD_SECT_APX | PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, |
131 | .val = PMD_SECT_AP_WRITE, | 140 | .val = PMD_SECT_AP_WRITE, |
132 | .set = " RW", | 141 | .set = " RW", |
133 | }, { | 142 | }, { |
134 | .mask = PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, | 143 | .mask = PMD_SECT_APX | PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, |
135 | .val = PMD_SECT_AP_READ, | 144 | .val = PMD_SECT_AP_READ, |
136 | .set = "USR ro", | 145 | .set = "USR ro", |
137 | }, { | 146 | }, { |
138 | .mask = PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, | 147 | .mask = PMD_SECT_APX | PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, |
139 | .val = PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, | 148 | .val = PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, |
140 | .set = "USR RW", | 149 | .set = "USR RW", |
141 | #else | 150 | #else /* ARMv4/ARMv5 */ |
151 | /* These are approximate */ | ||
142 | { | 152 | { |
143 | .mask = PMD_SECT_USER, | 153 | .mask = PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, |
144 | .val = PMD_SECT_USER, | 154 | .val = 0, |
145 | .set = "USR", | 155 | .set = " ro", |
146 | }, { | 156 | }, { |
147 | .mask = PMD_SECT_RDONLY, | 157 | .mask = PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, |
148 | .val = PMD_SECT_RDONLY, | 158 | .val = PMD_SECT_AP_WRITE, |
149 | .set = "ro", | 159 | .set = " RW", |
150 | .clear = "RW", | 160 | }, { |
161 | .mask = PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, | ||
162 | .val = PMD_SECT_AP_READ, | ||
163 | .set = "USR ro", | ||
164 | }, { | ||
165 | .mask = PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, | ||
166 | .val = PMD_SECT_AP_READ | PMD_SECT_AP_WRITE, | ||
167 | .set = "USR RW", | ||
151 | #endif | 168 | #endif |
152 | }, { | 169 | }, { |
153 | .mask = PMD_SECT_XN, | 170 | .mask = PMD_SECT_XN, |