[edk2-devel] [PATCH v1] UefiCpuPkg: Get processor extended information for SmmCpuServiceProtocol

Zhang, Hongbin1 posted 1 patch 11 months, 1 week ago
Failed in applying to current master (apply log)
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[edk2-devel] [PATCH v1] UefiCpuPkg: Get processor extended information for SmmCpuServiceProtocol
Posted by Zhang, Hongbin1 11 months, 1 week ago
Some features like RAS need to use processor extended information
under smm, So add code to support it

Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
---
 UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
index c0e368ea94..8311c3b9de 100644
--- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
+++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
@@ -929,7 +929,7 @@ PiCpuSmmEntry (
     gSmmCpuPrivate->Operation[Index]        = SmmCpuNone;
 
     if (Index < mNumberOfCpus) {
-      Status = MpServices->GetProcessorInfo (MpServices, Index, &gSmmCpuPrivate->ProcessorInfo[Index]);
+      Status = MpServices->GetProcessorInfo (MpServices, Index | CPU_V2_EXTENDED_TOPOLOGY, &gSmmCpuPrivate->ProcessorInfo[Index]);
       ASSERT_EFI_ERROR (Status);
       mCpuHotPlugData.ApicId[Index] = gSmmCpuPrivate->ProcessorInfo[Index].ProcessorId;
 
-- 
2.37.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#105396): https://edk2.groups.io/g/devel/message/105396
Mute This Topic: https://groups.io/mt/99209786/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v1] UefiCpuPkg: Get processor extended information for SmmCpuServiceProtocol
Posted by joeyli via groups.io 5 months, 3 weeks ago
Hi Hongbin1,

On Mon, May 29, 2023 at 02:39:38PM +0800, Zhang, Hongbin1 via groups.io wrote:
> Some features like RAS need to use processor extended information
> under smm, So add code to support it
> 
> Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com>

I got a ASSERT when booting edk2-stable202308 on a issue machine:

ASSERT /home/joeyli/source_code-git/edk2/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c(1478): (Index != 0) || (LevelType == 0x01)  

And, the ASSERT can also be reproduced on edk2 master. After reverted this
patch, the ASSERT is gone. 

I have filed a bug here:
https://bugzilla.tianocore.org/show_bug.cgi?id=4598

I have put some tracing information on bugzilla.

Thank a lot!
Joey Lee

> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Star Zeng <star.zeng@intel.com>
> Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> ---
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> index c0e368ea94..8311c3b9de 100644
> --- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> @@ -929,7 +929,7 @@ PiCpuSmmEntry (
>      gSmmCpuPrivate->Operation[Index]        = SmmCpuNone;
>  
>      if (Index < mNumberOfCpus) {
> -      Status = MpServices->GetProcessorInfo (MpServices, Index, &gSmmCpuPrivate->ProcessorInfo[Index]);
> +      Status = MpServices->GetProcessorInfo (MpServices, Index | CPU_V2_EXTENDED_TOPOLOGY, &gSmmCpuPrivate->ProcessorInfo[Index]);
>        ASSERT_EFI_ERROR (Status);
>        mCpuHotPlugData.ApicId[Index] = gSmmCpuPrivate->ProcessorInfo[Index].ProcessorId;
>  
> -- 
> 2.37.0.windows.1
> 
> 
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111242): https://edk2.groups.io/g/devel/message/111242
Mute This Topic: https://groups.io/mt/99209786/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v1] UefiCpuPkg: Get processor extended information for SmmCpuServiceProtocol
Posted by Wu, Jiaxin 5 months, 3 weeks ago
Hi Joey, 

Please check your local code whether has the commit 170d4ce8e90abb1eff03852940a69c9d17f8afe5 from Gerd,

Assert in 1478 means you don't have that patch.

Besides, I'm also porting the change to BaseXApicLib, see patch: https://edk2.groups.io/g/devel/message/111257

Thanks,
Jiaxin

> -----Original Message-----
> From: joeyli <jlee@suse.com>
> Sent: Wednesday, November 15, 2023 3:35 PM
> To: devel@edk2.groups.io; Zhang, Hongbin1 <hongbin1.zhang@intel.com>
> Cc: Dong, Eric <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Kumar,
> Rahul R <rahul.r.kumar@intel.com>; Gerd Hoffmann <kraxel@redhat.com>;
> Zeng, Star <star.zeng@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>
> Subject: Re: [edk2-devel] [PATCH v1] UefiCpuPkg: Get processor extended
> information for SmmCpuServiceProtocol
> 
> Hi Hongbin1,
> 
> On Mon, May 29, 2023 at 02:39:38PM +0800, Zhang, Hongbin1 via groups.io
> wrote:
> > Some features like RAS need to use processor extended information
> > under smm, So add code to support it
> >
> > Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com>
> 
> I got a ASSERT when booting edk2-stable202308 on a issue machine:
> 
> ASSERT /home/joeyli/source_code-
> git/edk2/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c(147
> 8): (Index != 0) || (LevelType == 0x01)
> 
> And, the ASSERT can also be reproduced on edk2 master. After reverted this
> patch, the ASSERT is gone.
> 
> I have filed a bug here:
> https://bugzilla.tianocore.org/show_bug.cgi?id=4598
> 
> I have put some tracing information on bugzilla.
> 
> Thank a lot!
> Joey Lee
> 
> > Cc: Eric Dong <eric.dong@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Rahul Kumar <rahul1.kumar@intel.com>
> > Cc: Gerd Hoffmann <kraxel@redhat.com>
> > Cc: Star Zeng <star.zeng@intel.com>
> > Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> > ---
> >  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> > index c0e368ea94..8311c3b9de 100644
> > --- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> > +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> > @@ -929,7 +929,7 @@ PiCpuSmmEntry (
> >      gSmmCpuPrivate->Operation[Index]        = SmmCpuNone;
> >
> >      if (Index < mNumberOfCpus) {
> > -      Status = MpServices->GetProcessorInfo (MpServices, Index,
> &gSmmCpuPrivate->ProcessorInfo[Index]);
> > +      Status = MpServices->GetProcessorInfo (MpServices, Index |
> CPU_V2_EXTENDED_TOPOLOGY, &gSmmCpuPrivate->ProcessorInfo[Index]);
> >        ASSERT_EFI_ERROR (Status);
> >        mCpuHotPlugData.ApicId[Index] = gSmmCpuPrivate-
> >ProcessorInfo[Index].ProcessorId;
> >
> > --
> > 2.37.0.windows.1
> >
> >
> >
> > 
> >


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111260): https://edk2.groups.io/g/devel/message/111260
Mute This Topic: https://groups.io/mt/99209786/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v1] UefiCpuPkg: Get processor extended information for SmmCpuServiceProtocol
Posted by joeyli via groups.io 5 months, 3 weeks ago
Hi Jiaxin, 

Thanks for your reminder! I have tested Gerd's patch and it works to me!

Joey Lee

On Wed, Nov 15, 2023 at 11:30:07AM +0000, Wu, Jiaxin wrote:
> Hi Joey, 
> 
> Please check your local code whether has the commit 170d4ce8e90abb1eff03852940a69c9d17f8afe5 from Gerd,
> 
> Assert in 1478 means you don't have that patch.
> 
> Besides, I'm also porting the change to BaseXApicLib, see patch: https://edk2.groups.io/g/devel/message/111257
> 
> Thanks,
> Jiaxin
> 
> > -----Original Message-----
> > From: joeyli <jlee@suse.com>
> > Sent: Wednesday, November 15, 2023 3:35 PM
> > To: devel@edk2.groups.io; Zhang, Hongbin1 <hongbin1.zhang@intel.com>
> > Cc: Dong, Eric <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Kumar,
> > Rahul R <rahul.r.kumar@intel.com>; Gerd Hoffmann <kraxel@redhat.com>;
> > Zeng, Star <star.zeng@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>
> > Subject: Re: [edk2-devel] [PATCH v1] UefiCpuPkg: Get processor extended
> > information for SmmCpuServiceProtocol
> > 
> > Hi Hongbin1,
> > 
> > On Mon, May 29, 2023 at 02:39:38PM +0800, Zhang, Hongbin1 via groups.io
> > wrote:
> > > Some features like RAS need to use processor extended information
> > > under smm, So add code to support it
> > >
> > > Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com>
> > 
> > I got a ASSERT when booting edk2-stable202308 on a issue machine:
> > 
> > ASSERT /home/joeyli/source_code-
> > git/edk2/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c(147
> > 8): (Index != 0) || (LevelType == 0x01)
> > 
> > And, the ASSERT can also be reproduced on edk2 master. After reverted this
> > patch, the ASSERT is gone.
> > 
> > I have filed a bug here:
> > https://bugzilla.tianocore.org/show_bug.cgi?id=4598
> > 
> > I have put some tracing information on bugzilla.
> > 
> > Thank a lot!
> > Joey Lee
> > 
> > > Cc: Eric Dong <eric.dong@intel.com>
> > > Cc: Ray Ni <ray.ni@intel.com>
> > > Cc: Rahul Kumar <rahul1.kumar@intel.com>
> > > Cc: Gerd Hoffmann <kraxel@redhat.com>
> > > Cc: Star Zeng <star.zeng@intel.com>
> > > Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> > > ---
> > >  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> > b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> > > index c0e368ea94..8311c3b9de 100644
> > > --- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> > > +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> > > @@ -929,7 +929,7 @@ PiCpuSmmEntry (
> > >      gSmmCpuPrivate->Operation[Index]        = SmmCpuNone;
> > >
> > >      if (Index < mNumberOfCpus) {
> > > -      Status = MpServices->GetProcessorInfo (MpServices, Index,
> > &gSmmCpuPrivate->ProcessorInfo[Index]);
> > > +      Status = MpServices->GetProcessorInfo (MpServices, Index |
> > CPU_V2_EXTENDED_TOPOLOGY, &gSmmCpuPrivate->ProcessorInfo[Index]);
> > >        ASSERT_EFI_ERROR (Status);
> > >        mCpuHotPlugData.ApicId[Index] = gSmmCpuPrivate-
> > >ProcessorInfo[Index].ProcessorId;
> > >
> > > --
> > > 2.37.0.windows.1
> > >
> > >
> > >
> > > 
> > >


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111269): https://edk2.groups.io/g/devel/message/111269
Mute This Topic: https://groups.io/mt/99209786/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v1] UefiCpuPkg: Get processor extended information for SmmCpuServiceProtocol
Posted by Gerd Hoffmann 11 months, 1 week ago
On Mon, May 29, 2023 at 02:39:38PM +0800, Zhang, Hongbin1 wrote:
> Some features like RAS need to use processor extended information
> under smm, So add code to support it

Acked-by: Gerd Hoffmann <kraxel@redhat.com>




-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#105527): https://edk2.groups.io/g/devel/message/105527
Mute This Topic: https://groups.io/mt/99209786/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v1] UefiCpuPkg: Get processor extended information for SmmCpuServiceProtocol
Posted by Wu, Jiaxin 11 months, 1 week ago
Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>

> -----Original Message-----
> From: Zhang, Hongbin1 <hongbin1.zhang@intel.com>
> Sent: Monday, May 29, 2023 2:40 PM
> To: devel@edk2.groups.io
> Cc: Zhang, Hongbin1 <hongbin1.zhang@intel.com>; Dong, Eric
> <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Kumar, Rahul R
> <rahul.r.kumar@intel.com>; Gerd Hoffmann <kraxel@redhat.com>; Zeng,
> Star <star.zeng@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>
> Subject: [PATCH v1] UefiCpuPkg: Get processor extended information for
> SmmCpuServiceProtocol
> 
> Some features like RAS need to use processor extended information
> under smm, So add code to support it
> 
> Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Star Zeng <star.zeng@intel.com>
> Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> ---
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> index c0e368ea94..8311c3b9de 100644
> --- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> @@ -929,7 +929,7 @@ PiCpuSmmEntry (
>      gSmmCpuPrivate->Operation[Index]        = SmmCpuNone;
> 
>      if (Index < mNumberOfCpus) {
> -      Status = MpServices->GetProcessorInfo (MpServices, Index,
> &gSmmCpuPrivate->ProcessorInfo[Index]);
> +      Status = MpServices->GetProcessorInfo (MpServices, Index |
> CPU_V2_EXTENDED_TOPOLOGY, &gSmmCpuPrivate->ProcessorInfo[Index]);
>        ASSERT_EFI_ERROR (Status);
>        mCpuHotPlugData.ApicId[Index] = gSmmCpuPrivate-
> >ProcessorInfo[Index].ProcessorId;
> 
> --
> 2.37.0.windows.1




-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#105522): https://edk2.groups.io/g/devel/message/105522
Mute This Topic: https://groups.io/mt/99209786/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v1] UefiCpuPkg: Get processor extended information for SmmCpuServiceProtocol
Posted by Ni, Ray 11 months, 1 week ago
Reviewed-by: Ray Ni <ray.ni@intel.com>

> -----Original Message-----
> From: Wu, Jiaxin <jiaxin.wu@intel.com>
> Sent: Thursday, June 1, 2023 9:31 AM
> To: Zhang, Hongbin1 <hongbin1.zhang@intel.com>; devel@edk2.groups.io
> Cc: Dong, Eric <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Kumar,
> Rahul R <rahul.r.kumar@intel.com>; Gerd Hoffmann <kraxel@redhat.com>;
> Zeng, Star <star.zeng@intel.com>
> Subject: RE: [PATCH v1] UefiCpuPkg: Get processor extended information for
> SmmCpuServiceProtocol
> 
> Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
> 
> > -----Original Message-----
> > From: Zhang, Hongbin1 <hongbin1.zhang@intel.com>
> > Sent: Monday, May 29, 2023 2:40 PM
> > To: devel@edk2.groups.io
> > Cc: Zhang, Hongbin1 <hongbin1.zhang@intel.com>; Dong, Eric
> > <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Kumar, Rahul R
> > <rahul.r.kumar@intel.com>; Gerd Hoffmann <kraxel@redhat.com>; Zeng,
> > Star <star.zeng@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>
> > Subject: [PATCH v1] UefiCpuPkg: Get processor extended information for
> > SmmCpuServiceProtocol
> >
> > Some features like RAS need to use processor extended information
> > under smm, So add code to support it
> >
> > Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com>
> > Cc: Eric Dong <eric.dong@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Rahul Kumar <rahul1.kumar@intel.com>
> > Cc: Gerd Hoffmann <kraxel@redhat.com>
> > Cc: Star Zeng <star.zeng@intel.com>
> > Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> > ---
> >  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> > b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> > index c0e368ea94..8311c3b9de 100644
> > --- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> > +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
> > @@ -929,7 +929,7 @@ PiCpuSmmEntry (
> >      gSmmCpuPrivate->Operation[Index]        = SmmCpuNone;
> >
> >      if (Index < mNumberOfCpus) {
> > -      Status = MpServices->GetProcessorInfo (MpServices, Index,
> > &gSmmCpuPrivate->ProcessorInfo[Index]);
> > +      Status = MpServices->GetProcessorInfo (MpServices, Index |
> > CPU_V2_EXTENDED_TOPOLOGY, &gSmmCpuPrivate-
> >ProcessorInfo[Index]);
> >        ASSERT_EFI_ERROR (Status);
> >        mCpuHotPlugData.ApicId[Index] = gSmmCpuPrivate-
> > >ProcessorInfo[Index].ProcessorId;
> >
> > --
> > 2.37.0.windows.1




-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#105523): https://edk2.groups.io/g/devel/message/105523
Mute This Topic: https://groups.io/mt/99209786/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-