public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Matt Fleming <matt@console-pimps.org>
To: Dave Young <dyoung@redhat.com>
Cc: linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org,
	x86@kernel.org, mjg59@srcf.ucam.org, hpa@zytor.com,
	James.Bottomley@HansenPartnership.com, vgoyal@redhat.com,
	ebiederm@xmission.com, horms@verge.net.au,
	kexec@lists.infradead.org, bp@alien8.de, greg@kroah.com,
	toshi.kani@hp.com
Subject: Re: [PATCH v4 06/12] efi: export efi runtime memory mapping to sysfs
Date: Tue, 26 Nov 2013 19:30:16 +0000	[thread overview]
Message-ID: <20131126193016.GA18170@console-pimps.org> (raw)
In-Reply-To: <1385445477-9665-7-git-send-email-dyoung@redhat.com>

On Tue, 26 Nov, at 01:57:51PM, Dave Young wrote:
> kexec kernel will need exactly same mapping for
> efi runtime memory ranges. Thus here export the
> runtime ranges mapping to sysfs, kexec-tools
> will assemble them and pass to 2nd kernel via
> setup_data.
> 
> Introducing a new directly /sys/firmware/efi/runtime-map

I'm not sure why the word "directly" is used here?

> Just like /sys/firmware/memmap. Containing below attribute
> in each file of that directory:
> attribute  num_pages  phys_addr  type  virt_addr
> 
> It will not work for efi 32bit. Only x86_64 currently.
 
Actually, exporting the tables does work for 32-bit, right? It's just
that kexec doesn't work for 32-bit EFI?

> Matt: s/efi-runtime-map.c/runtime-map.c
>       change dir name to runtime-map
> update to use desc_size in efi_runtime_map
> cleaup the code, add function efi_save_runtime_map
> improve err handling
> 
> Signed-off-by: Dave Young <dyoung@redhat.com>
> ---
>  .../ABI/testing/sysfs-firmware-efi-runtime-map     |  45 +++++
>  arch/x86/platform/efi/efi.c                        |  26 +++
>  drivers/firmware/efi/Kconfig                       |  10 ++
>  drivers/firmware/efi/Makefile                      |   1 +
>  drivers/firmware/efi/efi.c                         |   3 +-
>  drivers/firmware/efi/runtime-map.c                 | 199 +++++++++++++++++++++
>  include/linux/efi.h                                |   6 +
>  7 files changed, 289 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/ABI/testing/sysfs-firmware-efi-runtime-map
>  create mode 100644 drivers/firmware/efi/runtime-map.c
> 
> diff --git a/Documentation/ABI/testing/sysfs-firmware-efi-runtime-map b/Documentation/ABI/testing/sysfs-firmware-efi-runtime-map
> new file mode 100644
> index 0000000..dab8d41
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-firmware-efi-runtime-map
> @@ -0,0 +1,45 @@
> +What:		/sys/firmware/efi/runtime-map/
> +Date:		Oct 2013
> +Contact:	Dave Young <dyoung@redhat.com>
> +Description:
> +		Switching efi runtime services to virtual mode requires
> +		that all efi memory ranges which has the runtime attribute
> +		bit set to be mapped to virtual addresses.
> +
> +		In kexec kernel kernel can not entering virtual mode again
> +		because there's a limitation that SetVirtualAddressMap can
> +		only be called once for entering virtual mode. But kexec
> +		kernel still need maintain same physical address to virtual
> +		address mapping as the 1st kernel. The mappings are exported
> +		to sysfs so userspace tools can reassemble them and pass them
> +		into kexec kernel.

How about,

		"The efi runtime services can only be switched to virtual
		 mode once without rebooting. The kexec kernel must maintain
		 the same physical to virtual address mappings as the first
		 kernel. The mappings are exported to sysfs so userspace tools
		 can reassemble them and pass them into the kexec kernel."

?

> +		/sys/firmware/efi/runtim-map/ is what kernel export for

				^^ runtime-map/

