Skip to content

Commit 968b803

Browse files
committed
Merge tag 'powerpc-6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
Pull powerpc updates from Michael Ellerman: - Add initial support to recognise the HeXin C2000 processor. - Add papr-vpd and papr-sysparm character device drivers for VPD & sysparm retrieval, so userspace tools can be adapted to avoid doing raw firmware calls from userspace. - Sched domains optimisations for shared processor partitions on P9/P10. - A series of optimisations for KVM running as a nested HV under PowerVM. - Other small features and fixes. Thanks to Aditya Gupta, Aneesh Kumar K.V, Arnd Bergmann, Christophe Leroy, Colin Ian King, Dario Binacchi, David Heidelberg, Geoff Levand, Gustavo A. R. Silva, Haoran Liu, Jordan Niethe, Kajol Jain, Kevin Hao, Kunwu Chan, Li kunyu, Li zeming, Masahiro Yamada, Michal Suchánek, Nathan Lynch, Naveen N Rao, Nicholas Piggin, Randy Dunlap, Sathvika Vasireddy, Srikar Dronamraju, Stephen Rothwell, Vaibhav Jain, and Zhao Ke. * tag 'powerpc-6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (96 commits) powerpc/ps3_defconfig: Disable PPC64_BIG_ENDIAN_ELF_ABI_V2 powerpc/86xx: Drop unused CONFIG_MPC8610 powerpc/powernv: Add error handling to opal_prd_range_is_valid selftests/powerpc: Fix spelling mistake "EACCESS" -> "EACCES" powerpc/hvcall: Reorder Nestedv2 hcall opcodes powerpc/ps3: Add missing set_freezable() for ps3_probe_thread() powerpc/mpc83xx: Use wait_event_freezable() for freezable kthread powerpc/mpc83xx: Add the missing set_freezable() for agent_thread_fn() powerpc/fsl: Fix fsl,tmu-calibration to match the schema powerpc/smp: Dynamically build Powerpc topology powerpc/smp: Avoid asym packing within thread_group of a core powerpc/smp: Add __ro_after_init attribute powerpc/smp: Disable MC domain for shared processor powerpc/smp: Enable Asym packing for cores on shared processor powerpc/sched: Cleanup vcpu_is_preempted() powerpc: add cpu_spec.cpu_features to vmcoreinfo powerpc/imc-pmu: Add a null pointer check in update_events_in_group() powerpc/powernv: Add a null pointer check in opal_powercap_init() powerpc/powernv: Add a null pointer check in opal_event_init() powerpc/powernv: Add a null pointer check to scom_debug_init_one() ...
2 parents 3edbe8a + 44a1aad commit 968b803

101 files changed

Lines changed: 2192 additions & 603 deletions

Some content is hidden

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

Documentation/userspace-api/ioctl/ioctl-number.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,10 @@ Code Seq# Include File Comments
349349
<mailto:vgo@ratio.de>
350350
0xB1 00-1F PPPoX
351351
<mailto:mostrows@styx.uwaterloo.ca>
352+
0xB2 00 arch/powerpc/include/uapi/asm/papr-vpd.h powerpc/pseries VPD API
353+
<mailto:linuxppc-dev>
354+
0xB2 01-02 arch/powerpc/include/uapi/asm/papr-sysparm.h powerpc/pseries system parameter API
355+
<mailto:linuxppc-dev>
352356
0xB3 00 linux/mmc/ioctl.h
353357
0xB4 00-0F linux/gpio.h <mailto:linux-gpio@vger.kernel.org>
354358
0xB5 00-0F uapi/linux/rpmsg.h <mailto:linux-remoteproc@vger.kernel.org>

MAINTAINERS

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12252,21 +12252,21 @@ S: Orphan
1225212252
F: arch/powerpc/platforms/40x/
1225312253
F: arch/powerpc/platforms/44x/
1225412254

