Skip to content

Commit 0fa2133

Browse files
committed
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (103 commits) powerpc: Fix bug in move of altivec code to vector.S powerpc: Add support for swiotlb on 32-bit powerpc/spufs: Remove unused error path powerpc: Fix warning when printing a resource_size_t powerpc/xmon: Remove unused variable in xmon.c powerpc/pseries: Fix warnings when printing resource_size_t powerpc: Shield code specific to 64-bit server processors powerpc: Separate PACA fields for server CPUs powerpc: Split exception handling out of head_64.S powerpc: Introduce CONFIG_PPC_BOOK3S powerpc: Move VMX and VSX asm code to vector.S powerpc: Set init_bootmem_done on NUMA platforms as well powerpc/mm: Fix a AB->BA deadlock scenario with nohash MMU context lock powerpc/mm: Fix some SMP issues with MMU context handling powerpc: Add PTRACE_SINGLEBLOCK support fbdev: Add PLB support and cleanup DCR in xilinxfb driver. powerpc/virtex: Add ml510 reference design device tree powerpc/virtex: Add Xilinx ML510 reference design support powerpc/virtex: refactor intc driver and add support for i8259 cascading powerpc/virtex: Add support for Xilinx PCI host bridge ...
2 parents d3bf80b + bc47ab0 commit 0fa2133

File tree

192 files changed

+6189
-2355
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

192 files changed

+6189
-2355
lines changed

Documentation/kernel-parameters.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,13 @@ and is between 256 and 4096 characters. It is defined in the file
491491
Also note the kernel might malfunction if you disable
492492
some critical bits.
493493

494+
cmo_free_hint= [PPC] Format: { yes | no }
495+
Specify whether pages are marked as being inactive
496+
when they are freed. This is used in CMO environments
497+
to determine OS memory pressure for page stealing by
498+
a hypervisor.
499+
Default: yes
500+
494501
code_bytes [X86] How many bytes of object code to print
495502
in an oops report.
496503
Range: 0 - 8192
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
=====================================================================
2+
E500 LAW & Coherency Module Device Tree Binding
3+
Copyright (C) 2009 Freescale Semiconductor Inc.
4+
=====================================================================
5+
6+
Local Access Window (LAW) Node
7+
8+
The LAW node represents the region of CCSR space where local access
9+
windows are configured. For ECM based devices this is the first 4k
10+
of CCSR space that includes CCSRBAR, ALTCBAR, ALTCAR, BPTR, and some
11+
number of local access windows as specified by fsl,num-laws.
12+
13+
PROPERTIES
14+
15+
- compatible
16+
Usage: required
17+
Value type: <string>
18+
Definition: Must include "fsl,ecm-law"
19+
20+
- reg
21+
Usage: required
22+
Value type: <prop-encoded-array>
23+
Definition: A standard property. The value specifies the
24+
physical address offset and length of the CCSR space
25+
registers.
26+
27+
- fsl,num-laws
28+
Usage: required
29+
Value type: <u32>
30+
Definition: The value specifies the number of local access
31+
windows for this device.
32+
33+
=====================================================================
34+
35+
E500 Coherency Module Node
36+
37+
The E500 LAW node represents the region of CCSR space where ECM config
38+
and error reporting registers exist, this is the second 4k (0x1000)
39+
of CCSR space.
40+
41+
PROPERTIES
42+
43+
- compatible
44+
Usage: required
45+
Value type: <string>
46+
Definition: Must include "fsl,CHIP-ecm", "fsl,ecm" where
47+
CHIP is the processor (mpc8572, mpc8544, etc.)
48+
49+
- reg
50+
Usage: required
51+
Value type: <prop-encoded-array>
52+
Definition: A standard property. The value specifies the
53+
physical address offset and length of the CCSR space
54+
registers.
55+
56+
- interrupts
57+
Usage: required
58+
Value type: <prop-encoded-array>
59+
60+
- interrupt-parent
61+
Usage: required
62+
Value type: <phandle>
63+
64+
=====================================================================

Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ Required properties:
1717
- model : precise model of the QE, Can be "QE", "CPM", or "CPM2"
1818
- reg : offset and length of the device registers.
1919
- bus-frequency : the clock frequency for QUICC Engine.
20+
- fsl,qe-num-riscs: define how many RISC engines the QE has.
21+
- fsl,qe-num-snums: define how many serial number(SNUM) the QE can use for the
22+
threads.
2023