-- 
Matt Fleming, Intel Open Source Technology Center

  reply	other threads:[~2013-11-26 19:30 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-26  5:57 [PATCH v4 00/12] kexec kernel efi runtime support Dave Young
2013-11-26  5:57 ` [PATCH v4 01/12] efi: remove unused variables in __map_region Dave Young
2013-11-26  5:57 ` [PATCH v4 02/12] efi: add a wrapper function efi_map_region_fixed Dave Young
2013-11-26  5:57 ` [PATCH v4 03/12] efi: reserve boot service fix Dave Young
2013-11-26  5:57 ` [PATCH v4 04/12] efi: cleanup efi_enter_virtual_mode function Dave Young
2013-11-26 14:51   ` Matt Fleming
2013-11-26  5:57 ` [PATCH v4 05/12] efi: export more efi table variable to sysfs Dave Young
2013-11-26  8:50   ` Borislav Petkov
2013-11-26  9:13     ` Dave Young
2013-11-26 15:57   ` Matt Fleming
2013-11-27  2:53     ` Dave Young
2013-11-26  5:57 ` [PATCH v4 06/12] efi: export efi runtime memory mapping " Dave Young
2013-11-26 19:30   ` Matt Fleming [this message]
2013-11-27  3:07     ` Dave Young
2013-11-27  8:17       ` Dave Young
2013-11-27 11:44   ` Borislav Petkov
2013-11-29  9:40     ` Dave Young
2013-11-29 11:50       ` Borislav Petkov
2013-11-29 11:59         ` Matt Fleming
2013-12-02  2:51           ` Dave Young
2013-12-02  2:59         ` Dave Young
2013-12-02  9:40           ` Borislav Petkov
2013-12-07  9:01             ` Dave Young
2013-12-07 13:30               ` Borislav Petkov
2013-12-07 21:46                 ` H. Peter Anvin
2013-12-09  2:23                 ` Dave Young
2013-11-26  5:57 ` [PATCH v4 07/12] efi: passing kexec necessary efi data via setup_data Dave Young
2013-11-26 22:04   ` Matt Fleming
2013-11-27  4:52     ` Dave Young
2013-11-27 10:17       ` Matt Fleming
2013-11-29  9:46         ` Dave Young
2013-11-27 14:07   ` Borislav Petkov
2013-11-29  9:14     ` Dave Young
2013-11-29 16:46       ` Borislav Petkov
2013-12-02  2:49         ` Dave Young
2013-12-02  9:44           ` Borislav Petkov
2013-12-02 22:33       ` Toshi Kani
2013-12-03  1:31         ` Toshi Kani
2013-12-03  1:56           ` Dave Young
2013-12-03 15:39             ` Toshi Kani
2013-12-04  2:46               ` Dave Young
2013-12-04 16:43                 ` Toshi Kani
2013-12-05  1:56                   ` Dave Young
2013-12-05 11:51                     ` Borislav Petkov
2013-12-05 15:56                       ` Toshi Kani
2013-12-05 20:52                         ` Borislav Petkov
2013-12-06  1:31                           ` Dave Young
2013-11-26  5:57 ` [PATCH v4 08/12] efi: only print saved efi runtime maps instead of all memmap ranges for kexec Dave Young
2013-11-27 10:27   ` Matt Fleming
2013-11-27 14:27     ` Borislav Petkov
2013-11-29  8:50       ` Dave Young
2013-11-29 16:47         ` Borislav Petkov
2013-12-02  2:38           ` Dave Young
2013-11-29  8:47     ` Dave Young
2013-11-26  5:57 ` [PATCH v4 09/12] x86: add xloadflags bit for efi runtime support on kexec Dave Young
2013-11-27 14:27   ` Borislav Petkov
2013-11-29  8:44     ` Dave Young
2013-11-26  5:57 ` [PATCH v4 10/12] x86: export x86 boot_params to sysfs Dave Young
2013-11-27 11:20   ` Matt Fleming
2013-11-29  9:44     ` Dave Young
2013-11-27 14:56   ` Borislav Petkov
2013-11-29  8:42     ` Dave Young
2013-11-26  5:57 ` [PATCH v4 11/12] x86: reserve setup_data ranges late after parsing memmap cmdline Dave Young
2013-11-27 15:07   ` Borislav Petkov
2013-11-29  8:35     ` Dave Young
2013-11-29 16:56       ` Borislav Petkov
2013-11-26  5:57 ` [PATCH v4 12/12] x86: kdebugfs do not use __va for getting setup_data virt addr Dave Young
2013-11-26  6:04 ` [PATCH v4 00/12] kexec kernel efi runtime support Dave Young
2013-11-27 12:50 ` Matt Fleming
2013-11-28  2:08   ` Dave Young
2013-11-29  8:28     ` Dave Young
2013-11-29 17:02       ` Borislav Petkov
2013-12-02  2:32         ` Dave Young

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=20131126193016.GA18170@console-pimps.org \
    --to=matt@console-pimps.org \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=bp@alien8.de \
    --cc=dyoung@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=greg@kroah.com \
    --cc=horms@verge.net.au \
    --cc=hpa@zytor.com \
    --cc=kexec@lists.infradead.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=toshi.kani@hp.com \
    --cc=vgoyal@redhat.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox