All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Fleming <matt@codeblueprint.co.uk>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: leif.lindholm@linaro.org, roy.franz@linaro.org,
	matt.fleming@intel.com, will.deacon@arm.com,
	catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org,
	linux-efi@vger.kernel.org, bp@alien8.de, msalter@redhat.com,
	geoff.levand@linaro.org, dyoung@redhat.com, mark.rutland@arm.com,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 6/8] arm64/efi: move SetVirtualAddressMap() to UEFI stub
Date: Mon, 12 Jan 2015 11:46:00 +0000	[thread overview]
Message-ID: <20150112114600.GE26589@codeblueprint.co.uk> (raw)
In-Reply-To: <1420742914-2404-7-git-send-email-ard.biesheuvel@linaro.org>

On Thu, 08 Jan, at 06:48:32PM, Ard Biesheuvel wrote:
> @@ -46,4 +54,26 @@ extern void efi_idmap_init(void);
>  
>  #define EFI_ALLOC_ALIGN		SZ_64K
>  
> +/*
> + * On ARM systems, virtually remapped UEFI runtime services are set up in three
> + * distinct stages:
> + * - The stub retrieves the final version of the memory map from UEFI, populates
> + *   the virt_addr fields and calls the SetVirtualAddressMap() [SVAM] runtime
> + *   service to communicate the new mapping to the firmware (Note that the new
> + *   mapping is not live at this time)
> + * - During early boot, the page tables are allocated and populated based on the
> + *   virt_addr fields in the memory map, but only if all descriptors with the
> + *   EFI_MEMORY_RUNTIME attribute have a non-zero value for virt_addr. If this
> + *   succeeds, the EFI_VIRTMAP flag is set to indicate that the virtual mappings
> + *   have been installed successfully.
> + * - During an early initcall(), the UEFI Runtime Services are enabled and the
> + *   EFI_RUNTIME_SERVICES bit set if some conditions are met, i.e., we need a
> + *   non-early mapping of the UEFI system table, and we need to have the virtmap
> + *   installed.
> + */
> +#define EFI_VIRTMAP		EFI_ARCH_1

Lucid. Thanks, Ard!

-- 
Matt Fleming, Intel Open Source Technology Center

WARNING: multiple messages have this Message-ID (diff)
From: matt@codeblueprint.co.uk (Matt Fleming)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 6/8] arm64/efi: move SetVirtualAddressMap() to UEFI stub
Date: Mon, 12 Jan 2015 11:46:00 +0000	[thread overview]
Message-ID: <20150112114600.GE26589@codeblueprint.co.uk> (raw)
In-Reply-To: <1420742914-2404-7-git-send-email-ard.biesheuvel@linaro.org>

On Thu, 08 Jan, at 06:48:32PM, Ard Biesheuvel wrote:
> @@ -46,4 +54,26 @@ extern void efi_idmap_init(void);
>  
>  #define EFI_ALLOC_ALIGN		SZ_64K
>  
> +/*
> + * On ARM systems, virtually remapped UEFI runtime services are set up in three
> + * distinct stages:
> + * - The stub retrieves the final version of the memory map from UEFI, populates
> + *   the virt_addr fields and calls the SetVirtualAddressMap() [SVAM] runtime
> + *   service to communicate the new mapping to the firmware (Note that the new
> + *   mapping is not live at this time)
> + * - During early boot, the page tables are allocated and populated based on the
> + *   virt_addr fields in the memory map, but only if all descriptors with the
> + *   EFI_MEMORY_RUNTIME attribute have a non-zero value for virt_addr. If this
> + *   succeeds, the EFI_VIRTMAP flag is set to indicate that the virtual mappings
> + *   have been installed successfully.
> + * - During an early initcall(), the UEFI Runtime Services are enabled and the
> + *   EFI_RUNTIME_SERVICES bit set if some conditions are met, i.e., we need a
> + *   non-early mapping of the UEFI system table, and we need to have the virtmap
> + *   installed.
> + */
> +#define EFI_VIRTMAP		EFI_ARCH_1

Lucid. Thanks, Ard!

