diff options
author | graysky | 2021-07-13 17:29:28 -0400 |
---|---|---|
committer | graysky | 2021-07-13 17:29:57 -0400 |
commit | 96b819515a6e994a16aa28b09b5c32736cf245b8 (patch) | |
tree | ad65a7255a8fe973d858b8f4b2ad85686f42016d /0004-x86-setup-Move-trim_snb_memory-later-in-setup_arch-t.patch | |
parent | fb68d9cce3079ee44627c35ee5afd46288e3f428 (diff) | |
download | aur-96b819515a6e994a16aa28b09b5c32736cf245b8.tar.gz |
Update to 5.13.2rc1-1
Diffstat (limited to '0004-x86-setup-Move-trim_snb_memory-later-in-setup_arch-t.patch')
-rw-r--r-- | 0004-x86-setup-Move-trim_snb_memory-later-in-setup_arch-t.patch | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/0004-x86-setup-Move-trim_snb_memory-later-in-setup_arch-t.patch b/0004-x86-setup-Move-trim_snb_memory-later-in-setup_arch-t.patch deleted file mode 100644 index 8a8e4d194cc6..000000000000 --- a/0004-x86-setup-Move-trim_snb_memory-later-in-setup_arch-t.patch +++ /dev/null @@ -1,87 +0,0 @@ -From c4b5e4bc8317ccb0a822429d87288d9f90453a04 Mon Sep 17 00:00:00 2001 -From: Mike Rapoport <rppt@linux.ibm.com> -Date: Tue, 13 Apr 2021 21:08:39 +0300 -Subject: [PATCH 4/8] x86/setup: Move trim_snb_memory() later in setup_arch() - to fix boot hangs - -Commit - - a799c2bd29d1 ("x86/setup: Consolidate early memory reservations") - -moved reservation of the memory inaccessible by Sandy Bride integrated -graphics very early, and, as a result, on systems with such devices -the first 1M was reserved by trim_snb_memory() which prevented the -allocation of the real mode trampoline and made the boot hang very -early. - -Since the purpose of trim_snb_memory() is to prevent problematic pages -ever reaching the graphics device, it is safe to reserve these pages -after memblock allocations are possible. - -Move trim_snb_memory() later in boot so that it will be called after -reserve_real_mode() and make comments describing trim_snb_memory() -operation more elaborate. - - [ bp: Massage a bit. ] - -Fixes: a799c2bd29d1 ("x86/setup: Consolidate early memory reservations") -Reported-by: Randy Dunlap <rdunlap@infradead.org> -Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> -Signed-off-by: Borislav Petkov <bp@suse.de> -Tested-by: Randy Dunlap <rdunlap@infradead.org> -Tested-by: Hugh Dickins <hughd@google.com> -Link: https://lkml.kernel.org/r/f67d3e03-af90-f790-baf4-8d412fe055af@infradead.org ---- - arch/x86/kernel/setup.c | 20 +++++++++++++++----- - 1 file changed, 15 insertions(+), 5 deletions(-) - -diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 282d572e49af..7d466f51be1f 100644 ---- a/arch/x86/kernel/setup.c -+++ b/arch/x86/kernel/setup.c -@@ -634,11 +634,16 @@ static void __init trim_snb_memory(void) - printk(KERN_DEBUG "reserving inaccessible SNB gfx pages\n"); - - /* -- * Reserve all memory below the 1 MB mark that has not -- * already been reserved. -+ * SandyBridge integrated graphics devices have a bug that prevents -+ * them from accessing certain memory ranges, namely anything below -+ * 1M and in the pages listed in bad_pages[] above. -+ * -+ * To avoid these pages being ever accessed by SNB gfx devices -+ * reserve all memory below the 1 MB mark and bad_pages that have -+ * not already been reserved at boot time. - */ - memblock_reserve(0, 1<<20); -- -+ - for (i = 0; i < ARRAY_SIZE(bad_pages); i++) { - if (memblock_reserve(bad_pages[i], PAGE_SIZE)) - printk(KERN_WARNING "failed to reserve 0x%08lx\n", -@@ -747,8 +752,6 @@ static void __init early_reserve_memory(void) - - reserve_ibft_region(); - reserve_bios_regions(); -- -- trim_snb_memory(); - } - - /* -@@ -1082,6 +1085,13 @@ void __init setup_arch(char **cmdline_p) - - reserve_real_mode(); - -+ /* -+ * Reserving memory causing GPU hangs on Sandy Bridge integrated -+ * graphics devices should be done after we allocated memory under -+ * 1M for the real mode trampoline. -+ */ -+ trim_snb_memory(); -+ - init_mem_mapping(); - - idt_setup_early_pf(); --- -2.32.0 - |