12255-
LINUX FOR POWERPC EMBEDDED PPC83XX AND PPC85XX
12255+
LINUX FOR POWERPC EMBEDDED PPC85XX
1225612256
M: Scott Wood <oss@buserror.net>
1225712257
L: linuxppc-dev@lists.ozlabs.org
1225812258
S: Odd fixes
1225912259
T: git git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux.git
1226012260
F: Documentation/devicetree/bindings/cache/freescale-l2cache.txt
1226112261
F: Documentation/devicetree/bindings/powerpc/fsl/
12262-
F: arch/powerpc/platforms/83xx/
1226312262
F: arch/powerpc/platforms/85xx/
1226412263

12265-
LINUX FOR POWERPC EMBEDDED PPC8XX
12264+
LINUX FOR POWERPC EMBEDDED PPC8XX AND PPC83XX
1226612265
M: Christophe Leroy <christophe.leroy@csgroup.eu>
1226712266
L: linuxppc-dev@lists.ozlabs.org
1226812267
S: Maintained
1226912268
F: arch/powerpc/platforms/8xx/
12269+
F: arch/powerpc/platforms/83xx/
1227012270

1227112271
LINUX KERNEL DUMP TEST MODULE (LKDTM)
1227212272
M: Kees Cook <keescook@chromium.org>

arch/powerpc/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ config PPC
189189
select EDAC_ATOMIC_SCRUB
190190
select EDAC_SUPPORT
191191
select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if ARCH_USING_PATCHABLE_FUNCTION_ENTRY
192+
select FUNCTION_ALIGNMENT_4B
192193
select GENERIC_ATOMIC64 if PPC32
193194
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
194195
select GENERIC_CMOS_UPDATE

arch/powerpc/Kconfig.debug

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,6 @@ config PPC_EARLY_DEBUG_USBGECKO
271271
config PPC_EARLY_DEBUG_PS3GELIC
272272
bool "Early debugging through the PS3 Ethernet port"
273273
depends on PPC_PS3
274-
select PS3GELIC_UDBG
275274
help
276275
Select this to enable early debugging for the PlayStation3 via
277276
UDP broadcasts sent out through the Ethernet port.

arch/powerpc/Makefile

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,26 @@
1010
# Rewritten by Cort Dougan and Paul Mackerras
1111
#
1212

13+
ifdef cross_compiling
14+
ifeq ($(CROSS_COMPILE),)
15+
# Auto detect cross compiler prefix.
16+
# Look for: (powerpc(64(le)?)?)(-unknown)?-linux(-gnu)?-
17+
CC_ARCHES := powerpc powerpc64 powerpc64le
18+
CC_SUFFIXES := linux linux-gnu unknown-linux-gnu
19+
CROSS_COMPILE := $(call cc-cross-prefix, $(foreach a,$(CC_ARCHES), \
20+
$(foreach s,$(CC_SUFFIXES),$(a)-$(s)-)))
21+
endif
22+
endif
23+
1324
HAS_BIARCH := $(call cc-option-yn, -m32)
1425

1526
# Set default 32 bits cross compilers for vdso and boot wrapper
1627
CROSS32_COMPILE ?=
1728

1829
# If we're on a ppc/ppc64/ppc64le machine use that defconfig, otherwise just use
19-
# ppc64_defconfig because we have nothing better to go on.
30+
# ppc64le_defconfig because we have nothing better to go on.
2031
uname := $(shell uname -m)
21-
KBUILD_DEFCONFIG := $(if $(filter ppc%,$(uname)),$(uname),ppc64)_defconfig
32+
KBUILD_DEFCONFIG := $(if $(filter ppc%,$(uname)),$(uname),ppc64le)_defconfig
2233

2334
new_nm := $(shell if $(NM) --help 2>&1 | grep -- '--synthetic' > /dev/null; then echo y; else echo n; fi)
2435

@@ -161,7 +172,7 @@ CFLAGS-y += $(CONFIG_TUNE_CPU)
161172