-- 
Matt Fleming, Intel Open Source Technology Center

  parent reply	other threads:[~2015-01-12 11:46 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-08 18:48 [PATCH v5 0/8] arm64: stable UEFI virtual mappings for kexec Ard Biesheuvel
2015-01-08 18:48 ` Ard Biesheuvel
2015-01-08 18:48 ` [PATCH v5 1/8] arm64/mm: add explicit struct_mm argument to __create_mapping() Ard Biesheuvel
2015-01-08 18:48   ` Ard Biesheuvel
     [not found] ` <1420742914-2404-1-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-01-08 18:48   ` [PATCH v5 2/8] arm64/mm: add create_pgd_mapping() to create private page tables Ard Biesheuvel
2015-01-08 18:48     ` Ard Biesheuvel
2015-01-08 18:48     ` Ard Biesheuvel
2015-01-09 16:16   ` [PATCH v5 0/8] arm64: stable UEFI virtual mappings for kexec Leif Lindholm
2015-01-09 16:16     ` Leif Lindholm
2015-01-09 16:16     ` Leif Lindholm
2015-01-08 18:48 ` [PATCH v5 3/8] efi: split off remapping code from efi_config_init() Ard Biesheuvel
2015-01-08 18:48   ` Ard Biesheuvel
2015-01-08 18:48 ` [PATCH v5 4/8] efi: efistub: allow allocation alignment larger than EFI_PAGE_SIZE Ard Biesheuvel
2015-01-08 18:48   ` Ard Biesheuvel
2015-01-08 18:48 ` [PATCH v5 5/8] arm64/efi: set EFI_ALLOC_ALIGN to 64 KB Ard Biesheuvel
2015-01-08 18:48   ` Ard Biesheuvel
2015-01-08 18:48 ` [PATCH v5 6/8] arm64/efi: move SetVirtualAddressMap() to UEFI stub Ard Biesheuvel
2015-01-08 18:48   ` Ard Biesheuvel
2015-01-09 16:41   ` Leif Lindholm
2015-01-09 16:41     ` Leif Lindholm
2015-01-12 11:46   ` Matt Fleming [this message]
2015-01-12 11:46     ` Matt Fleming
     [not found]     ` <20150112114600.GE26589-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2015-01-12 16:09       ` Ard Biesheuvel
2015-01-12 16:09         ` Ard Biesheuvel
2015-01-12 16:09         ` Ard Biesheuvel
     [not found]         ` <CAKv+Gu9BQFEEpEpF3-O98W-kBYQC9yKf39ee2gvznuZYPiCo-g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-12 16:26           ` Matt Fleming
2015-01-12 16:26             ` Matt Fleming
2015-01-12 16:26             ` Matt Fleming
2015-01-08 18:48 ` [PATCH v5 7/8] arm64/efi: remove free_boot_services() and friends Ard Biesheuvel
2015-01-08 18:48   ` Ard Biesheuvel
     [not found]   ` <1420742914-2404-8-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-01-09 15:49     ` Will Deacon
2015-01-09 15:49       ` Will Deacon
2015-01-09 15:49       ` Will Deacon
2015-01-08 18:48 ` [PATCH v5 8/8] arm64/efi: remove idmap manipulations from UEFI code Ard Biesheuvel
2015-01-08 18:48   ` Ard Biesheuvel
     [not found]   ` <1420742914-2404-9-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-01-09 16:03     ` Will Deacon
2015-01-09 16:03       ` Will Deacon
2015-01-09 16:03       ` Will Deacon
  -- strict thread matches above, loose matches on Subject: below --
2015-01-29  9:50 [PATCH v5 6/8] arm64/efi: move SetVirtualAddressMap() to UEFI stub Steve Capper
2015-01-29  9:55 ` Ard Biesheuvel
2015-01-29  9:55   ` Ard Biesheuvel

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=20150112114600.GE26589@codeblueprint.co.uk \
    --to=matt@codeblueprint.co.uk \
    --cc=ard.biesheuvel@linaro.org \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=dyoung@redhat.com \
    --cc=geoff.levand@linaro.org \
    --cc=leif.lindholm@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=matt.fleming@intel.com \
    --cc=msalter@redhat.com \
    --cc=roy.franz@linaro.org \
    --cc=will.deacon@arm.com \
    /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.