From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <JBeulich@suse.com>,
xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 3/4] EFI: support default attributes to map Runtime service areas with none given
Date: Tue, 9 Jun 2015 15:08:55 +0100 [thread overview]
Message-ID: <5576F377.2020505@citrix.com> (raw)
In-Reply-To: <55770C070200007800082A47@mail.emea.novell.com>
[-- Attachment #1.1: Type: text/plain, Size: 3155 bytes --]
On 09/06/15 14:53, Jan Beulich wrote:
> From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>
> For example on Dell machines we see:
>
> (XEN) 00000fed18000-00000fed19fff type=11 attr=8000000000000000
> (XEN) Unknown cachability for MFNs 0xfed18-0xfed19
>
> Let's allow them to be mapped as UC.
>
> We also alter the 'efi-rs' to be 'efi=rs' or 'efi=no-rs'.
>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/docs/misc/xen-command-line.markdown
> +++ b/docs/misc/xen-command-line.markdown
> @@ -617,12 +617,24 @@ Either force retrieval of monitor EDID i
> disable it (edid=no). This option should not normally be required
> except for debugging purposes.
>
> -### efi-rs
> -> `= <boolean>`
> +### efi
> +> `= List of [ rs | attr ]`
> +
> +All options are of boolean kind and can be prefixed with `no-` to
> +effect the inverse meaning.
> +
> +> `rs`
>
> > Default: `true`
>
> -Force or disable use of EFI runtime services.
> +>> Force or disable use of EFI runtime services.
> +
> +> `attr=uc`
> +
> +> Default: `off`
`false` would be more consistent with the rest of the rest of the document.
Otherwise, Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> +
> +>> Allows mapping of RuntimeServices which have no cachability attribute
> +>> set as UC.
>
> ### extra\_guest\_irqs
> > `= [<domU number>][,<dom0 number>]`
> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -1100,7 +1100,31 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SY
> #ifndef CONFIG_ARM /* TODO - runtime service support */
>
> static bool_t __initdata efi_rs_enable = 1;
> -boolean_param("efi-rs", efi_rs_enable);
> +static bool_t __initdata efi_map_uc;
> +
> +static void __init parse_efi_param(char *s)
> +{
> + char *ss;
> +
> + do {
> + bool_t val = !!strncmp(s, "no-", 3);
> +
> + if ( !val )
> + s += 3;
> +
> + ss = strchr(s, ',');
> + if ( ss )
> + *ss = '\0';
> +
> + if ( !strcmp(s, "rs") )
> + efi_rs_enable = val;
> + else if ( !strcmp(s, "attr=uc") )
> + efi_map_uc = val;
> +
> + s = ss + 1;
> + } while ( ss );
> +}
> +custom_param("efi", parse_efi_param);
>
> #ifndef USE_SET_VIRTUAL_ADDRESS_MAP
> static __init void copy_mapping(unsigned long mfn, unsigned long end,
> @@ -1198,9 +1222,11 @@ void __init efi_init_memory(void)
> prot |= _PAGE_PWT | _PAGE_PCD | MAP_SMALL_PAGES;
> else
> {
> - printk(XENLOG_ERR "Unknown cachability for MFNs %#lx-%#lx\n",
> - smfn, emfn - 1);
> - continue;
> + printk(XENLOG_ERR "Unknown cachability for MFNs %#lx-%#lx%s\n",
> + smfn, emfn - 1, efi_map_uc ? ", assuming UC" : "");
> + if ( !efi_map_uc )
> + continue;
> + prot |= _PAGE_PWT | _PAGE_PCD | MAP_SMALL_PAGES;
> }
>
> if ( desc->Attribute & EFI_MEMORY_WP )
>
>
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
[-- Attachment #1.2: Type: text/html, Size: 4145 bytes --]
[-- Attachment #2: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2015-06-09 14:10 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-09 13:49 [PATCH 0/4] misc EFI adjustments Jan Beulich
2015-06-09 13:52 ` [PATCH 1/4] x86/EFI: fix EFI_MEMORY_WP handling Jan Beulich
2015-06-09 13:57 ` Andrew Cooper
2015-06-09 13:53 ` [PATCH 2/4] EFI/early: add /mapbs to map EfiBootServices{Code, Data} Jan Beulich
2015-06-09 14:03 ` Andrew Cooper
2015-06-09 14:11 ` Konrad Rzeszutek Wilk
2015-06-09 15:26 ` Andrew Cooper
2015-06-09 15:24 ` Jan Beulich
2015-06-10 8:56 ` Ian Campbell
2015-06-10 9:15 ` Jan Beulich
2015-06-10 9:26 ` Ian Campbell
2015-06-10 9:37 ` Jan Beulich
2015-06-10 10:00 ` Ian Campbell
2015-06-10 10:00 ` Ian Campbell
2015-06-10 17:22 ` Roy Franz
2015-06-10 18:12 ` Andrew Cooper
2015-06-10 19:48 ` Konrad Rzeszutek Wilk
2015-06-10 19:55 ` Andrew Cooper
2015-06-10 20:06 ` Roy Franz
2015-06-11 6:34 ` Jan Beulich
2015-06-11 9:48 ` Ian Campbell
2015-06-11 19:33 ` Roy Franz
2015-06-09 13:53 ` [PATCH 3/4] EFI: support default attributes to map Runtime service areas with none given Jan Beulich
2015-06-09 14:08 ` Andrew Cooper [this message]
2015-06-09 15:26 ` Jan Beulich
2015-06-09 15:30 ` Andrew Cooper
2015-06-10 8:57 ` Ian Campbell
2015-06-09 13:54 ` [PATCH 4/4] x86/EFI: adjust EFI_MEMORY_WP handling for spec version 2.5 Jan Beulich
2015-06-09 14:08 ` Konrad Rzeszutek Wilk
2015-06-09 14:25 ` Konrad Rzeszutek Wilk
2015-06-09 15:28 ` Jan Beulich
2015-06-09 15:35 ` Konrad Rzeszutek Wilk
2015-06-09 14:15 ` Andrew Cooper
2015-06-09 15:35 ` [PATCH 0/4] misc EFI adjustments Konrad Rzeszutek Wilk
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=5576F377.2020505@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=JBeulich@suse.com \
--cc=xen-devel@lists.xenproject.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.