On Mon, Sep 30, 2024 at 1:07 PM Vladimir 'phcoder' Serbinenko <
phco...@gmail.com> wrote:

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

Agree. Let me include it in v2.


>
> 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
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to