|
@@ -667,6 +667,7 @@ setup_gop32(struct screen_info *si, efi_guid_t *proto,
|
|
bool conout_found = false;
|
|
bool conout_found = false;
|
|
void *dummy = NULL;
|
|
void *dummy = NULL;
|
|
u32 h = handles[i];
|
|
u32 h = handles[i];
|
|
|
|
+ u32 current_fb_base;
|
|
|
|
|
|
status = efi_call_early(handle_protocol, h,
|
|
status = efi_call_early(handle_protocol, h,
|
|
proto, (void **)&gop32);
|
|
proto, (void **)&gop32);
|
|
@@ -678,7 +679,7 @@ setup_gop32(struct screen_info *si, efi_guid_t *proto,
|
|
if (status == EFI_SUCCESS)
|
|
if (status == EFI_SUCCESS)
|
|
conout_found = true;
|
|
conout_found = true;
|
|
|
|
|
|
- status = __gop_query32(gop32, &info, &size, &fb_base);
|
|
|
|
|
|
+ status = __gop_query32(gop32, &info, &size, ¤t_fb_base);
|
|
if (status == EFI_SUCCESS && (!first_gop || conout_found)) {
|
|
if (status == EFI_SUCCESS && (!first_gop || conout_found)) {
|
|
/*
|
|
/*
|
|
* Systems that use the UEFI Console Splitter may
|
|
* Systems that use the UEFI Console Splitter may
|
|
@@ -692,6 +693,7 @@ setup_gop32(struct screen_info *si, efi_guid_t *proto,
|
|
pixel_format = info->pixel_format;
|
|
pixel_format = info->pixel_format;
|
|
pixel_info = info->pixel_information;
|
|
pixel_info = info->pixel_information;
|
|
pixels_per_scan_line = info->pixels_per_scan_line;
|
|
pixels_per_scan_line = info->pixels_per_scan_line;
|
|
|
|
+ fb_base = current_fb_base;
|
|
|
|
|
|
/*
|
|
/*
|
|
* Once we've found a GOP supporting ConOut,
|
|
* Once we've found a GOP supporting ConOut,
|
|
@@ -770,6 +772,7 @@ setup_gop64(struct screen_info *si, efi_guid_t *proto,
|
|
bool conout_found = false;
|
|
bool conout_found = false;
|
|
void *dummy = NULL;
|
|
void *dummy = NULL;
|
|
u64 h = handles[i];
|
|
u64 h = handles[i];
|
|
|
|
+ u32 current_fb_base;
|
|
|
|
|
|
status = efi_call_early(handle_protocol, h,
|
|
status = efi_call_early(handle_protocol, h,
|
|
proto, (void **)&gop64);
|
|
proto, (void **)&gop64);
|
|
@@ -781,7 +784,7 @@ setup_gop64(struct screen_info *si, efi_guid_t *proto,
|
|
if (status == EFI_SUCCESS)
|
|
if (status == EFI_SUCCESS)
|
|
conout_found = true;
|
|
conout_found = true;
|
|
|
|
|
|
- status = __gop_query64(gop64, &info, &size, &fb_base);
|
|
|
|
|
|
+ status = __gop_query64(gop64, &info, &size, ¤t_fb_base);
|
|
if (status == EFI_SUCCESS && (!first_gop || conout_found)) {
|
|
if (status == EFI_SUCCESS && (!first_gop || conout_found)) {
|
|
/*
|
|
/*
|
|
* Systems that use the UEFI Console Splitter may
|
|
* Systems that use the UEFI Console Splitter may
|
|
@@ -795,6 +798,7 @@ setup_gop64(struct screen_info *si, efi_guid_t *proto,
|
|
pixel_format = info->pixel_format;
|
|
pixel_format = info->pixel_format;
|
|
pixel_info = info->pixel_information;
|
|
pixel_info = info->pixel_information;
|
|
pixels_per_scan_line = info->pixels_per_scan_line;
|
|
pixels_per_scan_line = info->pixels_per_scan_line;
|
|
|
|
+ fb_base = current_fb_base;
|
|
|
|
|
|
/*
|
|
/*
|
|
* Once we've found a GOP supporting ConOut,
|
|
* Once we've found a GOP supporting ConOut,
|