efi: avoid error message when booting under Xen

Started by Juergen Gross on Jun 10, 2020 · 7 messages from 3 authors · Last reply Jul 10, 2020

Subsystems (3)

Maintainers (3)

STALE2319d

open the first message on its own page

Message details and related content
efifb_probe() will issue an error message in case the kernel is booted
as Xen dom0 from UEFI as EFI_MEMMAP won't be set in this case. Avoid
that message by calling efi_mem_desc_lookup() only if EFI_PARAVIRT
isn't set.

Fixes: 38ac0287b7f4 ("fbdev/efifb: Honour UEFI memory map attributes when mapping the FB")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/video/fbdev/efifb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c
index 65491ae74808..f5eccd1373e9 100644
--- a/drivers/video/fbdev/efifb.c
+++ b/drivers/video/fbdev/efifb.c
@@ -453,7 +453,7 @@ static int efifb_probe(struct platform_device *dev)
 	info->apertures->ranges[0].base = efifb_fix.smem_start;
 	info->apertures->ranges[0].size = size_remap;
 
-	if (efi_enabled(EFI_BOOT) &&
+	if (efi_enabled(EFI_BOOT) && !efi_enabled(EFI_PARAVIRT) &&
 	    !efi_mem_desc_lookup(efifb_fix.smem_start, &md)) {
 		if ((efifb_fix.smem_start + efifb_fix.smem_len) >
 		    (md.phys_addr + (md.num_pages << EFI_PAGE_SHIFT))) {
-- 
2.26.2
Message details and related content
Ping?

On 10.06.20 16:10, Juergen Gross wrote:
quoted hunk
efifb_probe() will issue an error message in case the kernel is booted
as Xen dom0 from UEFI as EFI_MEMMAP won't be set in this case. Avoid
that message by calling efi_mem_desc_lookup() only if EFI_PARAVIRT
isn't set.

Fixes: 38ac0287b7f4 ("fbdev/efifb: Honour UEFI memory map attributes when mapping the FB")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
  drivers/video/fbdev/efifb.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c
index 65491ae74808..f5eccd1373e9 100644
--- a/drivers/video/fbdev/efifb.c
+++ b/drivers/video/fbdev/efifb.c
@@ -453,7 +453,7 @@ static int efifb_probe(struct platform_device *dev)
  	info->apertures->ranges[0].base = efifb_fix.smem_start;
  	info->apertures->ranges[0].size = size_remap;
  
-	if (efi_enabled(EFI_BOOT) &&
+	if (efi_enabled(EFI_BOOT) && !efi_enabled(EFI_PARAVIRT) &&
  	    !efi_mem_desc_lookup(efifb_fix.smem_start, &md)) {
  		if ((efifb_fix.smem_start + efifb_fix.smem_len) >
  		    (md.phys_addr + (md.num_pages << EFI_PAGE_SHIFT))) {
Message details and related content
On 28.06.20 10:50, Jürgen Groß wrote:
Ping?

On 10.06.20 16:10, Juergen Gross wrote:
quoted
efifb_probe() will issue an error message in case the kernel is booted
as Xen dom0 from UEFI as EFI_MEMMAP won't be set in this case. Avoid
that message by calling efi_mem_desc_lookup() only if EFI_PARAVIRT
isn't set.

Fixes: 38ac0287b7f4 ("fbdev/efifb: Honour UEFI memory map attributes 
when mapping the FB")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
  drivers/video/fbdev/efifb.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c
index 65491ae74808..f5eccd1373e9 100644
--- a/drivers/video/fbdev/efifb.c
+++ b/drivers/video/fbdev/efifb.c
@@ -453,7 +453,7 @@ static int efifb_probe(struct platform_device *dev)
      info->apertures->ranges[0].base = efifb_fix.smem_start;
      info->apertures->ranges[0].size = size_remap;
-    if (efi_enabled(EFI_BOOT) &&
+    if (efi_enabled(EFI_BOOT) && !efi_enabled(EFI_PARAVIRT) &&
          !efi_mem_desc_lookup(efifb_fix.smem_start, &md)) {
          if ((efifb_fix.smem_start + efifb_fix.smem_len) >
              (md.phys_addr + (md.num_pages << EFI_PAGE_SHIFT))) {
In case I see no reaction from the maintainer for another week I'll take
this patch through the Xen tree.


Juergen
Message details and related content
[ added EFI Maintainer & ML to Cc: ]

Hi,

On 7/9/20 11:17 AM, Jürgen Groß wrote:
On 28.06.20 10:50, Jürgen Groß wrote:
quoted
Ping?

On 10.06.20 16:10, Juergen Gross wrote:
quoted
efifb_probe() will issue an error message in case the kernel is booted
as Xen dom0 from UEFI as EFI_MEMMAP won't be set in this case. Avoid
that message by calling efi_mem_desc_lookup() only if EFI_PARAVIRT
isn't set.

Fixes: 38ac0287b7f4 ("fbdev/efifb: Honour UEFI memory map attributes when mapping the FB")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
  drivers/video/fbdev/efifb.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c
index 65491ae74808..f5eccd1373e9 100644
--- a/drivers/video/fbdev/efifb.c
+++ b/drivers/video/fbdev/efifb.c
@@ -453,7 +453,7 @@ static int efifb_probe(struct platform_device *dev)
      info->apertures->ranges[0].base = efifb_fix.smem_start;
      info->apertures->ranges[0].size = size_remap;
-    if (efi_enabled(EFI_BOOT) &&
+    if (efi_enabled(EFI_BOOT) && !efi_enabled(EFI_PARAVIRT) &&
          !efi_mem_desc_lookup(efifb_fix.smem_start, &md)) {
          if ((efifb_fix.smem_start + efifb_fix.smem_len) >
              (md.phys_addr + (md.num_pages << EFI_PAGE_SHIFT))) {
In case I see no reaction from the maintainer for another week I'll take
this patch through the Xen tree.
From fbdev POV this change looks fine to me and I'm OK with merging it
through Xen or EFI tree:

Acked-by: Bartlomiej Zolnierkiewicz <redacted>

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
Message details and related content
On Fri, 10 Jul 2020 at 13:17, Bartlomiej Zolnierkiewicz
[off-list ref] wrote:

[ added EFI Maintainer & ML to Cc: ]

Hi,

On 7/9/20 11:17 AM, Jürgen Groß wrote:
quoted
On 28.06.20 10:50, Jürgen Groß wrote:
quoted
Ping?

On 10.06.20 16:10, Juergen Gross wrote:
quoted
efifb_probe() will issue an error message in case the kernel is booted
as Xen dom0 from UEFI as EFI_MEMMAP won't be set in this case. Avoid
that message by calling efi_mem_desc_lookup() only if EFI_PARAVIRT
isn't set.
Why not test for EFI_MEMMAP instead of EFI_BOOT?

quoted
quoted
quoted
Fixes: 38ac0287b7f4 ("fbdev/efifb: Honour UEFI memory map attributes when mapping the FB")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
  drivers/video/fbdev/efifb.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c
index 65491ae74808..f5eccd1373e9 100644
--- a/drivers/video/fbdev/efifb.c
+++ b/drivers/video/fbdev/efifb.c
@@ -453,7 +453,7 @@ static int efifb_probe(struct platform_device *dev)
      info->apertures->ranges[0].base = efifb_fix.smem_start;
      info->apertures->ranges[0].size = size_remap;
-    if (efi_enabled(EFI_BOOT) &&
+    if (efi_enabled(EFI_BOOT) && !efi_enabled(EFI_PARAVIRT) &&
          !efi_mem_desc_lookup(efifb_fix.smem_start, &md)) {
          if ((efifb_fix.smem_start + efifb_fix.smem_len) >
              (md.phys_addr + (md.num_pages << EFI_PAGE_SHIFT))) {
In case I see no reaction from the maintainer for another week I'll take
this patch through the Xen tree.
From fbdev POV this change looks fine to me and I'm OK with merging it
through Xen or EFI tree:

Acked-by: Bartlomiej Zolnierkiewicz <redacted>

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
Message details and related content
On 10.07.20 15:27, Ard Biesheuvel wrote:
On Fri, 10 Jul 2020 at 13:17, Bartlomiej Zolnierkiewicz
[off-list ref] wrote:
quoted

[ added EFI Maintainer & ML to Cc: ]

Hi,

On 7/9/20 11:17 AM, Jürgen Groß wrote:
quoted
On 28.06.20 10:50, Jürgen Groß wrote:
quoted
Ping?

On 10.06.20 16:10, Juergen Gross wrote:
quoted
efifb_probe() will issue an error message in case the kernel is booted
as Xen dom0 from UEFI as EFI_MEMMAP won't be set in this case. Avoid
that message by calling efi_mem_desc_lookup() only if EFI_PARAVIRT
isn't set.
Why not test for EFI_MEMMAP instead of EFI_BOOT?
Honestly I'm not sure EFI_BOOT is always set in that case. If you tell
me it is fine to just replace the test to check for EFI_MEMMAP I'm fine
to modify my patch.


Juergen
Message details and related content
On Fri, 10 Jul 2020 at 16:38, Jürgen Groß [off-list ref] wrote:
On 10.07.20 15:27, Ard Biesheuvel wrote:
quoted
On Fri, 10 Jul 2020 at 13:17, Bartlomiej Zolnierkiewicz
[off-list ref] wrote:
quoted

[ added EFI Maintainer & ML to Cc: ]

Hi,

On 7/9/20 11:17 AM, Jürgen Groß wrote:
quoted
On 28.06.20 10:50, Jürgen Groß wrote:
quoted
Ping?

On 10.06.20 16:10, Juergen Gross wrote:
quoted
efifb_probe() will issue an error message in case the kernel is booted
as Xen dom0 from UEFI as EFI_MEMMAP won't be set in this case. Avoid
that message by calling efi_mem_desc_lookup() only if EFI_PARAVIRT
isn't set.
Why not test for EFI_MEMMAP instead of EFI_BOOT?
Honestly I'm not sure EFI_BOOT is always set in that case. If you tell
me it is fine to just replace the test to check for EFI_MEMMAP I'm fine
to modify my patch.

Yes please
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help