summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2017-01-16 20:18:17 +0100
committerThorsten Leemhuis <fedora@leemhuis.info>2017-01-16 20:18:17 +0100
commitac37a91d6204b7f29464032e47168bc41219fd3f (patch)
tree5c064ddeab04e8b22bbcb5901d1ce4884d23257f
parent0ca5dc3115f7d3bd0db92143e9d306c8b29daa2c (diff)
parent411d3b79f725abf71004a5eb845a838c46c217ce (diff)
downloadkernel-4.10.0-0.rc4.git0.1.vanilla.knurd.1.fc25.tar.gz
kernel-4.10.0-0.rc4.git0.1.vanilla.knurd.1.fc25.tar.xz
kernel-4.10.0-0.rc4.git0.1.vanilla.knurd.1.fc25.zip
-rw-r--r--0001-efi-prune-invalid-memory-map-entries.patch141
-rw-r--r--baseconfig/arm/CONFIG_POWER_AVS (renamed from baseconfig/arm/armv7/CONFIG_POWER_AVS)0
-rw-r--r--bcm2837-initial-support.patch63
-rw-r--r--efi-lockdown.patch4
-rw-r--r--gitrev2
-rw-r--r--kernel-aarch64-debug.config2
-rw-r--r--kernel-aarch64.config2
-rw-r--r--kernel.spec16
-rw-r--r--sources3
9 files changed, 79 insertions, 154 deletions
diff --git a/0001-efi-prune-invalid-memory-map-entries.patch b/0001-efi-prune-invalid-memory-map-entries.patch
deleted file mode 100644
index 4b65ef504..000000000
--- a/0001-efi-prune-invalid-memory-map-entries.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From c7c7030a020405d5826c03839e38986e0f78f2ea Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Tue, 13 Dec 2016 10:25:10 +0000
-Subject: [PATCH] efi: prune invalid memory map entries
-
-Some machines, such as the Lenovo ThinkPad W541 with firmware GNET80WW
-(2.28), include memory map entries with phys_addr=0x0 and num_pages=0.
-
-Currently the log output for this case (with efi=debug) looks like:
-
-[ 0.000000] efi: mem45: [Reserved | | | | | | | | | | | | ] range=[0x0000000000000000-0xffffffffffffffff] (0MB)
-
-This is clearly wrong, and also not as informative as it could be. This
-patch changes it so that if we find obviously invalid memory map
-entries, we print an error and those entries. It also detects the
-display of the address range calculation overflow, so the new output is:
-
-[ 0.000000] efi: [Firmware Bug]: Invalid EFI memory map entries:
-[ 0.000000] efi: mem45: [Reserved | | | | | | | | | | | | ] range=[0x0000000000000000-0x0000000000000000] (invalid)
-
-It also detects memory map sizes that would overflow the physical
-address, for example phys_addr=0xfffffffffffff000 and
-num_pages=0x0200000000000001, and prints:
-
-[ 0.000000] efi: [Firmware Bug]: Invalid EFI memory map entries:
-[ 0.000000] efi: mem45: [Reserved | | | | | | | | | | | | ] range=[phys_addr=0xfffffffffffff000-0x20ffffffffffffffff] (invalid)
-
-It then removes these entries from the memory map.
-
-Cc: Matt Fleming <matt@codeblueprint.co.uk>
-Signed-off-by: Peter Jones <pjones@redhat.com>
-[ardb: refactor for clarity with no functional changes, avoid PAGE_SHIFT]
-Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
----
- arch/x86/platform/efi/efi.c | 70 +++++++++++++++++++++++++++++++++++++++++++++
- include/linux/efi.h | 1 +
- 2 files changed, 71 insertions(+)
-
-diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
-index bf99aa7..0a1550b 100644
---- a/arch/x86/platform/efi/efi.c
-+++ b/arch/x86/platform/efi/efi.c
-@@ -210,6 +210,74 @@ int __init efi_memblock_x86_reserve_range(void)
- return 0;
- }
-
-+#define OVERFLOW_ADDR_SHIFT (64 - EFI_PAGE_SHIFT)
-+#define OVERFLOW_ADDR_MASK (U64_MAX << OVERFLOW_ADDR_SHIFT)
-+#define U64_HIGH_BIT (~(U64_MAX >> 1))
-+
-+static bool __init efi_memmap_entry_valid(const efi_memory_desc_t *md, int i)
-+{
-+ static __initdata bool once = true;
-+ u64 end = (md->num_pages << EFI_PAGE_SHIFT) + md->phys_addr - 1;
-+ u64 end_hi = 0;
-+ char buf[64];
-+
-+ if (md->num_pages == 0) {
-+ end = 0;
-+ } else if (md->num_pages > EFI_PAGES_MAX ||
-+ EFI_PAGES_MAX - md->num_pages <
-+ (md->phys_addr >> EFI_PAGE_SHIFT)) {
-+ end_hi = (md->num_pages & OVERFLOW_ADDR_MASK)
-+ >> OVERFLOW_ADDR_SHIFT;
-+
-+ if ((md->phys_addr & U64_HIGH_BIT) && !(end & U64_HIGH_BIT))
-+ end_hi += 1;
-+ } else {
-+ return true;
-+ }
-+
-+ if (once) {
-+ pr_warn(FW_BUG "Invalid EFI memory map entries:\n");
-+ once = false;
-+ }
-+
-+ if (end_hi) {
-+ pr_warn("mem%02u: %s range=[0x%016llx-0x%llx%016llx] (invalid)\n",
-+ i, efi_md_typeattr_format(buf, sizeof(buf), md),
-+ md->phys_addr, end_hi, end);
-+ } else {
-+ pr_warn("mem%02u: %s range=[0x%016llx-0x%016llx] (invalid)\n",
-+ i, efi_md_typeattr_format(buf, sizeof(buf), md),
-+ md->phys_addr, end);
-+ }
-+ return false;
-+}
-+
-+static void __init efi_clean_memmap(void)
-+{
-+ efi_memory_desc_t *out = efi.memmap.map;
-+ const efi_memory_desc_t *in = out;
-+ const efi_memory_desc_t *end = efi.memmap.map_end;
-+ int i, n_removal;
-+
-+ for (i = n_removal = 0; in < end; i++) {
-+ if (efi_memmap_entry_valid(in, i)) {
-+ if (out != in)
-+ memcpy(out, in, efi.memmap.desc_size);
-+ out = (void *)out + efi.memmap.desc_size;
-+ } else {
-+ n_removal++;
-+ }
-+ in = (void *)in + efi.memmap.desc_size;
-+ }
-+
-+ if (n_removal > 0) {
-+ u64 size = efi.memmap.nr_map - n_removal;
-+
-+ pr_warn("Removing %d invalid memory map entries.\n", n_removal);
-+ efi_memmap_install(efi.memmap.phys_map, size);
-+ }
-+}
-+
- void __init efi_print_memmap(void)
- {
- efi_memory_desc_t *md;
-@@ -472,6 +540,8 @@ void __init efi_init(void)
- }
- }
-
-+ efi_clean_memmap();
-+
- if (efi_enabled(EFI_DBG))
- efi_print_memmap();
- }
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 4c1b3ea..712a3aa 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -103,6 +103,7 @@ typedef struct {
-
- #define EFI_PAGE_SHIFT 12
- #define EFI_PAGE_SIZE (1UL << EFI_PAGE_SHIFT)
-+#define EFI_PAGES_MAX (U64_MAX >> EFI_PAGE_SHIFT)
-
- typedef struct {
- u32 type;
---
-2.9.3
-
diff --git a/baseconfig/arm/armv7/CONFIG_POWER_AVS b/baseconfig/arm/CONFIG_POWER_AVS
index f58c71a0d..f58c71a0d 100644
--- a/baseconfig/arm/armv7/CONFIG_POWER_AVS
+++ b/baseconfig/arm/CONFIG_POWER_AVS
diff --git a/bcm2837-initial-support.patch b/bcm2837-initial-support.patch
index 1bd89f4c8..adccf4335 100644
--- a/bcm2837-initial-support.patch
+++ b/bcm2837-initial-support.patch
@@ -152,3 +152,66 @@ index 0000000..8216bbb
--
2.7.4
+From 345863374ebec9aa11ea97b99f5adbf97f99bbdf Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Mon, 16 Jan 2017 06:38:08 +0000
+Subject: [PATCH] add upstream RPi3 fixes from arm64 DT
+
+Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+---
+ arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 8 +-------
+ arch/arm/boot/dts/bcm2837.dtsi | 8 +++++++-
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+index 7841b72..c309633 100644
+--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+@@ -2,6 +2,7 @@
+ #include "bcm2837.dtsi"
+ #include "bcm2835-rpi.dtsi"
+ #include "bcm283x-rpi-smsc9514.dtsi"
++#include "bcm283x-rpi-usb-host.dtsi"
+
+ / {
+ compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
+@@ -15,13 +16,6 @@
+ act {
+ gpios = <&gpio 47 0>;
+ };
+-
+- pwr {
+- label = "PWR";
+- gpios = <&gpio 35 0>;
+- default-state = "keep";
+- linux,default-trigger = "default-on";
+- };
+ };
+ };
+
+diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
+index 8216bbb..19f2fe6 100644
+--- a/arch/arm/boot/dts/bcm2837.dtsi
++++ b/arch/arm/boot/dts/bcm2837.dtsi
+@@ -1,7 +1,7 @@
+ #include "bcm283x.dtsi"
+
+ / {
+- compatible = "brcm,bcm2836";
++ compatible = "brcm,bcm2837";
+
+ soc {
+ ranges = <0x7e000000 0x3f000000 0x1000000>,
+@@ -74,3 +74,9 @@
+ interrupt-parent = <&local_intc>;
+ interrupts = <8>;
+ };
++
++/* enable thermal sensor with the correct compatible property set */
++&thermal {
++ compatible = "brcm,bcm2837-thermal";
++ status = "okay";
++};
+--
+2.9.3
+
diff --git a/efi-lockdown.patch b/efi-lockdown.patch
index b848ee1a6..6bbc24fa1 100644
--- a/efi-lockdown.patch
+++ b/efi-lockdown.patch
@@ -1073,8 +1073,8 @@ index 5bb1985..6441d21 100644
return -EFAULT;
@@ -515,6 +518,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf,
- if (!pfn_valid(PFN_DOWN(p)))
- return -EIO;
+ char *kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */
+ int err = 0;
+ if (kernel_is_locked_down())
+ return -EPERM;
diff --git a/gitrev b/gitrev
index 96275f9c1..0424437dd 100644
--- a/gitrev
+++ b/gitrev
@@ -1 +1 @@
-557ed56cc75e0a33c15ba438734a280bac23bd32
+49def1853334396f948dcb4cedb9347abb318df5
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index aa63b78aa..0aac359af 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -3950,7 +3950,7 @@ CONFIG_PNFS_BLOCK=m
CONFIG_PNFS_OBJLAYOUT=m
# CONFIG_PNP_DEBUG_MESSAGES is not set
CONFIG_POSIX_MQUEUE=y
-# CONFIG_POWER_AVS is not set
+CONFIG_POWER_AVS=y
CONFIG_POWERCAP=y
# CONFIG_POWER_RESET_BRCMKONA is not set
CONFIG_POWER_RESET_GPIO_RESTART=y
diff --git a/kernel-aarch64.config b/kernel-aarch64.config
index 76ddc11a9..a4f2fa5c6 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -3929,7 +3929,7 @@ CONFIG_PNFS_BLOCK=m
CONFIG_PNFS_OBJLAYOUT=m
# CONFIG_PNP_DEBUG_MESSAGES is not set
CONFIG_POSIX_MQUEUE=y
-# CONFIG_POWER_AVS is not set
+CONFIG_POWER_AVS=y
CONFIG_POWERCAP=y
# CONFIG_POWER_RESET_BRCMKONA is not set
CONFIG_POWER_RESET_GPIO_RESTART=y
diff --git a/kernel.spec b/kernel.spec
index 6dc7c0c65..f6f195da8 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -75,9 +75,9 @@ Summary: The Linux kernel
# The next upstream release sublevel (base_sublevel+1)
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
# The rc snapshot level
-%global rcrev 3
+%global rcrev 4
# The git snapshot level
-%define gitrev 4
+%define gitrev 0
# Set rpm version accordingly
%define rpmversion 4.%{upstream_sublevel}.0
%endif
@@ -133,7 +133,7 @@ Summary: The Linux kernel
# Set debugbuildsenabled to 1 for production (build separate debug kernels)
# and 0 for rawhide (all kernels are debug kernels).
# See also 'make debug' and 'make release'.
-%define debugbuildsenabled 0
+%define debugbuildsenabled 1
# Want to build a vanilla kernel build without any non-upstream patches?
%define with_vanilla %{?_without_vanilla: 0} %{?!_without_vanilla: 1}
@@ -596,9 +596,6 @@ Patch665: netfilter-x_tables-deal-with-bogus-nextoffset-values.patch
#ongoing complaint, full discussion delayed until ksummit/plumbers
Patch849: 0001-iio-Use-event-header-from-kernel-tree.patch
-# Work around thinkpad firmware memory layout issues and efi_mem_reserve()
-Patch850: 0001-efi-prune-invalid-memory-map-entries.patch
-
# Fix build issue with armada_trace
Patch851: Armada-trace-build-fix.patch
@@ -2175,6 +2172,13 @@ fi
#
#
%changelog
+* Mon Jan 16 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.10.0-0.rc4.git0.1
+- Disable debugging options.
+- Linux v4.10-rc4
+
+* Mon Jan 16 2017 Peter Robinson <pbrobinson@fedoraproject.org>
+- Minor ARM updates
+
* Fri Jan 13 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.10.0-0.rc3.git4.1
- Linux v4.10-rc3-187-g557ed56
diff --git a/sources b/sources
index 44dd26e7d..d4973a26b 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,3 @@
SHA512 (linux-4.9.tar.xz) = bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a
SHA512 (perf-man-4.9.tar.gz) = d23bb3da1eadd6623fddbf4696948de7675f3dcf57c711a7427dd7ae111394f58d8f42752938bbea7cd219f1e7f6f116fc67a1c74f769711063940a065f37b99
-SHA512 (patch-4.10-rc3.xz) = 3573b198b6ee488d6c573dd09c534548a08bcf8a017a94f74d127a58a018c9e97056006fccd555aa49513cc3f98ad5c1cb6545a7e261d3ccaea21456b53f2dd5
-SHA512 (patch-4.10-rc3-git4.xz) = bad15249a0e5675fdfa5d628ac4c556e1e4b58c89239a9ae0357277b34738185e2176b5a0510a4e4eff417b2bf9d03f31f98711440961768e275bad04d638f93
+SHA512 (patch-4.10-rc4.xz) = 89d903d52ff907f3911ac09214d1299c310fd67b7ff36170c6233e6348049fb0f669ba245a8ca310f52c91eb523aa5f91a9b52f4c67ca932b951fe2c60f25ae5