162173
asinstr := $(call as-instr,lis 9$(comma)foo@high,-DHAVE_AS_ATHIGH=1)
163174

164-
KBUILD_CPPFLAGS += -I $(srctree)/arch/$(ARCH) $(asinstr)
175+
KBUILD_CPPFLAGS += -I $(srctree)/arch/powerpc $(asinstr)
165176
KBUILD_AFLAGS += $(AFLAGS-y)
166177
KBUILD_CFLAGS += $(call cc-option,-msoft-float)
167178
KBUILD_CFLAGS += $(CFLAGS-y)
@@ -232,7 +243,7 @@ BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.% uImage.%
232243

233244
PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2)
234245

235-
boot := arch/$(ARCH)/boot
246+
boot := arch/powerpc/boot
236247

237248
$(BOOT_TARGETS1): vmlinux
238249
$(Q)$(MAKE) $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
@@ -336,7 +347,7 @@ PHONY += $(generated_configs)
336347

337348
define archhelp
338349
echo '* zImage - Build default images selected by kernel config'
339-
echo ' zImage.* - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)'
350+
echo ' zImage.* - Compressed kernel image (arch/powerpc/boot/zImage.*)'
340351
echo ' uImage - U-Boot native image format'
341352
echo ' cuImage.<dt> - Backwards compatible U-Boot image for older'
342353
echo ' versions which do not support device trees'
@@ -347,12 +358,12 @@ define archhelp
347358
echo ' (your) ~/bin/$(INSTALLKERNEL) or'
348359
echo ' (distribution) /sbin/$(INSTALLKERNEL) or'
349360
echo ' install to $$(INSTALL_PATH) and run lilo'
350-
echo ' *_defconfig - Select default config from arch/$(ARCH)/configs'
361+
echo ' *_defconfig - Select default config from arch/powerpc/configs'
351362
echo ''
352363
echo ' Targets with <dt> embed a device tree blob inside the image'
353364
echo ' These targets support board with firmware that does not'
354365
echo ' support passing a device tree directly. Replace <dt> with the'
355-
echo ' name of a dts file from the arch/$(ARCH)/boot/dts/ directory'
366+
echo ' name of a dts file from the arch/powerpc/boot/dts/ directory'
356367
echo ' (minus the .dts extension).'
357368
echo
358369
$(foreach cfg,$(generated_configs),

arch/powerpc/boot/dts/fsl/t1023si-post.dtsi

Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -367,45 +367,46 @@
367367
reg = <0xf0000 0x1000>;
368368
interrupts = <18 2 0 0>;
369369
fsl,tmu-range = <0xb0000 0xa0026 0x80048 0x30061>;
370-
fsl,tmu-calibration = <0x00000000 0x0000000f
371-
0x00000001 0x00000017
372-
0x00000002 0x0000001e
373-
0x00000003 0x00000026
374-
0x00000004 0x0000002e
375-
0x00000005 0x00000035
376-
0x00000006 0x0000003d
377-
0x00000007 0x00000044
378-
0x00000008 0x0000004c
379-
0x00000009 0x00000053
380-
0x0000000a 0x0000005b
381-
0x0000000b 0x00000064
382-
383-
0x00010000 0x00000011
384-
0x00010001 0x0000001c
385-
0x00010002 0x00000024
386-
0x00010003 0x0000002b
387-
0x00010004 0x00000034
388-
0x00010005 0x00000039
389-
0x00010006 0x00000042
390-
0x00010007 0x0000004c
391-
0x00010008 0x00000051
392-
0x00010009 0x0000005a
393-
0x0001000a 0x00000063
394-
395-
0x00020000 0x00000013
396-
0x00020001 0x00000019
397-
0x00020002 0x00000024
398-
0x00020003 0x0000002c
399-
0x00020004 0x00000035
400-
0x00020005 0x0000003d
401-
0x00020006 0x00000046
402-
0x00020007 0x00000050
403-
0x00020008 0x00000059
404-
405-
0x00030000 0x00000002
406-
0x00030001 0x0000000d
407-
0x00030002 0x00000019
408-
0x00030003 0x00000024>;
370+
fsl,tmu-calibration =
371+
<0x00000000 0x0000000f>,
372+
<0x00000001 0x00000017>,
373+
<0x00000002 0x0000001e>,
374+
<0x00000003 0x00000026>,
375+
<0x00000004 0x0000002e>,
376+
<0x00000005 0x00000035>,
377+
<0x00000006 0x0000003d>,
378+
<0x00000007 0x00000044>,
379+
<0x00000008 0x0000004c>,
380+
<0x00000009 0x00000053>,
381+
<0x0000000a 0x0000005b>,
382+
<0x0000000b 0x00000064>,
383+
384+
<0x00010000 0x00000011>,
385+
<0x00010001 0x0000001c>,
386+
<0x00010002 0x00000024>,
387+
<0x00010003 0x0000002b>,
388+
<0x00010004 0x00000034>,
389+
<0x00010005 0x00000039>,
390+
<0x00010006 0x00000042>,
391+
<0x00010007 0x0000004c>,
392+
<0x00010008 0x00000051>,
393+
<0x00010009 0x0000005a>,
394+
<0x0001000a 0x00000063>,
395+
396+
<0x00020000 0x00000013>,
397+
<0x00020001 0x00000019>,
398+
<0x00020002 0x00000024>,
399+
<0x00020003 0x0000002c>,
400+
<0x00020004 0x00000035>,
401+
<0x00020005 0x0000003d>,
402+
<0x00020006 0x00000046>,
403+
<0x00020007 0x00000050>,
404+
<0x00020008 0x00000059>,
405+
406+
<0x00030000 0x00000002>,
407+
<0x00030001 0x0000000d>,
408+
<0x00030002 0x00000019>,
409+
<0x00030003 0x00000024>;
409410
#thermal-sensor-cells = <1>;
410411
};
411412

