OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c | 7 +++++++ OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c | 5 +++++ OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c | 5 +++++ 3 files changed, 17 insertions(+)
For GPU passthrough support we have to initialize the console after
EfiBootManagerDispatchDeferredImages() has loaded ROMs, so call it after
this. This was the calling order before the TCG physical presence support
had to be moved and the console initialized earlier so user interaction
could be supported before processing TCG physical presence opcodes.
Fixes: b8675deaa819631db2667df63f89799fe65fc906
Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=3771
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Tested-by: Shivanshu Goyal <shivanshu3@gmail.com>
---
OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c | 7 +++++++
OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c | 5 +++++
OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c | 5 +++++
3 files changed, 17 insertions(+)
diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
index 5feadc51d7..0918c35f1f 100644
--- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
+++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
@@ -448,6 +448,13 @@ PlatformBootManagerBeforeConsole (
//
EfiBootManagerDispatchDeferredImages ();
+ //
+ // GPU passthrough only allows Console enablement after ROM image load
+ //
+ PlatformInitializeConsole (
+ XenDetected () ? gXenPlatformConsole : gPlatformConsole
+ );
+
FrontPageTimeout = GetFrontPageTimeoutFromQemu ();
PcdStatus = PcdSet16S (PcdPlatformBootTimeOut, FrontPageTimeout);
ASSERT_RETURN_ERROR (PcdStatus);
diff --git a/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c
index 119f24b330..bf2701965f 100644
--- a/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c
+++ b/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c
@@ -434,6 +434,11 @@ PlatformBootManagerBeforeConsole (
//
EfiBootManagerDispatchDeferredImages ();
+ //
+ // GPU passthrough only allows Console enablement after ROM image load
+ //
+ PlatformInitializeConsole (gPlatformConsole);
+
PlatformRegisterOptionsAndKeys ();
//
diff --git a/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c
index 9c6848bbff..a402589206 100644
--- a/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c
+++ b/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c
@@ -392,6 +392,11 @@ PlatformBootManagerBeforeConsole (
//
EfiBootManagerDispatchDeferredImages ();
+ //
+ // GPU passthrough only allows Console enablement after ROM image load
+ //
+ PlatformInitializeConsole (gPlatformConsole);
+
Status = gRT->SetVariable (
EFI_TIME_OUT_VARIABLE_NAME,
&gEfiGlobalVariableGuid,
--
2.31.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85035): https://edk2.groups.io/g/devel/message/85035
Mute This Topic: https://groups.io/mt/87782159/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
v2 had lost the cc: list for some reason. I opened this PR: https://github.com/tianocore/edk2/pull/2319 Stefan On 12/16/21 21:41, Stefan Berger wrote: > For GPU passthrough support we have to initialize the console after > EfiBootManagerDispatchDeferredImages() has loaded ROMs, so call it after > this. This was the calling order before the TCG physical presence support > had to be moved and the console initialized earlier so user interaction > could be supported before processing TCG physical presence opcodes. > > Fixes: b8675deaa819631db2667df63f89799fe65fc906 > Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=3771 > Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> > Cc: Jiewen Yao <jiewen.yao@intel.com> > Cc: Jordan Justen <jordan.l.justen@intel.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> > Tested-by: Shivanshu Goyal <shivanshu3@gmail.com> > --- > OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c | 7 +++++++ > OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c | 5 +++++ > OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c | 5 +++++ > 3 files changed, 17 insertions(+) > > diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c > index 5feadc51d7..0918c35f1f 100644 > --- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c > +++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c > @@ -448,6 +448,13 @@ PlatformBootManagerBeforeConsole ( > // > EfiBootManagerDispatchDeferredImages (); > > + // > + // GPU passthrough only allows Console enablement after ROM image load > + // > + PlatformInitializeConsole ( > + XenDetected () ? gXenPlatformConsole : gPlatformConsole > + ); > + > FrontPageTimeout = GetFrontPageTimeoutFromQemu (); > PcdStatus = PcdSet16S (PcdPlatformBootTimeOut, FrontPageTimeout); > ASSERT_RETURN_ERROR (PcdStatus); > diff --git a/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c > index 119f24b330..bf2701965f 100644 > --- a/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c > +++ b/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c > @@ -434,6 +434,11 @@ PlatformBootManagerBeforeConsole ( > // > EfiBootManagerDispatchDeferredImages (); > > + // > + // GPU passthrough only allows Console enablement after ROM image load > + // > + PlatformInitializeConsole (gPlatformConsole); > + > PlatformRegisterOptionsAndKeys (); > > // > diff --git a/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c > index 9c6848bbff..a402589206 100644 > --- a/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c > +++ b/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c > @@ -392,6 +392,11 @@ PlatformBootManagerBeforeConsole ( > // > EfiBootManagerDispatchDeferredImages (); > > + // > + // GPU passthrough only allows Console enablement after ROM image load > + // > + PlatformInitializeConsole (gPlatformConsole); > + > Status = gRT->SetVariable ( > EFI_TIME_OUT_VARIABLE_NAME, > &gEfiGlobalVariableGuid, -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#85036): https://edk2.groups.io/g/devel/message/85036 Mute This Topic: https://groups.io/mt/87782159/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Thank you Stefan to fix this. Acked-by: Jiewen Yao <Jiewen.yao@intel.com> > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Stefan > Berger > Sent: Friday, December 17, 2021 10:42 AM > To: devel@edk2.groups.io > Cc: marcandre.lureau@redhat.com; shivanshu3@gmail.com; Stefan Berger > <stefanb@linux.ibm.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>; Yao, > Jiewen <jiewen.yao@intel.com>; Justen, Jordan L <jordan.l.justen@intel.com>; > Gerd Hoffmann <kraxel@redhat.com> > Subject: [edk2-devel] [PATCH v3] OvmfPkg: Call PlatformInitializeConsole for > GPU passthrough case > > For GPU passthrough support we have to initialize the console after > EfiBootManagerDispatchDeferredImages() has loaded ROMs, so call it after > this. This was the calling order before the TCG physical presence support > had to be moved and the console initialized earlier so user interaction > could be supported before processing TCG physical presence opcodes. > > Fixes: b8675deaa819631db2667df63f89799fe65fc906 > Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=3771 > Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> > Cc: Jiewen Yao <jiewen.yao@intel.com> > Cc: Jordan Justen <jordan.l.justen@intel.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> > Tested-by: Shivanshu Goyal <shivanshu3@gmail.com> > --- > OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c | 7 +++++++ > OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c | 5 +++++ > OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c | 5 +++++ > 3 files changed, 17 insertions(+) > > diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c > b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c > index 5feadc51d7..0918c35f1f 100644 > --- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c > +++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c > @@ -448,6 +448,13 @@ PlatformBootManagerBeforeConsole ( > // > > EfiBootManagerDispatchDeferredImages (); > > > > + // > > + // GPU passthrough only allows Console enablement after ROM image load > > + // > > + PlatformInitializeConsole ( > > + XenDetected () ? gXenPlatformConsole : gPlatformConsole > > + ); > > + > > FrontPageTimeout = GetFrontPageTimeoutFromQemu (); > > PcdStatus = PcdSet16S (PcdPlatformBootTimeOut, FrontPageTimeout); > > ASSERT_RETURN_ERROR (PcdStatus); > > diff --git a/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c > b/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c > index 119f24b330..bf2701965f 100644 > --- a/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c > +++ b/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c > @@ -434,6 +434,11 @@ PlatformBootManagerBeforeConsole ( > // > > EfiBootManagerDispatchDeferredImages (); > > > > + // > > + // GPU passthrough only allows Console enablement after ROM image load > > + // > > + PlatformInitializeConsole (gPlatformConsole); > > + > > PlatformRegisterOptionsAndKeys (); > > > > // > > diff --git a/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c > b/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c > index 9c6848bbff..a402589206 100644 > --- a/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c > +++ b/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c > @@ -392,6 +392,11 @@ PlatformBootManagerBeforeConsole ( > // > > EfiBootManagerDispatchDeferredImages (); > > > > + // > > + // GPU passthrough only allows Console enablement after ROM image load > > + // > > + PlatformInitializeConsole (gPlatformConsole); > > + > > Status = gRT->SetVariable ( > > EFI_TIME_OUT_VARIABLE_NAME, > > &gEfiGlobalVariableGuid, > > -- > 2.31.1 > > > > -=-=-=-=-=-= > Groups.io Links: You receive all messages sent to this group. > View/Reply Online (#85035): https://edk2.groups.io/g/devel/message/85035 > Mute This Topic: https://groups.io/mt/87782159/1772286 > Group Owner: devel+owner@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [jiewen.yao@intel.com] > -=-=-=-=-=-= > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#85037): https://edk2.groups.io/g/devel/message/85037 Mute This Topic: https://groups.io/mt/87782159/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On Thu, Dec 16, 2021 at 09:41:40PM -0500, Stefan Berger wrote: > For GPU passthrough support we have to initialize the console after > EfiBootManagerDispatchDeferredImages() has loaded ROMs, so call it after > this. This was the calling order before the TCG physical presence support > had to be moved and the console initialized earlier so user interaction > could be supported before processing TCG physical presence opcodes. > > Fixes: b8675deaa819631db2667df63f89799fe65fc906 > Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=3771 > Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> > Cc: Jiewen Yao <jiewen.yao@intel.com> > Cc: Jordan Justen <jordan.l.justen@intel.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> > Tested-by: Shivanshu Goyal <shivanshu3@gmail.com> > + // > + // GPU passthrough only allows Console enablement after ROM image load > + // > + PlatformInitializeConsole (gPlatformConsole); Ah, fixed already. Acked-by: Gerd Hoffmann <kraxel@redhat.com> take care, Gerd -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#85048): https://edk2.groups.io/g/devel/message/85048 Mute This Topic: https://groups.io/mt/87782159/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On Fri, 17 Dec 2021 at 06:52, Gerd Hoffmann <kraxel@redhat.com> wrote: > > On Thu, Dec 16, 2021 at 09:41:40PM -0500, Stefan Berger wrote: > > For GPU passthrough support we have to initialize the console after > > EfiBootManagerDispatchDeferredImages() has loaded ROMs, so call it after > > this. This was the calling order before the TCG physical presence support > > had to be moved and the console initialized earlier so user interaction > > could be supported before processing TCG physical presence opcodes. > > > > Fixes: b8675deaa819631db2667df63f89799fe65fc906 > > Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=3771 > > Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> > > Cc: Jiewen Yao <jiewen.yao@intel.com> > > Cc: Jordan Justen <jordan.l.justen@intel.com> > > Cc: Gerd Hoffmann <kraxel@redhat.com> > > Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> > > Tested-by: Shivanshu Goyal <shivanshu3@gmail.com> > > > + // > > + // GPU passthrough only allows Console enablement after ROM image load > > + // > > + PlatformInitializeConsole (gPlatformConsole); > > Ah, fixed already. > > Acked-by: Gerd Hoffmann <kraxel@redhat.com> > > take care, > Gerd > Merged as #2325 Thanks all, -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#85082): https://edk2.groups.io/g/devel/message/85082 Mute This Topic: https://groups.io/mt/87782159/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Hi, I'm asking on behalf of Arch Linux maintainers: are you planning on creating a new release with this patch, or should we apply this patch ourselves until a new version is released? Thank you, Shivanshu Goyal On Fri, Dec 17, 2021, 9:37 AM Ard Biesheuvel <ardb@kernel.org> wrote: > On Fri, 17 Dec 2021 at 06:52, Gerd Hoffmann <kraxel@redhat.com> wrote: > > > > On Thu, Dec 16, 2021 at 09:41:40PM -0500, Stefan Berger wrote: > > > For GPU passthrough support we have to initialize the console after > > > EfiBootManagerDispatchDeferredImages() has loaded ROMs, so call it > after > > > this. This was the calling order before the TCG physical presence > support > > > had to be moved and the console initialized earlier so user interaction > > > could be supported before processing TCG physical presence opcodes. > > > > > > Fixes: b8675deaa819631db2667df63f89799fe65fc906 > > > Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=3771 > > > Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> > > > Cc: Jiewen Yao <jiewen.yao@intel.com> > > > Cc: Jordan Justen <jordan.l.justen@intel.com> > > > Cc: Gerd Hoffmann <kraxel@redhat.com> > > > Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> > > > Tested-by: Shivanshu Goyal <shivanshu3@gmail.com> > > > > > + // > > > + // GPU passthrough only allows Console enablement after ROM image > load > > > + // > > > + PlatformInitializeConsole (gPlatformConsole); > > > > Ah, fixed already. > > > > Acked-by: Gerd Hoffmann <kraxel@redhat.com> > > > > take care, > > Gerd > > > > Merged as #2325 > > Thanks all, > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#85086): https://edk2.groups.io/g/devel/message/85086 Mute This Topic: https://groups.io/mt/87782159/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
On Fri, 17 Dec 2021 at 20:21, Shivanshu Goyal <shivanshu3@gmail.com> wrote: > > Hi, > > I'm asking on behalf of Arch Linux maintainers: are you planning on creating a new release with this patch, or should we apply this patch ourselves until a new version is released? > Tianocore doesn't do releases, there are only periodic 'stable tags' in the repo, and one such tag was created just a week ago. So if Arch Linux needs this change, it's better to carry it locally for the time being. > > On Fri, Dec 17, 2021, 9:37 AM Ard Biesheuvel <ardb@kernel.org> wrote: >> >> On Fri, 17 Dec 2021 at 06:52, Gerd Hoffmann <kraxel@redhat.com> wrote: >> > >> > On Thu, Dec 16, 2021 at 09:41:40PM -0500, Stefan Berger wrote: >> > > For GPU passthrough support we have to initialize the console after >> > > EfiBootManagerDispatchDeferredImages() has loaded ROMs, so call it after >> > > this. This was the calling order before the TCG physical presence support >> > > had to be moved and the console initialized earlier so user interaction >> > > could be supported before processing TCG physical presence opcodes. >> > > >> > > Fixes: b8675deaa819631db2667df63f89799fe65fc906 >> > > Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=3771 >> > > Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> >> > > Cc: Jiewen Yao <jiewen.yao@intel.com> >> > > Cc: Jordan Justen <jordan.l.justen@intel.com> >> > > Cc: Gerd Hoffmann <kraxel@redhat.com> >> > > Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> >> > > Tested-by: Shivanshu Goyal <shivanshu3@gmail.com> >> > >> > > + // >> > > + // GPU passthrough only allows Console enablement after ROM image load >> > > + // >> > > + PlatformInitializeConsole (gPlatformConsole); >> > >> > Ah, fixed already. >> > >> > Acked-by: Gerd Hoffmann <kraxel@redhat.com> >> > >> > take care, >> > Gerd >> > >> >> Merged as #2325 >> >> Thanks all, -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#85087): https://edk2.groups.io/g/devel/message/85087 Mute This Topic: https://groups.io/mt/87782159/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2024 Red Hat, Inc.