From: David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
To: Matthew Garrett <mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
Cc: Matt Fleming
<matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
"H. Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>,
linux-efi <linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] Fix efifb initialisation when the only GOP device implements ConOut.
Date: Mon, 07 Jan 2013 19:45:46 +0000 [thread overview]
Message-ID: <1357587946.2844.28.camel@shinybook.infradead.org> (raw)
In-Reply-To: <20130107191648.GA2229-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 1856 bytes --]
On Mon, 2013-01-07 at 19:16 +0000, Matthew Garrett wrote:
> On Mon, Jan 07, 2013 at 07:12:51PM +0000, David Woodhouse wrote:
> > On Mon, 2013-01-07 at 18:43 +0000, Matthew Garrett wrote:
> > > The kernel does, the EFI boot stub doesn't. There's probably an argument
> > > for having it fail in that case, but it wouldn't even be able to print
> > > an error message without some gymnastics.
> >
> > Printing an error message is simple enough from assembler; you just need
> > to call sys_table->con_out->output_string.
>
> I don't think that's guaranteed to do something unless we've set a
> console mode first, but sure, that ought to be an improvement.
It's what we do for efi_printk() in all other cases where the EFI stub
bails out. It's certainly fair enough as a best-effort.
> > "Sorry, this kernel cannot boot in " (32|64) "-bit mode this way. Your
> > bootloader should have ignored the shiny new EFI handover protocol and
> > booted it the old way. It would have worked then, albeit without EFI
> > runtime services. Which you probably wouldn't have missed."
>
> "(32|64) bit kernels cannot be booted via the EFI handover
> protocol on (64|32) bit firmware"?
Yeah. But the bootloader *could* have booted this kernel, if it had just
chosen to use the old handover protocol. And right now, there's no way
for the bootloader to *tell* what it should do.
It wouldn't be impossible to simply have both 32-bit and 64-bit stubs
(conditionally) present in the kernel, and support both simultaneously.
But if we can't do that, then I suspect we should at *least* make sure
we let the bootloader know which one *is* available, so it doesn't end
up calling the wrong one.
Perhaps we should declare that handover_offset is for the 64-bit stub,
and add a handover_offset32 for the 32-bit stub?
--
dwmw2
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 6171 bytes --]
next prev parent reply other threads:[~2013-01-07 19:45 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1357431222.9270.73.camel@shinybook.infradead.org>
[not found] ` <1357431222.9270.73.camel-Fexsq3y4057IgHVZqg5X0TlWvGAXklZc@public.gmane.org>
2013-01-07 17:08 ` [PATCH] Fix efifb initialisation when the only GOP device implements ConOut Matt Fleming
[not found] ` <1357524250.9270.86.camel@shinybook.infradead.org>
[not found] ` <1357524250.9270.86.camel-Fexsq3y4057IgHVZqg5X0TlWvGAXklZc@public.gmane.org>
2013-01-07 17:15 ` Matt Fleming
[not found] ` <1357578923.8203.72.camel-ZqTwcBeJ+wsBof6jY8KHXm7IUlhRatedral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-01-07 17:51 ` David Woodhouse
[not found] ` <1357581080.2844.17.camel-Fexsq3y4057IgHVZqg5X0TlWvGAXklZc@public.gmane.org>
2013-01-07 17:58 ` Matthew Garrett
[not found] ` <20130107175846.GA385-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-01-07 18:36 ` David Woodhouse
[not found] ` <1357583795.2844.18.camel-Fexsq3y4057IgHVZqg5X0TlWvGAXklZc@public.gmane.org>
2013-01-07 18:43 ` Matthew Garrett
[not found] ` <20130107184320.GA1400-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-01-07 19:12 ` David Woodhouse
[not found] ` <1357585971.2844.22.camel-Fexsq3y4057IgHVZqg5X0TlWvGAXklZc@public.gmane.org>
2013-01-07 19:16 ` Matthew Garrett
[not found] ` <20130107191648.GA2229-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2013-01-07 19:45 ` David Woodhouse [this message]
[not found] ` <1357524456.9270.90.camel@shinybook.infradead.org>
[not found] ` <1357524456.9270.90.camel-Fexsq3y4057IgHVZqg5X0TlWvGAXklZc@public.gmane.org>
2013-01-07 18:58 ` [PATCH] Specify ELF ABI for EFI handover protocol Matt Fleming
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=1357587946.2844.28.camel@shinybook.infradead.org \
--to=dwmw2-wegcikhe2lqwvfeawa7xhq@public.gmane.org \
--cc=hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org \
--cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matt.fleming-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=mjg59-1xO5oi07KQx4cg9Nei1l7Q@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox