From: Bryan O'Donoghue <bryan.odonoghue.lkml-SyKdqv6vbfZdzvEItQ6vdLNAH6kLmebB@public.gmane.org>
To: Matt Fleming <matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
Cc: matthew.garrett-05XSO3Yj/JvQT0dZR+AlfA@public.gmane.org,
linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Darren Hart <darren.hart-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Josh Triplett <josh-iaAMLnmF4UmaiuxdJuQwMA@public.gmane.org>,
"H. Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>,
Ingo Molnar <mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
Josh Boyer <jwboyer-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH] Remove warning in efi_enter_virtual_mode
Date: Thu, 18 Apr 2013 23:07:06 +0100 [thread overview]
Message-ID: <51706E8A.7030909@nexus-software.ie> (raw)
In-Reply-To: <516FD24A.3070502-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
> UEFI stands for "Unified Extensible Firmware Interface", where "Firmware"
> is an ancient African word meaning "Why do something right when you can
> do it so wrong that children will weep and brave adults will cower before
> you", and "UEI" is Celtic for "We missed DOS so we burned it into your
> ROMs". The UEFI specification provides for runtime services (ie, another
> way for the operating system to be forced to depend on the firmware) and
> we rely on these for certain trivial tasks such as setting up the
> bootloader. But some hardware fails to work if we attempt to use these
> runtime services from physical mode, and so we have to switch into virtual
> mode. So far so dreadful.
>
"UEI" is Celtic for "We missed DOS so we burned it into your ROMS"
I love it "maith an fear"
> There are currently only two situations where we need to map EFI Boot
> Service regions,
>
> 1. To workaround the firmware bug described in 916f676f8
> 2. To access the ACPI BGRT image
>
> but since we haven't seen an i386 implementation that requires either,
> this simple fix should suffice for now. Item 2. above does still work on
> i386 provided that the BGRT image is not in highmem.
Matt, Peter, Josh, Darren.
Given it's not possible to guarantee someone won't stuff a BGRT into
EFI_BOOT_MEMORY >= highmem eventually (and indeed the axioms of the
universe pretty much guarantee eventually it will be so) - I'd suggest
version 2.
A kernel parameter - rather than a probe for BGRT - since we anticipate
BIOS bugs on the way.
Version 2 of the submitted path introduces an early kernel parameter
"virt_mapboot" - which is true by default (maintaining the current
behavior of mapping EFI_BOOT_MEMORY by default) - but which can be set
to false - if your IA32 BIOS is not buggy.
Perhaps it would be better to be optimistic.
Change the behavior of efi_enter_virtual_mode() to do the right thing
re: the standard and require passing of a parameter to switch on
work-arounds for non-standards conformant BIOS. Note: this approach
would break BGRT code - requiring addition of kernel parameters to
existing systems - which from a user-friendliness POV is probably
verboten....
WARNING: multiple messages have this Message-ID (diff)
From: "Bryan O'Donoghue" <bryan.odonoghue.lkml@nexus-software.ie>
To: Matt Fleming <matt@console-pimps.org>
Cc: matthew.garrett@nebula.com, linux-efi@vger.kernel.org,
x86@kernel.org, linux-kernel@vger.kernel.org,
Darren Hart <darren.hart@intel.com>,
Josh Triplett <josh@joshtriplett.org>,
"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Josh Boyer <jwboyer@redhat.com>
Subject: Re: [PATCH] Remove warning in efi_enter_virtual_mode
Date: Thu, 18 Apr 2013 23:07:06 +0100 [thread overview]
Message-ID: <51706E8A.7030909@nexus-software.ie> (raw)
In-Reply-To: <516FD24A.3070502@console-pimps.org>
> UEFI stands for "Unified Extensible Firmware Interface", where "Firmware"
> is an ancient African word meaning "Why do something right when you can
> do it so wrong that children will weep and brave adults will cower before
> you", and "UEI" is Celtic for "We missed DOS so we burned it into your
> ROMs". The UEFI specification provides for runtime services (ie, another
> way for the operating system to be forced to depend on the firmware) and
> we rely on these for certain trivial tasks such as setting up the
> bootloader. But some hardware fails to work if we attempt to use these
> runtime services from physical mode, and so we have to switch into virtual
> mode. So far so dreadful.
>
"UEI" is Celtic for "We missed DOS so we burned it into your ROMS"
I love it "maith an fear"
> There are currently only two situations where we need to map EFI Boot
> Service regions,
>
> 1. To workaround the firmware bug described in 916f676f8
> 2. To access the ACPI BGRT image
>
> but since we haven't seen an i386 implementation that requires either,
> this simple fix should suffice for now. Item 2. above does still work on
> i386 provided that the BGRT image is not in highmem.
Matt, Peter, Josh, Darren.
Given it's not possible to guarantee someone won't stuff a BGRT into
EFI_BOOT_MEMORY >= highmem eventually (and indeed the axioms of the
universe pretty much guarantee eventually it will be so) - I'd suggest
version 2.
A kernel parameter - rather than a probe for BGRT - since we anticipate
BIOS bugs on the way.
Version 2 of the submitted path introduces an early kernel parameter
"virt_mapboot" - which is true by default (maintaining the current
behavior of mapping EFI_BOOT_MEMORY by default) - but which can be set
to false - if your IA32 BIOS is not buggy.
Perhaps it would be better to be optimistic.
Change the behavior of efi_enter_virtual_mode() to do the right thing
re: the standard and require passing of a parameter to switch on
work-arounds for non-standards conformant BIOS. Note: this approach
would break BGRT code - requiring addition of kernel parameters to
existing systems - which from a user-friendliness POV is probably
verboten....
next prev parent reply other threads:[~2013-04-18 22:07 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-16 15:58 [PATCH] Remove warning in efi_enter_virtual_mode Bryan O'Donoghue
2013-04-16 15:58 ` Bryan O'Donoghue
[not found] ` <1366127886-31460-1-git-send-email-bryan.odonoghue.lkml-SyKdqv6vbfZdzvEItQ6vdLNAH6kLmebB@public.gmane.org>
2013-04-17 14:06 ` Matt Fleming
2013-04-17 14:06 ` Matt Fleming
[not found] ` <516EAC4A.6040202-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-04-17 22:00 ` Bryan O'Donoghue
2013-04-17 22:00 ` Bryan O'Donoghue
[not found] ` <516F1B90.9040508-SyKdqv6vbfZdzvEItQ6vdLNAH6kLmebB@public.gmane.org>
2013-04-18 11:00 ` Matt Fleming
2013-04-18 11:00 ` Matt Fleming
[not found] ` <516FD24A.3070502-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-04-18 13:40 ` Josh Boyer
2013-04-18 13:40 ` Josh Boyer
[not found] ` <20130418134059.GF18383-dHPIJuKSOV01V+h/cAXI7w8O6CCKKCg3HZ5vskTnxNA@public.gmane.org>
2013-04-18 15:01 ` Matthew Garrett
2013-04-18 15:01 ` Matthew Garrett
[not found] ` <1366297271.13667.14.camel-+5W/JHIUVxg@public.gmane.org>
2013-04-18 15:17 ` Josh Boyer
2013-04-18 15:17 ` Josh Boyer
2013-04-18 22:07 ` Bryan O'Donoghue [this message]
2013-04-18 22:07 ` Bryan O'Donoghue
[not found] ` <51706E8A.7030909-SyKdqv6vbfZdzvEItQ6vdLNAH6kLmebB@public.gmane.org>
2013-04-18 23:01 ` Josh Triplett
2013-04-18 23:01 ` Josh Triplett
2013-04-18 23:44 ` H. Peter Anvin
2013-04-18 23:44 ` H. Peter Anvin
2013-04-18 23:42 ` H. Peter Anvin
2013-04-18 23:42 ` H. Peter Anvin
2013-04-18 14:51 ` Darren Hart
[not found] ` <51700876.1000305-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-04-18 16:19 ` Matt Fleming
2013-04-18 16:19 ` Matt Fleming
2013-04-19 0:18 ` Darren Hart
[not found] ` <51708D3D.9010707-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-04-19 7:50 ` Matt Fleming
2013-04-19 7:50 ` Matt Fleming
[not found] ` <5170F736.2060803-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-04-19 12:01 ` Josh Boyer
2013-04-19 12:01 ` Josh Boyer
2013-09-10 17:43 ` Darren Hart
2013-09-10 17:43 ` Darren Hart
[not found] ` <1378835007.19978.125.camel-d05DLm829JQHkdubuh725LKMmGWinSIL2HeeBUIffwg@public.gmane.org>
2013-09-12 7:55 ` Matt Fleming
2013-09-12 7:55 ` Matt Fleming
[not found] ` <20130912075500.GC895-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-09-12 22:30 ` Darren Hart
2013-09-12 22:30 ` Darren Hart
2013-04-18 16:33 ` Josh Triplett
2013-04-18 16:38 ` H. Peter Anvin
2013-04-18 16:38 ` H. Peter Anvin
2013-04-18 16:44 ` Josh Triplett
2013-04-18 19:55 ` Matt Fleming
2013-04-18 19:55 ` Matt Fleming
[not found] ` <51704FA8.7060801-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>
2013-04-18 19:57 ` H. Peter Anvin
2013-04-18 19:57 ` H. Peter Anvin
2013-04-18 19:58 ` Matthew Garrett
2013-04-18 19:58 ` Matthew Garrett
[not found] ` <1366315083.13667.19.camel-+5W/JHIUVxg@public.gmane.org>
2013-04-18 20:11 ` Darren Hart
2013-04-18 20:11 ` Darren Hart
[not found] ` <51705366.8070001-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-04-18 20:13 ` H. Peter Anvin
2013-04-18 20:13 ` H. Peter Anvin
[not found] ` <517053EF.2030900-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2013-04-18 20:17 ` Darren Hart
2013-04-18 20:17 ` Darren Hart
[not found] ` <517054EF.9070500-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-04-18 20:45 ` H. Peter Anvin
2013-04-18 20:45 ` H. Peter Anvin
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=51706E8A.7030909@nexus-software.ie \
--to=bryan.odonoghue.lkml-sykdqv6vbfzdzveitq6vdlnah6klmebb@public.gmane.org \
--cc=darren.hart-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org \
--cc=josh-iaAMLnmF4UmaiuxdJuQwMA@public.gmane.org \
--cc=jwboyer-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org \
--cc=matthew.garrett-05XSO3Yj/JvQT0dZR+AlfA@public.gmane.org \
--cc=mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
--cc=x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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.