arch/powerpc/boot/dts/fsl/t1040si-post.dtsi

Lines changed: 36 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -447,41 +447,42 @@
447447
reg = <0xf0000 0x1000>;
448448
interrupts = <18 2 0 0>;
449449
fsl,tmu-range = <0xa0000 0x90026 0x8004a 0x1006a>;
450-
fsl,tmu-calibration = <0x00000000 0x00000025
451-
0x00000001 0x00000028
452-
0x00000002 0x0000002d
453-
0x00000003 0x00000031
454-
0x00000004 0x00000036
455-
0x00000005 0x0000003a
456-
0x00000006 0x00000040
457-
0x00000007 0x00000044
458-
0x00000008 0x0000004a
459-
0x00000009 0x0000004f
460-
0x0000000a 0x00000054
461-
462-
0x00010000 0x0000000d
463-
0x00010001 0x00000013
464-
0x00010002 0x00000019
465-
0x00010003 0x0000001f
466-
0x00010004 0x00000025
467-
0x00010005 0x0000002d
468-
0x00010006 0x00000033
469-
0x00010007 0x00000043
470-
0x00010008 0x0000004b
471-
0x00010009 0x00000053
472-
473-
0x00020000 0x00000010
474-
0x00020001 0x00000017
475-
0x00020002 0x0000001f
476-
0x00020003 0x00000029
477-
0x00020004 0x00000031
478-
0x00020005 0x0000003c
479-
0x00020006 0x00000042
480-
0x00020007 0x0000004d
481-
0x00020008 0x00000056
482-
483-
0x00030000 0x00000012
484-
0x00030001 0x0000001d>;
450+
fsl,tmu-calibration =
451+
<0x00000000 0x00000025>,
452+
<0x00000001 0x00000028>,
453+
<0x00000002 0x0000002d>,
454+
<0x00000003 0x00000031>,
455+
<0x00000004 0x00000036>,
456+
<0x00000005 0x0000003a>,
457+
<0x00000006 0x00000040>,
458+
<0x00000007 0x00000044>,
459+
<0x00000008 0x0000004a>,
460+
<0x00000009 0x0000004f>,
461+
<0x0000000a 0x00000054>,
462+
463+
<0x00010000 0x0000000d>,
464+
<0x00010001 0x00000013>,
465+
<0x00010002 0x00000019>,
466+
<0x00010003 0x0000001f>,
467+
<0x00010004 0x00000025>,
468+
<0x00010005 0x0000002d>,
469+
<0x00010006 0x00000033>,
470+
<0x00010007 0x00000043>,
471+
<0x00010008 0x0000004b>,
472+
<0x00010009 0x00000053>,
473+
474+
<0x00020000 0x00000010>,
475+
<0x00020001 0x00000017>,
476+
<0x00020002 0x0000001f>,
477+
<0x00020003 0x00000029>,
478+
<0x00020004 0x00000031>,
479+
<0x00020005 0x0000003c>,
480+
<0x00020006 0x00000042>,
481+
<0x00020007 0x0000004d>,
482+
<0x00020008 0x00000056>,
483+
484+
<0x00030000 0x00000012>,
485+
<0x00030001 0x0000001d>;
485486
#thermal-sensor-cells = <1>;
486487
};
487488

