public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Yao, Jiewen" <jiewen.yao@intel.com>
To: "Li, Yi1" <yi1.li@intel.com>, Gerd Hoffmann <kraxel@redhat.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Hou, Wenxing" <wenxing.hou@intel.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>,
	Pedro Falcato <pedro.falcato@gmail.com>,
	"Ard Biesheuvel" <ardb+tianocore@kernel.org>
Subject: Re: [edk2-devel] CryptoPkg host test broken due to smoketest for RDRAND
Date: Fri, 14 Jun 2024 16:09:00 +0000	[thread overview]
Message-ID: <MW4PR11MB58720BDDCC95276EF71FDEE88CC22@MW4PR11MB5872.namprd11.prod.outlook.com> (raw)
In-Reply-To: <SJ1PR11MB6227E16D33F75A5D057CAFCEC5C22@SJ1PR11MB6227.namprd11.prod.outlook.com>

Hey
This PR seems just a workaround.

I don't feel it is right solution to hardcode BIT30.
What if the host platform does not have such capability? You will get failure later.

To fix this function, can we call real CPUID instruction to return real value?


UINT32
EFIAPI
UnitTestHostBaseLibAsmCpuid (
  IN      UINT32  Index,
  OUT     UINT32  *Eax   OPTIONAL,
  OUT     UINT32  *Ebx   OPTIONAL,
  OUT     UINT32  *Ecx   OPTIONAL,
  OUT     UINT32  *Edx   OPTIONAL
  )
{
  UINT32  RetEcx;

  RetEcx = 0;
  switch (Index) {
    case 1:
      RetEcx |= BIT30; /* RdRand */
      break;
  }

  if (Eax != NULL) {
    *Eax = 0;
  }
  if (Ebx != NULL) {
    *Ebx = 0;
  }

  if (Ecx != NULL) {
    *Ecx = RetEcx;
  }

  if (Edx != NULL) {
    *Edx = 0;
  }
  return Index;
}

> -----Original Message-----
> From: Li, Yi1 <yi1.li@intel.com>
> Sent: Friday, June 14, 2024 9:32 PM
> To: Gerd Hoffmann <kraxel@redhat.com>; devel@edk2.groups.io
> Cc: Hou, Wenxing <wenxing.hou@intel.com>; Yao, Jiewen
> <jiewen.yao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>;
> Pedro Falcato <pedro.falcato@gmail.com>; Ard Biesheuvel
> <ardb+tianocore@kernel.org>
> Subject: RE: [edk2-devel] CryptoPkg host test broken due to smoketest for
> RDRAND
> 
> Approved, appreciate your quick response.
> 
> Thanks,
> Yi
> 
> -----Original Message-----
> From: Gerd Hoffmann <kraxel@redhat.com>
> Sent: Friday, June 14, 2024 6:41 PM
> To: devel@edk2.groups.io; Li, Yi1 <yi1.li@intel.com>
> Cc: Hou, Wenxing <wenxing.hou@intel.com>; Yao, Jiewen
> <jiewen.yao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>;
> Pedro Falcato <pedro.falcato@gmail.com>; Ard Biesheuvel
> <ardb+tianocore@kernel.org>
> Subject: Re: [edk2-devel] CryptoPkg host test broken due to smoketest for
> RDRAND
> 
> On Fri, Jun 14, 2024 at 07:07:41AM GMT, Li, Yi wrote:
> > All crypto host tests which consumed randlib broken due to:
> > https://github.com/tianocore/edk2/pull/5714
> > Not sure why this issue not reported  by CI when merge this PR.
> >
> > The reason is that the ```BaseRngLibConstructor``` of rnglib is not called in host
> test, so ```mRdRandSupported``` is not enabled.
> > Then the Crypto API calls ```GetRandomNumber*``` will fail.
> > GetRandomNumber64 (
> >   OUT     UINT64  *Rand
> >   )
> > {
> >   ......
> >   if (!ArchIsRngSupported ()) {
> >     return FALSE;
> >   }
> >
> > Is there a way to let unit test host to call the constructors correctly?
> 
> https://github.com/tianocore/edk2/pull/5775
> 
> take care,
>   Gerd



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119574): https://edk2.groups.io/g/devel/message/119574
Mute This Topic: https://groups.io/mt/106666288/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



  reply	other threads:[~2024-06-14 16:09 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-14  7:07 [edk2-devel] CryptoPkg host test broken due to smoketest for RDRAND Li, Yi
2024-06-14  7:19 ` Yao, Jiewen
2024-06-14  7:24   ` Li, Yi
2024-06-14  7:51     ` Ard Biesheuvel
2024-06-14 14:20       ` Li, Yi
2024-06-14 10:41 ` Gerd Hoffmann
2024-06-14 13:32   ` Li, Yi
2024-06-14 16:09     ` Yao, Jiewen [this message]
2024-06-14 16:13       ` Ard Biesheuvel
2024-06-14 16:45         ` Yao, Jiewen
2024-06-14 17:16           ` Ard Biesheuvel
2024-06-15  4:54             ` Li, Yi
2024-06-15  4:57               ` Michael D Kinney
2024-06-15  5:18                 ` Li, Yi
2024-06-15  3:11           ` Li, Yi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=MW4PR11MB58720BDDCC95276EF71FDEE88CC22@MW4PR11MB5872.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox