All of lore.kernel.org
 help / color / mirror / Atom feed
From: "tip-bot2 for steve.wahl@hpe.com" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Steve Wahl <steve.wahl@hpe.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ard Biesheuvel <ardb@kernel.org>, x86 <x86@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: [tip: x86/platform] x86/efi: Remove references to no-longer-used efi_have_uv1_memmap()
Date: Fri, 17 Jul 2020 14:51:07 -0000	[thread overview]
Message-ID: <159499746771.4006.7069875500892929737.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20200713212955.786177105@hpe.com>

The following commit has been merged into the x86/platform branch of tip:

Commit-ID:     66d67fecd896370d4cbbd146c9a7bf5b4c5303af
Gitweb:        https://git.kernel.org/tip/66d67fecd896370d4cbbd146c9a7bf5b4c5303af
Author:        steve.wahl@hpe.com <steve.wahl@hpe.com>
AuthorDate:    Mon, 13 Jul 2020 16:30:05 -05:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Fri, 17 Jul 2020 16:47:47 +02:00

x86/efi: Remove references to no-longer-used efi_have_uv1_memmap()

In removing UV1 support, efi_have_uv1_memmap is no longer used.

Signed-off-by: Steve Wahl <steve.wahl@hpe.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lkml.kernel.org/r/20200713212955.786177105@hpe.com

---
 arch/x86/kernel/kexec-bzimage64.c |  9 +-------
 arch/x86/platform/efi/efi.c       | 14 ++---------
 arch/x86/platform/efi/efi_64.c    | 38 ++----------------------------
 arch/x86/platform/efi/quirks.c    |  8 +------
 4 files changed, 6 insertions(+), 63 deletions(-)

diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c
index db6578d..57c2ecf 100644
--- a/arch/x86/kernel/kexec-bzimage64.c
+++ b/arch/x86/kernel/kexec-bzimage64.c
@@ -170,15 +170,6 @@ setup_efi_state(struct boot_params *params, unsigned long params_load_addr,
 	if (!current_ei->efi_memmap_size)
 		return 0;
 
-	/*
-	 * If 1:1 mapping is not enabled, second kernel can not setup EFI
-	 * and use EFI run time services. User space will have to pass
-	 * acpi_rsdp=<addr> on kernel command line to make second kernel boot
-	 * without efi.
-	 */
-	if (efi_have_uv1_memmap())
-		return 0;
-
 	params->secure_boot = boot_params.secure_boot;
 	ei->efi_loader_signature = current_ei->efi_loader_signature;
 	ei->efi_systab = current_ei->efi_systab;
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index e966115..2cc1590 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -648,7 +648,7 @@ static inline void *efi_map_next_entry_reverse(void *entry)
  */
 static void *efi_map_next_entry(void *entry)
 {
-	if (!efi_have_uv1_memmap() && efi_enabled(EFI_64BIT)) {
+	if (efi_enabled(EFI_64BIT)) {
 		/*
 		 * Starting in UEFI v2.5 the EFI_PROPERTIES_TABLE
 		 * config table feature requires us to map all entries
@@ -777,11 +777,9 @@ static void __init kexec_enter_virtual_mode(void)
 
 	/*
 	 * We don't do virtual mode, since we don't do runtime services, on
-	 * non-native EFI. With the UV1 memmap, we don't do runtime services in
-	 * kexec kernel because in the initial boot something else might
-	 * have been mapped at these virtual addresses.
+	 * non-native EFI.
 	 */
-	if (efi_is_mixed() || efi_have_uv1_memmap()) {
+	if (efi_is_mixed()) {
 		efi_memmap_unmap();
 		clear_bit(EFI_RUNTIME_SERVICES, &efi.flags);
 		return;
@@ -832,12 +830,6 @@ static void __init kexec_enter_virtual_mode(void)
  * has the runtime attribute bit set in its memory descriptor into the
  * efi_pgd page table.
  *
- * The old method which used to update that memory descriptor with the
- * virtual address obtained from ioremap() is still supported when the
- * kernel is booted on SG1 UV1 hardware. Same old method enabled the
- * runtime services to be called without having to thunk back into
- * physical mode for every invocation.
- *
  * The new method does a pagetable switch in a preemption-safe manner
  * so that we're in a different address space when calling a runtime
  * function. For function arguments passing we do copy the PUDs of the
diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c
index 8e364c4..413583f 100644
--- a/arch/x86/platform/efi/efi_64.c
+++ b/arch/x86/platform/efi/efi_64.c
@@ -74,9 +74,6 @@ int __init efi_alloc_page_tables(void)
 	pud_t *pud;
 	gfp_t gfp_mask;
 
-	if (efi_have_uv1_memmap())
-		return 0;
-
 	gfp_mask = GFP_KERNEL | __GFP_ZERO;
 	efi_pgd = (pgd_t *)__get_free_pages(gfp_mask, PGD_ALLOCATION_ORDER);
 	if (!efi_pgd)
@@ -115,9 +112,6 @@ void efi_sync_low_kernel_mappings(void)
 	pud_t *pud_k, *pud_efi;
 	pgd_t *efi_pgd = efi_mm.pgd;
 
-	if (efi_have_uv1_memmap())
-		return;
-
 	/*
 	 * We can share all PGD entries apart from the one entry that
 	 * covers the EFI runtime mapping space.
@@ -206,9 +200,6 @@ int __init efi_setup_page_tables(unsigned long pa_memmap, unsigned num_pages)
 	unsigned npages;
 	pgd_t *pgd = efi_mm.pgd;
 
-	if (efi_have_uv1_memmap())
-		return 0;
-
 	/*
 	 * It can happen that the physical address of new_memmap lands in memory
 	 * which is not mapped in the EFI page table. Therefore we need to go
@@ -315,9 +306,6 @@ void __init efi_map_region(efi_memory_desc_t *md)
 	unsigned long size = md->num_pages << PAGE_SHIFT;
 	u64 pa = md->phys_addr;
 
-	if (efi_have_uv1_memmap())
-		return old_map_region(md);
-
 	/*
 	 * Make sure the 1:1 mappings are present as a catch-all for b0rked
 	 * firmware which doesn't update all internal pointers after switching
@@ -420,12 +408,6 @@ void __init efi_runtime_update_mappings(void)
 {
 	efi_memory_desc_t *md;
 
-	if (efi_have_uv1_memmap()) {
-		if (__supported_pte_mask & _PAGE_NX)
-			runtime_code_page_mkexec();
-		return;
-	}
-
 	/*
 	 * Use the EFI Memory Attribute Table for mapping permissions if it
 	 * exists, since it is intended to supersede EFI_PROPERTIES_TABLE.
@@ -474,10 +456,7 @@ void __init efi_runtime_update_mappings(void)
 void __init efi_dump_pagetable(void)
 {
 #ifdef CONFIG_EFI_PGT_DUMP
-	if (efi_have_uv1_memmap())
-		ptdump_walk_pgd_level(NULL, &init_mm);
-	else
-		ptdump_walk_pgd_level(NULL, &efi_mm);
+	ptdump_walk_pgd_level(NULL, &efi_mm);
 #endif
 }
 
@@ -849,21 +828,13 @@ efi_set_virtual_address_map(unsigned long memory_map_size,
 	const efi_system_table_t *systab = (efi_system_table_t *)systab_phys;
 	efi_status_t status;
 	unsigned long flags;
-	pgd_t *save_pgd = NULL;
 
 	if (efi_is_mixed())
 		return efi_thunk_set_virtual_address_map(memory_map_size,
 							 descriptor_size,
 							 descriptor_version,
 							 virtual_map);
-
-	if (efi_have_uv1_memmap()) {
-		save_pgd = efi_uv1_memmap_phys_prolog();
-		if (!save_pgd)
-			return EFI_ABORTED;
-	} else {
-		efi_switch_mm(&efi_mm);
-	}
+	efi_switch_mm(&efi_mm);
 
 	kernel_fpu_begin();
 
@@ -879,10 +850,7 @@ efi_set_virtual_address_map(unsigned long memory_map_size,
 	/* grab the virtually remapped EFI runtime services table pointer */
 	efi.runtime = READ_ONCE(systab->runtime);
 
-	if (save_pgd)
-		efi_uv1_memmap_phys_epilog(save_pgd);
-	else
-		efi_switch_mm(efi_scratch.prev_mm);
+	efi_switch_mm(efi_scratch.prev_mm);
 
 	return status;
 }
diff --git a/arch/x86/platform/efi/quirks.c b/arch/x86/platform/efi/quirks.c
index d627f55..5a40fe4 100644
--- a/arch/x86/platform/efi/quirks.c
+++ b/arch/x86/platform/efi/quirks.c
@@ -381,14 +381,6 @@ static void __init efi_unmap_pages(efi_memory_desc_t *md)
 	u64 va = md->virt_addr;
 
 	/*
-	 * To Do: Remove this check after adding functionality to unmap EFI boot
-	 * services code/data regions from direct mapping area because the UV1
-	 * memory map maps EFI regions in swapper_pg_dir.
-	 */
-	if (efi_have_uv1_memmap())
-		return;
-
-	/*
 	 * EFI mixed mode has all RAM mapped to access arguments while making
 	 * EFI runtime calls, hence don't unmap EFI boot services code/data
 	 * regions.

  reply	other threads:[~2020-07-17 14:51 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-13 21:29 [patch v3 00/13] Remove UV1 platform support and associated efi=oldmap option steve.wahl
2020-07-13 21:29 ` [patch v3 01/13] x86: Remove support for UV1 platform from uv_time.c steve.wahl
2020-07-17 14:51   ` [tip: x86/platform] x86/platform/uv: Remove support for UV1 platform from uv_time tip-bot2 for steve.wahl@hpe.com
2020-07-13 21:29 ` [patch v3 02/13] x86: Remove support for UV1 platform from uv_tlb.c steve.wahl
2020-07-17 14:51   ` [tip: x86/platform] x86/platform/uv: Remove support for UV1 platform from uv_tlb tip-bot2 for steve.wahl@hpe.com
2020-07-13 21:29 ` [patch v3 03/13] x86: Remove support for UV1 platform from x2apic_uv_x.c steve.wahl
2020-07-17 14:51   ` [tip: x86/platform] x86/platform/uv: Remove support for UV1 platform from x2apic_uv_x tip-bot2 for steve.wahl@hpe.com
2020-07-13 21:29 ` [patch v3 04/13] x86: Remove support for UV1 platform from uv_mmrs.h steve.wahl
2020-07-17 14:51   ` [tip: x86/platform] x86/platform/uv: Remove support for UV1 platform from uv_mmrs tip-bot2 for steve.wahl@hpe.com
2020-07-13 21:29 ` [patch v3 05/13] x86: Remove support for UV1 platform from uv_bau.h steve.wahl
2020-07-17 14:51   ` [tip: x86/platform] x86/platform/uv: Remove support for UV1 platform from uv_bau tip-bot2 for steve.wahl@hpe.com
2020-07-13 21:30 ` [patch v3 06/13] x86: Remove support for uv1 platform from uv_hub.h steve.wahl
2020-07-17 14:51   ` [tip: x86/platform] x86/platform/uv: Remove support for uv1 platform from uv_hub tip-bot2 for steve.wahl@hpe.com
2020-07-13 21:30 ` [patch v3 07/13] x86: Remove support for UV1 platform from uv.h steve.wahl
2020-07-17 14:51   ` [tip: x86/platform] x86/platform/uv: Remove support for UV1 platform from uv tip-bot2 for steve.wahl@hpe.com
2020-07-13 21:30 ` [patch v3 08/13] x86: Remove vestigial mention of UV1 platform from arch/x86/include/asm/uv/bios.h steve.wahl
2020-07-17 14:51   ` [tip: x86/platform] x86/platform/uv: Remove vestigial mention of UV1 platform from bios header tip-bot2 for steve.wahl@hpe.com
2020-07-13 21:30 ` [patch v3 09/13] x86: Remove efi=old_map command line option steve.wahl
2020-07-17 14:51   ` [tip: x86/platform] x86/platform/uv: " tip-bot2 for steve.wahl@hpe.com
2020-07-13 21:30 ` [patch v3 10/13] x86: Delete SGI UV1 detection steve.wahl
2020-07-17 14:51   ` [tip: x86/platform] x86/efi: " tip-bot2 for steve.wahl@hpe.com
2020-07-13 21:30 ` [patch v3 11/13] x86: Remove references to no-longer-used efi_have_uv1_memmap() steve.wahl
2020-07-17 14:51   ` tip-bot2 for steve.wahl@hpe.com [this message]
2020-07-13 21:30 ` [patch v3 12/13] x86: Remove uv bios and efi code related to (now unused) EFI_UV1_MEMMAP steve.wahl
2020-07-17 14:51   ` [tip: x86/platform] x86/platform/uv: Remove uv bios and efi code related to EFI_UV1_MEMMAP tip-bot2 for steve.wahl@hpe.com
2020-07-13 21:30 ` [patch v3 13/13] x86: Remove (now unused) EFI_UV1_MEMMAP from efi.h steve.wahl
2020-07-17 14:51   ` [tip: x86/platform] x86/efi: Remove unused EFI_UV1_MEMMAP code tip-bot2 for steve.wahl@hpe.com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=159499746771.4006.7069875500892929737.tip-bot2@tip-bot2 \
    --to=tip-bot2@linutronix.de \
    --cc=ardb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=steve.wahl@hpe.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.