arch/powerpc/configs/ppc64_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ CONFIG_MEMORY_HOTPLUG=y
9292
CONFIG_MEMORY_HOTREMOVE=y
9393
CONFIG_KSM=y
9494
CONFIG_TRANSPARENT_HUGEPAGE=y
95+
CONFIG_MEM_SOFT_DIRTY=y
9596
CONFIG_ZONE_DEVICE=y
9697
CONFIG_NET=y
9798
CONFIG_PACKET=y

arch/powerpc/configs/ps3_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ CONFIG_PS3_VRAM=m
2424
CONFIG_PS3_LPM=m
2525
# CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set
2626
CONFIG_KEXEC=y
27+
# CONFIG_PPC64_BIG_ENDIAN_ELF_ABI_V2 is not set
2728
CONFIG_PPC_4K_PAGES=y
2829
CONFIG_SCHED_SMT=y
2930
CONFIG_PM=y

arch/powerpc/include/asm/book3s/64/pgtable.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,6 @@
1717
#define _PAGE_EXEC 0x00001 /* execute permission */
1818
#define _PAGE_WRITE 0x00002 /* write access allowed */
1919
#define _PAGE_READ 0x00004 /* read access allowed */
20-
#define _PAGE_NA _PAGE_PRIVILEGED
21-
#define _PAGE_NAX _PAGE_EXEC
22-
#define _PAGE_RO _PAGE_READ
23-
#define _PAGE_ROX (_PAGE_READ | _PAGE_EXEC)
24-
#define _PAGE_RW (_PAGE_READ | _PAGE_WRITE)
25-
#define _PAGE_RWX (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC)
2620
#define _PAGE_PRIVILEGED 0x00008 /* kernel access only */
2721
#define _PAGE_SAO 0x00010 /* Strong access order */
2822
#define _PAGE_NON_IDEMPOTENT 0x00020 /* non idempotent memory */
@@ -532,8 +526,8 @@ static inline bool pte_user(pte_t pte)
532526
static inline bool pte_access_permitted(pte_t pte, bool write)
533527
{
534528
/*
535-
* _PAGE_READ is needed for any access and will be
536-
* cleared for PROT_NONE
529+
* _PAGE_READ is needed for any access and will be cleared for
530+
* PROT_NONE. Execute-only mapping via PROT_EXEC also returns false.
537531
*/
538532
if (!pte_present(pte) || !pte_user(pte) || !pte_read(pte))
539533
return false;

0 commit comments

Comments
 (0)