efi_loader: gop: Don't expose fb address

Recently Linux is gaining support for efifb on AArch64 and that support actually
tries to make use of the frame buffer address we expose to it via gop.

While this wouldn't be bad in theory, in practice it means a few bad things

  1) We expose 16bit frame buffers as 32bit today
  2) Linux can't deal with overlapping non-PCI regions between efifb and
     a different frame buffer driver

For now, let's just disable exposure of the frame buffer address. Most OSs that
get booted will have a native driver for the GPU anyway.

Signed-off-by: Alexander Graf <agraf@suse.de>
[trini: Remove line_len entirely]
Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Alexander Graf 2016-05-18 02:04:24 +02:00 committed by Tom Rini
parent ae87440578
commit c9cfac5d30

View File

@ -111,7 +111,6 @@ static efi_status_t EFIAPI gop_blt(struct efi_gop *this, void *buffer,
int efi_gop_register(void)
{
struct efi_gop_obj *gopobj;
int line_len;
switch (panel_info.vl_bpix) {
case LCD_COLOR32:
@ -136,8 +135,6 @@ int efi_gop_register(void)
gopobj->mode.max_mode = 1;
gopobj->mode.info = &gopobj->info;
gopobj->mode.info_size = sizeof(gopobj->info);
gopobj->mode.fb_base = gd->fb_base;
gopobj->mode.fb_size = lcd_get_size(&line_len);
gopobj->info.version = 0;
gopobj->info.width = panel_info.vl_col;