This needs a detailed comment in quirks code as to why we disable video
mode.

Le lun. 30 sept. 2024, 20:47, Leo Sandoval <lsand...@redhat.com> a écrit :

> From: Paulo Flabiano Smorigo <pfsmor...@br.ibm.com>
>
> Should fix the problem in bugzilla:
> https://bugzilla.redhat.com/show_bug.cgi?id=973205
>
> Signed-off-by: Paulo Flabiano Smorigo <pfsmor...@br.ibm.com>
> Signed-off-by: Robbie Harwood <rharw...@redhat.com>
> ---
>  grub-core/kern/ieee1275/cmain.c  | 5 ++++-
>  grub-core/video/ieee1275.c       | 9 ++++++---
>  include/grub/ieee1275/ieee1275.h | 2 ++
>  3 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/grub-core/kern/ieee1275/cmain.c
> b/grub-core/kern/ieee1275/cmain.c
> index e74de3248..810a089a9 100644
> --- a/grub-core/kern/ieee1275/cmain.c
> +++ b/grub-core/kern/ieee1275/cmain.c
> @@ -89,7 +89,10 @@ grub_ieee1275_find_options (void)
>    }
>
>    if (rc >= 0 && grub_strncmp (tmp, "IBM", 3) == 0)
> -    grub_ieee1275_set_flag
> (GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS);
> +    {
> +      grub_ieee1275_set_flag
> (GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS);
> +      grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_DISABLE_VIDEO_SUPPORT);
> +    }
>
>    /* Old Macs have no key repeat, newer ones have fully working one.
>       The ones inbetween when repeated key generates an escaoe sequence
> diff --git a/grub-core/video/ieee1275.c b/grub-core/video/ieee1275.c
> index ca3d3c3b2..5592e4bb7 100644
> --- a/grub-core/video/ieee1275.c
> +++ b/grub-core/video/ieee1275.c
> @@ -351,9 +351,12 @@ static struct grub_video_adapter
> grub_video_ieee1275_adapter =
>
>  GRUB_MOD_INIT(ieee1275_fb)
>  {
> -  find_display ();
> -  if (display)
> -    grub_video_register (&grub_video_ieee1275_adapter);
> +  if (! grub_ieee1275_test_flag
> (GRUB_IEEE1275_FLAG_DISABLE_VIDEO_SUPPORT))
> +    {
> +      find_display ();
> +      if (display)
> +        grub_video_register (&grub_video_ieee1275_adapter);
> +    }
>  }
>
>  GRUB_MOD_FINI(ieee1275_fb)
> diff --git a/include/grub/ieee1275/ieee1275.h
> b/include/grub/ieee1275/ieee1275.h
> index 4f6e6aaa0..db0ec5f4c 100644
> --- a/include/grub/ieee1275/ieee1275.h
> +++ b/include/grub/ieee1275/ieee1275.h
> @@ -145,6 +145,8 @@ enum grub_ieee1275_flag
>    GRUB_IEEE1275_FLAG_POWER_VM,
>
>    GRUB_IEEE1275_FLAG_POWER_KVM,
> +
> +  GRUB_IEEE1275_FLAG_DISABLE_VIDEO_SUPPORT
>  };
>
>  extern int EXPORT_FUNC(grub_ieee1275_test_flag) (enum grub_ieee1275_flag
> flag);
> --
> 2.46.1
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to