2124
Recommended properties
2225
- brg-frequency : the internal clock source frequency for baud-rate

Documentation/powerpc/dts-bindings/fsl/esdhc.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ for MMC, SD, and SDIO types of memory cards.
55

66
Required properties:
77
- compatible : should be
8-
"fsl,<chip>-esdhc", "fsl,mpc8379-esdhc" for MPC83xx processors.
9-
"fsl,<chip>-esdhc", "fsl,mpc8536-esdhc" for MPC85xx processors.
8+
"fsl,<chip>-esdhc", "fsl,esdhc"
109
- reg : should contain eSDHC registers location and length.
1110
- interrupts : should contain eSDHC interrupt.
1211
- interrupt-parent : interrupt source phandle.
@@ -15,7 +14,7 @@ Required properties:
1514
Example:
1615

1716
sdhci@2e000 {
18-
compatible = "fsl,mpc8378-esdhc", "fsl,mpc8379-esdhc";
17+
compatible = "fsl,mpc8378-esdhc", "fsl,esdhc";
1918
reg = <0x2e000 0x1000>;
2019
interrupts = <42 0x8>;
2120
interrupt-parent = <&ipic>;
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
=====================================================================
2+
MPX LAW & Coherency Module Device Tree Binding
3+
Copyright (C) 2009 Freescale Semiconductor Inc.
4+
=====================================================================
5+
6+
Local Access Window (LAW) Node
7+
8+
The LAW node represents the region of CCSR space where local access
9+
windows are configured. For MCM based devices this is the first 4k
10+
of CCSR space that includes CCSRBAR, ALTCBAR, ALTCAR, BPTR, and some
11+
number of local access windows as specified by fsl,num-laws.
12+
13+
PROPERTIES
14+
15+
- compatible
16+
Usage: required
17+
Value type: <string>
18+
Definition: Must include "fsl,mcm-law"
19+
20+
- reg
21+
Usage: required
22+
Value type: <prop-encoded-array>
23+
Definition: A standard property. The value specifies the
24+
physical address offset and length of the CCSR space
25+
registers.
26+
27+
- fsl,num-laws
28+
Usage: required
29+
Value type: <u32>
30+
Definition: The value specifies the number of local access
31+
windows for this device.
32+
33+
=====================================================================
34+
35+
MPX Coherency Module Node
36+
37+
The MPX LAW node represents the region of CCSR space where MCM config
38+
and error reporting registers exist, this is the second 4k (0x1000)
39+
of CCSR space.
40+
41+
PROPERTIES
42+
43+
- compatible
44+
Usage: required
45+
Value type: <string>
46+
Definition: Must include "fsl,CHIP-mcm", "fsl,mcm" where
47+
CHIP is the processor (mpc8641, mpc8610, etc.)
48+
49+
- reg
50+
Usage: required
51+
Value type: <prop-encoded-array>
52+
Definition: A standard property. The value specifies the
53+
physical address offset and length of the CCSR space
54+
registers.
55+
56+
- interrupts
57+
Usage: required
58+
Value type: <prop-encoded-array>
59+
60+
- interrupt-parent
61+
Usage: required
62+
Value type: <phandle>
63+
64+
=====================================================================

arch/powerpc/Kconfig

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ config GENERIC_HARDIRQS
4242
bool
4343
default y
4444

45+
config GENERIC_HARDIRQS_NO__DO_IRQ
46+
bool
47+
default y
48+
4549
config HAVE_SETUP_PER_CPU_AREA
4650
def_bool PPC64
4751

@@ -296,9 +300,19 @@ config IOMMU_VMERGE
296300
config IOMMU_HELPER
297301
def_bool PPC64
298302

303+
config SWIOTLB
304+
bool "SWIOTLB support"
305+
default n
306+
select IOMMU_HELPER
307+
---help---
308+
Support for IO bounce buffering for systems without an IOMMU.
309+
This allows us to DMA to the full physical address space on
310+
platforms where the size of a physical address is larger
311+
than the bus address. Not all platforms support this.
312+
299313
config PPC_NEED_DMA_SYNC_OPS
300314
def_bool y
301-
depends on NOT_COHERENT_CACHE
315+
depends on (NOT_COHERENT_CACHE || SWIOTLB)
302316

303317
config HOTPLUG_CPU
304318
bool "Support for enabling/disabling CPUs"

arch/powerpc/Kconfig.debug

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,19 @@ config HCALL_STATS
4141
This option will add a small amount of overhead to all hypervisor
4242
calls.
4343

44+
config PPC_EMULATED_STATS
45+
bool "Emulated instructions tracking"
46+
depends on DEBUG_FS
47+
help
48+
Adds code to keep track of the number of instructions that are
49+
emulated by the in-kernel emulator. Counters for the various classes
50+
of emulated instructions are available under
51+
powerpc/emulated_instructions/ in the root of the debugfs file
52+
system. Optionally (controlled by
53+
powerpc/emulated_instructions/do_warn in debugfs), rate-limited
54+
warnings can be printed to the console when instructions are
55+
emulated.
56+
4457
config CODE_PATCHING_SELFTEST
4558
bool "Run self-tests of the code-patching code."
4659
depends on DEBUG_KERNEL

arch/powerpc/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ head-$(CONFIG_FSL_BOOKE) := arch/powerpc/kernel/head_fsl_booke.o
142142

143143
head-$(CONFIG_PPC64) += arch/powerpc/kernel/entry_64.o
144144
head-$(CONFIG_PPC_FPU) += arch/powerpc/kernel/fpu.o
145+
head-$(CONFIG_ALTIVEC) += arch/powerpc/kernel/vector.o
145146

146147
core-y += arch/powerpc/kernel/ \
147148
arch/powerpc/mm/ \

arch/powerpc/boot/dts/gef_ppc9a.dts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,9 +164,21 @@
164164
device_type = "soc";
165165
compatible = "fsl,mpc8641-soc", "simple-bus";
166166
ranges = <0x0 0xfef00000 0x00100000>;
167-
reg = <0xfef00000 0x100000>; // CCSRBAR 1M
168167
bus-frequency = <33333333>;
169168

169+
mcm-law@0 {
170+
compatible = "fsl,mcm-law";
171+
reg = <0x0 0x1000>;
172+
fsl,num-laws = <10>;
173+
};
174+
175+
mcm@1000 {
176+
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
177+
reg = <0x1000 0x1000>;
178+
interrupts = <17 2>;
179+
interrupt-parent = <&mpic>;
180+
};
181+
170182
i2c1: i2c@3000 {
171183
#address-cells = <1>;
172184
#size-cells = <0>;

arch/powerpc/boot/dts/gef_sbc310.dts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,21 @@
163163
device_type = "soc";
164164
compatible = "simple-bus";
165165
ranges = <0x0 0xfef00000 0x00100000>;
166-
reg = <0xfef00000 0x100000>; // CCSRBAR 1M
167166
bus-frequency = <33333333>;
168167

168+
mcm-law@0 {
169+
compatible = "fsl,mcm-law";
170+
reg = <0x0 0x1000>;
171+
fsl,num-laws = <10>;
172+
};
173+
174+
mcm@1000 {
175+
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
176+
reg = <0x1000 0x1000>;
177+
interrupts = <17 2>;
178+
interrupt-parent = <&mpic>;
179+
};
180+
169181
i2c1: i2c@3000 {
170182
#address-cells = <1>;
171183
#size-cells = <0>;

arch/powerpc/boot/dts/gef_sbc610.dts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,21 @@
128128
device_type = "soc";
129129
compatible = "simple-bus";
130130
ranges = <0x0 0xfef00000 0x00100000>;
131-
reg = <0xfef00000 0x100000>; // CCSRBAR 1M
132131
bus-frequency = <33333333>;
133132

133+
mcm-law@0 {
134+
compatible = "fsl,mcm-law";
135+
reg = <0x0 0x1000>;
136+
fsl,num-laws = <10>;
137+
};
138+
139+
mcm@1000 {
140+
compatible = "fsl,mpc8641-mcm", "fsl,mcm";
141+
reg = <0x1000 0x1000>;
142+
interrupts = <17 2>;
143+
interrupt-parent = <&mpic>;
144+
};
145+
134146
i2c1: i2c@3000 {
135147
#address-cells = <1>;
136148
#size-cells = <0>;

arch/powerpc/boot/dts/ksi8560.dts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,19 @@
5656
ranges = <0x00000000 0xfdf00000 0x00100000>;
5757
bus-frequency = <0>; /* Fixed by bootwrapper */
5858

59+
ecm-law@0 {
60+
compatible = "fsl,ecm-law";
61+
reg = <0x0 0x1000>;
62+
fsl,num-laws = <8>;
63+
};
64+
65+
ecm@1000 {
66+
compatible = "fsl,mpc8560-ecm", "fsl,ecm";
67+
reg = <0x1000 0x1000>;
68+
interrupts = <17 2>;
69+
interrupt-parent = <&mpic>;
70+
};
71+
5972
memory-controller@2000 {
6073
compatible = "fsl,mpc8540-memory-controller";
6174
reg = <0x2000 0x1000>;

arch/powerpc/boot/dts/mpc832x_mds.dts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,8 @@
249249
reg = <0xe0100000 0x480>;
250250
brg-frequency = <0>;
251251
bus-frequency = <198000000>;
252+
fsl,qe-num-riscs = <1>;
253+
fsl,qe-num-snums = <28>;
252254

253255
muram@10000 {
254256
#address-cells = <1>;
@@ -369,7 +371,6 @@
369371
};
370372

371373
pci0: pci@e0008500 {
372-
cell-index = <1>;
373374
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
374375
interrupt-map = <
375376
/* IDSEL 0x11 AD17 */

arch/powerpc/boot/dts/mpc832x_rdb.dts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,8 @@
221221
reg = <0xe0100000 0x480>;
222222
brg-frequency = <0>;
223223
bus-frequency = <198000000>;
224+
fsl,qe-num-riscs = <1>;
225+
fsl,qe-num-snums = <28>;
224226

225227
muram@10000 {
226228
#address-cells = <1>;
@@ -327,7 +329,6 @@
327329
};
328330

329331
pci0: pci@e0008500 {
330-
cell-index = <1>;
331332
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
332333
interrupt-map = <
333334
/* IDSEL 0x10 AD16 (USB) */

arch/powerpc/boot/dts/mpc8349emitx.dts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,6 @@
278278
};
279279

280280
pci0: pci@e0008500 {
281-
cell-index = <1>;
282281
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
283282
interrupt-map = <
284283
/* IDSEL 0x10 - SATA */
@@ -301,7 +300,6 @@
301300
};
302301

303302
pci1: pci@e0008600 {
304-
cell-index = <2>;
305303
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
306304
interrupt-map = <
307305
/* IDSEL 0x0E - MiniPCI Slot */

arch/powerpc/boot/dts/mpc8349emitxgp.dts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,6 @@
227227
};
228228

229229
pci0: pci@e0008600 {
230-
cell-index = <2>;
231230
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
232231
interrupt-map = <
233232
/* IDSEL 0x0F - PCI Slot */

arch/powerpc/boot/dts/mpc834x_mds.dts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,6 @@
286286
};
287287

288288
pci0: pci@e0008500 {
289-
cell-index = <1>;
290289
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
291290
interrupt-map = <
292291

@@ -348,7 +347,6 @@
348347
};
349348

350349
pci1: pci@e0008600 {
351-
cell-index = <2>;
352350
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
353351
interrupt-map = <
354352

0 commit comments

Comments
 (0)