...
 
Commits (23)
This diff is collapsed.
......@@ -313,6 +313,7 @@ CONFIG_DRM_I2C_NXP_TDA998X=m
## file: drivers/gpu/drm/imx/Kconfig
##
CONFIG_DRM_IMX=m
CONFIG_DRM_IMX_PARALLEL_DISPLAY=m
CONFIG_DRM_IMX_LDB=m
CONFIG_DRM_IMX_HDMI=m
......
......@@ -43,6 +43,7 @@ ignore-changes:
module:net/rxrpc/rxrpc
module:sound/core/seq/**
module:sound/firewire/snd-firewire-lib
module:sound/pci/hda/*
# btree library is only selected by few drivers so not useful OOT
btree_*
visitor*
......
......@@ -2,5 +2,6 @@
fixed_phy ?
libphy ?
mii ?
of_mdio ?
pps_core ?
ptp ?
......@@ -3,6 +3,7 @@ virtio_blk
virtio_balloon
virtio_scsi
virtio_input
virtio_console
# Some architectures do not have PCI bus
virtio_pci ?
......
From: Ben Hutchings <ben@decadent.org.uk>
Date: Wed, 11 Jul 2018 23:40:55 +0100
Subject: ARM: mm: Export __sync_icache_dcache() for xen-privcmd
Forwarded: https://marc.info/?l=linux-arm-kernel&m=153134944429241
The xen-privcmd driver, which can be modular, calls set_pte_at()
which in turn may call __sync_icache_dcache().
The call to __sync_icache_dcache() may be optimised out because it is
conditional on !pte_special(), and xen-privcmd calls pte_mkspecial().
However, in a non-LPAE configuration there is no "special" bit and the
call is really unconditional.
Fixes: 3ad0876554ca ("xen/privcmd: add IOCTL_PRIVCMD_MMAP_RESOURCE")
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
arch/arm/mm/flush.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c
index 58469623b015..5345f86c56d2 100644
--- a/arch/arm/mm/flush.c
+++ b/arch/arm/mm/flush.c
@@ -295,6 +295,7 @@ void __sync_icache_dcache(pte_t pteval)
if (pte_exec(pteval))
__flush_icache_all();
}
+EXPORT_SYMBOL_GPL(__sync_icache_dcache);
#endif
/*
From: James Clarke <jrtc27@jrtc27.com>
Date: Sun, 18 Feb 2018 15:54:44 +0000
Subject: powerpc/lib/Makefile: Don't pull in quad.o for 32-bit kernels
Origin: https://people.debian.org/~jrtc27/linux-ppc32/0002-powerpc-lib-Makefile-Don-t-pull-in-quad.o-for-32-bit.patch
The functions exported by quad.o are only used when guarded by
__powerpc64__ and so are unused on 32-bit kernels. Moreover, their
implementations make use of instructions which will cause an illegal
instruction error on 32-bit processors, and are not accepted by the
assembler for SPE processors.
Fixes: 31bfdb036f12 ("powerpc: Use instruction emulation infrastructure to handle alignment faults")
Signed-off-by: James Clarke <jrtc27@jrtc27.com>
---
arch/powerpc/lib/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
@@ -35,7 +35,7 @@ obj64-$(CONFIG_KPROBES_SANITY_TEST) += t
obj-y += checksum_$(BITS).o checksum_wrappers.o \
string_$(BITS).o memcmp_$(BITS).o
-obj-y += sstep.o ldstfp.o quad.o
+obj-y += sstep.o ldstfp.o
obj64-y += quad.o
obj-$(CONFIG_PPC_LIB_RHEAP) += rheap.o
From: James Clarke <jrtc27@jrtc27.com>
Date: Thu, 7 Dec 2017 20:32:44 +0000
Subject: powerpc/lib/sstep: Fix building for powerpcspe
Origin: https://people.debian.org/~jrtc27/linux-ppc32/0001-powerpc-lib-sstep-Fix-building-for-powerpcspe.patch
On powerpcspe, ptesync is not a recognised instruction and so fails to
assemble. We don't expect to have to emulate an lwsync or a ptesync on a
32-bit kernel, so just ifdef them out, and catch any unexpected barrier
types.
Fixes: 3cdfcbfd32b9 ("powerpc: Change analyse_instr so it doesn't modify *regs")
Signed-off-by: James Clarke <jrtc27@jrtc27.com>
---
arch/powerpc/lib/sstep.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/arch/powerpc/lib/sstep.c
+++ b/arch/powerpc/lib/sstep.c
@@ -2671,12 +2671,16 @@ void emulate_update_regs(struct pt_regs
case BARRIER_EIEIO:
eieio();
break;
+#ifdef __powerpc64__
case BARRIER_LWSYNC:
asm volatile("lwsync" : : : "memory");
break;
case BARRIER_PTESYNC:
asm volatile("ptesync" : : : "memory");
break;
+#endif
+ default:
+ WARN_ON_ONCE(1);
}
break;
......@@ -65,6 +65,9 @@ bugfix/x86/perf-tools-fix-unwind-build-on-i386.patch
bugfix/sh/sh-boot-do-not-use-hyphen-in-exported-variable-name.patch
bugfix/x86/mmap-remember-the-map_fixed-flag-as-vm_fixed.patch
bugfix/x86/mmap-add-an-exception-to-the-stack-gap-for-hotspot-jvm.patch
bugfix/powerpc/powerpc-lib-sstep-fix-building-for-powerpcspe.patch
bugfix/powerpc/powerpc-lib-makefile-don-t-pull-in-quad.o-for-32-bit.patch
bugfix/arm/arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch
# Arch features
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
......
......@@ -6,6 +6,11 @@ SUBDIRS = \
scripts \
tools
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
ifneq ($(filter powerpc powerpcspe ppc64,$(DEB_HOST_ARCH)),)
SUBDIRS += arch/powerpc/boot
endif
include $(top_rulesdir)/Makefile.inc
# Build userland headers first
......
PROGS = \
addnote \
hack-coff \
mktree
SCRIPTS = \
wrapper
include $(top_rulesdir)/Makefile.inc
CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
......@@ -3,7 +3,9 @@ include $(top_rulesdir)/Makefile.inc
all:
# For now, only supported target architecture is x86. Later we'll need to build
# for multiple targets and add a wrapper, same as for modpost.
$(MAKE) -C $(top_srcdir)/tools/objtool O=$(CURDIR) ARCH=x86
# objtool explicitly sets CC and LD to be native tools; we need to override
# this on the command line to make cross-builds work.
$(MAKE) -C $(top_srcdir)/tools/objtool O=$(CURDIR) ARCH=x86 CC=$(CC) LD=$(CROSS_COMPILE)ld
install:
install -D -m755 objtool $(DESTDIR)/$(installdir)/objtool
......@@ -15,7 +15,10 @@ else ifneq ($(filter mips%,$(DEB_HOST_ARCH_CPU)),)
else ifeq ($(DEB_HOST_ARCH_CPU),hppa)
KERNEL_ARCH_PERF = parisc
else ifneq ($(filter powerpc% ppc%,$(DEB_HOST_ARCH_CPU)),)
KERNEL_ARCH_PERF = powerpc
# But pure 32-bit toolchains currently don't work
ifneq ($(shell dpkg-architecture -qDEB_HOST_ARCH),powerpcspe)
KERNEL_ARCH_PERF = powerpc
endif
else ifneq ($(filter s390%,$(DEB_HOST_ARCH_CPU)),)
KERNEL_ARCH_PERF = s390
else ifeq ($(DEB_HOST_ARCH_CPU),sh4)
......
......@@ -83,11 +83,14 @@ binary-indep: install-support
ifneq ($(DO_TOOLS_VERSIONED),False)
build-arch-arch: $(STAMPS_DIR)/build-tools
binary-arch-arch: install-kbuild
ifneq ($(filter alpha amd64 arm64 armel armhf hppa i386 mips mips64 mips64el mipsel mipsr6 mipsr6el mips64r6 mips64r6el mipsn32 mipsn32el mipsn32r6 mipsn32r6el powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64,$(DEB_HOST_ARCH)),)
ifneq ($(filter alpha amd64 arm64 armel armhf hppa i386 mips mips64 mips64el mipsel mipsr6 mipsr6el mips64r6 mips64r6el mipsn32 mipsn32el mipsn32r6 mipsn32r6el powerpc ppc64 ppc64el s390 s390x sh4 sparc sparc64,$(DEB_HOST_ARCH)),)
ifeq ($(filter nopython,$(DEB_BUILD_PROFILES)),)
binary-arch-arch: install-perf
endif
endif
ifneq ($(filter powerpc powerpcspe ppc64,$(DEB_HOST_ARCH)),)
binary-arch-arch: install-bootwrapper
endif
endif
ifneq ($(DO_TOOLS_UNVERSIONED),False)
binary-arch-arch: install-usbip install-cpupower install-liblockdep
......@@ -461,10 +464,20 @@ ifneq ($(filter arm64 armel armhf mipsr6 mipsr6el mips64r6 mips64r6el,$(ARCH)),)
+$(MAKE_CLEAN) -C $(DIR) dtbs_install INSTALL_DTBS_PATH=$(CURDIR)/$(DT_INSTALL_DIR)
endif
ifneq ($(filter powerpc powerpcspe ppc64,$(ARCH)),)
# Install wrapper code and DT source, but not the wrapper script or
# the executables it calls. Kbuild will always build these executable
# as native code, which is wrong for a cross-built package. Install
# symlinks to the versions in the linux-bootwrapper package instead.
rm -rf '$(DIR)_bootwrapper'
+$(MAKE_CLEAN) -C '$(DIR)' bootwrapper_install \
WRAPPER_OBJDIR='$(CURDIR)/$(DT_INSTALL_DIR)' \
WRAPPER_DTSDIR='$(CURDIR)/$(DT_INSTALL_DIR)'/dts \
WRAPPER_BINDIR='$(CURDIR)/$(DT_INSTALL_DIR)'
WRAPPER_OBJDIR='$(CURDIR)/$(DT_INSTALL_DIR)' \
WRAPPER_DTSDIR='$(CURDIR)/$(DT_INSTALL_DIR)/dts' \
WRAPPER_BINDIR='$(CURDIR)/$(DIR)_bootwrapper'
for prog in '$(DIR)_bootwrapper'/*; do \
prog="$$(basename $$prog)"; \
ln -s ../linux-bootwrapper-$(ABINAME)/$$prog \
'$(DT_INSTALL_DIR)'/$$prog; \
done
endif
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_bug:
......@@ -778,4 +791,22 @@ endif
dh_md5sums
dh_builddeb
install-bootwrapper: PACKAGE_NAME = linux-bootwrapper-$(ABINAME)
install-bootwrapper: DH_OPTIONS = -p$(PACKAGE_NAME)
install-bootwrapper: DIR = $(CURDIR)/debian/$(PACKAGE_NAME)
install-bootwrapper: $(STAMPS_DIR)/build-tools
dh_testdir
dh_testroot
dh_prep
$(call make-tools,arch/powerpc/boot) install DESTDIR=$(DIR) installdir=/usr/lib/$(PACKAGE_NAME)
dh_installchangelogs
dh_strip
dh_compress
dh_fixperms
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
# vim: filetype=make
Package: linux-image-@abiname@@localversion@
Build-Profiles: <!stage1>
Depends: kmod, linux-base (>= 4.3~), ${misc:Depends}
Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-@abiname@ [powerpc powerpcspe ppc64], ${misc:Depends}
Recommends: firmware-linux-free, ${kernel:Recommends}
Suggests: linux-doc-@version@, debian-kernel-handbook
Description: Linux @upstreamversion@ for @class@
......
......@@ -9,7 +9,7 @@ Description: Kbuild infrastructure for Linux @version@
Package: linux-perf-@version@
Build-Profiles: <!stage1 !pkg.linux.notools !nopython>
Section: devel
Architecture: alpha amd64 arm64 armel armhf hppa i386 mips mips64 mips64el mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64
Architecture: alpha amd64 arm64 armel armhf hppa i386 mips mips64 mips64el mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el powerpc ppc64 ppc64el s390 s390x sh4 sparc sparc64
Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, ${python:Depends}
Recommends: linux-base
Provides: linux-tools-@version@
......@@ -22,3 +22,12 @@ Description: Performance analysis tools for Linux @version@
.
The linux-base package contains a 'perf' command which will invoke the
appropriate version for the running kernel.
Package: linux-bootwrapper-@abiname@
Build-Profiles: <!stage1 !pkg.linux.notools>
Architecture: powerpc powerpcspe ppc64
Depends: ${shlibs:Depends}, ${misc:Depends}
Multi-Arch: foreign
Description: Boot wrapper tools for Linux @version@ on PowerPC
This package provides the 'wrapper' script and related tools needed
to process the Linux kernel image for use with some PowerPC platforms.