linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matthew Garrett <mjg59@srcf.ucam.org>
To: Matt Fleming <matt@console-pimps.org>
Cc: linux-kernel@vger.kernel.org,
	"H. Peter Anvin" <hpa@linux.intel.com>,
	x86@kernel.org, Ingo Molnar <mingo@elte.hu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Matt Fleming <matt.fleming@intel.com>,
	Mike Waychison <mikew@google.com>,
	Andi Kleen <andi@firstfloor.org>,
	Maarten Lankhorst <m.b.lankhorst@gmail.com>
Subject: Re: [PATCH v2 10/10] x86, efi: EFI boot stub support
Date: Tue, 13 Sep 2011 14:29:31 +0100	[thread overview]
Message-ID: <20110913132931.GA5203@srcf.ucam.org> (raw)
In-Reply-To: <1315838094-2307-11-git-send-email-matt@console-pimps.org>

On Mon, Sep 12, 2011 at 03:34:54PM +0100, Matt Fleming wrote:

> +	status = efi_call_phys5(sys_table->boottime->locate_handle,
> +				EFI_LOCATE_BY_PROTOCOL, proto,
> +				NULL, &size, gop_handle);
> +	if (status != EFI_SUCCESS)
> +		goto free_handle;
> +
> +	nr_gops = size / sizeof(void *);
> +	for (i = 0; i < nr_gops; i++) {
> +		void *h = gop_handle[i];
> +
> +		status = efi_call_phys3(sys_table->boottime->handle_protocol,
> +					h, proto, &gop);
> +		if (status != EFI_SUCCESS)
> +			continue;
> +
> +		status = efi_call_phys4(gop->query_mode, gop, gop->mode->mode,
> +					&size, &info);
> +		if (status == EFI_SUCCESS)
> +			break;
> +	}

Apple do something funky here, which is to provide a GOP that's not 
backed by real hardware but which muxes writes out to multiple outputs 
in order to handle the multiple display case without screwing up aspect 
ratio. That's fine, except that the stride reported for the fake one is 
just the horizontal width of the logical display. That results in things 
failing badly. The real one also implements PCIIO. My workaround so far 
has been to look for a GOP that handles PCIIO and use it if found, and 
otherwise just fall back to the first GOP.

-- 
Matthew Garrett | mjg59@srcf.ucam.org

  reply	other threads:[~2011-09-13 13:30 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-12 14:34 [PATCH v2 00/10] x86 EFI boot stub Matt Fleming
2011-09-12 14:34 ` [PATCH 01/10] x86: Add missing bzImage fields to struct setup_header Matt Fleming
2011-09-12 14:34 ` [PATCH 02/10] x86, efi: Make efi_call_phys_prelog() CONFIG_RELOCATABLE-aware Matt Fleming
2011-09-12 14:34 ` [PATCH 03/10] x86: Don't use magic strings for EFI loader signature Matt Fleming
2011-09-12 14:34 ` [PATCH 04/10] efi.h: Add struct definition for boot time services Matt Fleming
2011-09-12 14:34 ` [PATCH v2 05/10] efi.h: Add efi_image_loaded_t Matt Fleming
2011-09-12 14:34 ` [PATCH 06/10] efi.h: Add allocation types for boottime->allocate_pages() Matt Fleming
2011-09-12 14:34 ` [PATCH v2 07/10] efi.h: Add graphics protocol guids Matt Fleming
2011-09-12 14:34 ` [PATCH 08/10] efi.h: Add boottime->locate_handle search types Matt Fleming
2011-09-12 14:34 ` [PATCH v2 09/10] efi: Add EFI file I/O data types Matt Fleming
2011-09-12 14:34 ` [PATCH v2 10/10] x86, efi: EFI boot stub support Matt Fleming
2011-09-13 13:29   ` Matthew Garrett [this message]
2011-09-13 14:01     ` Matt Fleming
2011-09-13 14:33   ` Maarten Lankhorst
2011-09-14 16:07     ` Matt Fleming
     [not found]       ` <20110915045231.GA32136@emperor.us.dell.com>
2011-09-15  8:04         ` Maarten Lankhorst
2011-09-15  9:08           ` Maarten Lankhorst
     [not found]           ` <20110915115255.GA4669@emperor.us.dell.com>
2011-09-15 12:44             ` Maarten Lankhorst
2011-09-17 11:44               ` Matt Fleming
2011-09-17 12:12                 ` Maarten Lankhorst
2011-09-21 11:57                   ` Matt Fleming
2011-09-21 12:10   ` [PATCH v3 " Matt Fleming
2011-09-22 11:43     ` Maarten Lankhorst
2011-09-22 11:55       ` Matt Fleming
2011-09-29 10:14     ` Henrik Rydberg
2011-09-30  7:41       ` Matt Fleming
2011-09-30 11:13         ` Henrik Rydberg
2011-10-03 16:53           ` Matthew Garrett
2011-10-03 18:32             ` Henrik Rydberg
2011-09-30  8:51     ` [PATCH v4 " Matt Fleming
2011-09-30 16:24       ` Shea Levy
2011-09-30 20:11         ` Matt Fleming
2011-10-01  7:50           ` Maarten Lankhorst
2011-10-01  9:19             ` 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=20110913132931.GA5203@srcf.ucam.org \
    --to=mjg59@srcf.ucam.org \
    --cc=andi@firstfloor.org \
    --cc=hpa@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.b.lankhorst@gmail.com \
    --cc=matt.fleming@intel.com \
    --cc=matt@console-pimps.org \
    --cc=mikew@google.com \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    --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;
as well as URLs for NNTP newsgroup(s).