* SMBios configuration table not present until late stage of boot @ 2017-05-18 15:00 Tomas Pilar (tpilar) 2017-05-18 15:11 ` Jim.Dailey 0 siblings, 1 reply; 10+ messages in thread From: Tomas Pilar (tpilar) @ 2017-05-18 15:00 UTC (permalink / raw) To: edk2-devel@lists.01.org Hi, I am trying to read the system UUID from the System Table (Type 1) in the SMBios set of tables. I am doing this during DriverBinding.Start() part of the UEFI_DRIVER initialisation. Unfortunately the gST->ConfigurationTable only contains 6 tables and SMBios is not one of them. Once I boot into UEFI shell or start a PXE booting process, the gST->ConfigurationTable now contains 8 tables and SMBios is one of the two new tables. If I however only boot to a HDD, this never seems to happen. Can someone offer some insight why this might be so and how would I go about forcing the platform to provide the SMBios in gST->ConfigurationTable at a sensible point? Incidentally it seems ExitBootServices is not signaled on this platform if the boot goes through to HDD either, which is another strange thing ... Cheers, Tom ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: SMBios configuration table not present until late stage of boot 2017-05-18 15:00 SMBios configuration table not present until late stage of boot Tomas Pilar (tpilar) @ 2017-05-18 15:11 ` Jim.Dailey 2017-05-18 15:13 ` Tomas Pilar (tpilar) 0 siblings, 1 reply; 10+ messages in thread From: Jim.Dailey @ 2017-05-18 15:11 UTC (permalink / raw) To: tpilar; +Cc: edk2-devel Not a helpful comment, but I wanted to air my feelings on the topic: I view SMBIOS as data strictly for OS-level consumption and not for any pre-boot code. I'm sure I'm in the minority, however. One of the problems is that the BIOS needs to have scanned all devices/resources and perhaps executed a connect all before the tables can be generated (or at least completed). Regards, Jim -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Tomas Pilar (tpilar) Sent: Thursday, May 18, 2017 10:01 AM To: edk2-devel@lists.01.org Subject: [edk2] SMBios configuration table not present until late stage of boot Hi, I am trying to read the system UUID from the System Table (Type 1) in the SMBios set of tables. I am doing this during DriverBinding.Start() part of the UEFI_DRIVER initialisation. Unfortunately the gST->ConfigurationTable only contains 6 tables and SMBios is not one of them. Once I boot into UEFI shell or start a PXE booting process, the gST->ConfigurationTable now contains 8 tables and SMBios is one of the two new tables. If I however only boot to a HDD, this never seems to happen. Can someone offer some insight why this might be so and how would I go about forcing the platform to provide the SMBios in gST->ConfigurationTable at a sensible point? Incidentally it seems ExitBootServices is not signaled on this platform if the boot goes through to HDD either, which is another strange thing ... Cheers, Tom _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: SMBios configuration table not present until late stage of boot 2017-05-18 15:11 ` Jim.Dailey @ 2017-05-18 15:13 ` Tomas Pilar (tpilar) 2017-05-18 15:25 ` Jim.Dailey 0 siblings, 1 reply; 10+ messages in thread From: Tomas Pilar (tpilar) @ 2017-05-18 15:13 UTC (permalink / raw) To: Jim.Dailey; +Cc: edk2-devel This does make sense. Do you have a suggestion how I would go about finding/creating a unique identifier for the system during preboot? Cheers, Tom On 18/05/17 16:11, Jim.Dailey@dell.com wrote: > Not a helpful comment, but I wanted to air my feelings on the topic: > > I view SMBIOS as data strictly for OS-level consumption and not for > any pre-boot code. I'm sure I'm in the minority, however. > > One of the problems is that the BIOS needs to have scanned all > devices/resources and perhaps executed a connect all before the > tables can be generated (or at least completed). > > Regards, > Jim > > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Tomas Pilar (tpilar) > Sent: Thursday, May 18, 2017 10:01 AM > To: edk2-devel@lists.01.org > Subject: [edk2] SMBios configuration table not present until late stage of boot > > Hi, > > I am trying to read the system UUID from the System Table (Type 1) in > the SMBios set of tables. I am doing this during DriverBinding.Start() > part of the UEFI_DRIVER initialisation. Unfortunately the > gST->ConfigurationTable only contains 6 tables and SMBios is not one of > them. > > Once I boot into UEFI shell or start a PXE booting process, the > gST->ConfigurationTable now contains 8 tables and SMBios is one of the > two new tables. If I however only boot to a HDD, this never seems to > happen. > > Can someone offer some insight why this might be so and how would I go > about forcing the platform to provide the SMBios in > gST->ConfigurationTable at a sensible point? > > Incidentally it seems ExitBootServices is not signaled on this platform > if the boot goes through to HDD either, which is another strange thing ... > > Cheers, > Tom > > > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: SMBios configuration table not present until late stage of boot 2017-05-18 15:13 ` Tomas Pilar (tpilar) @ 2017-05-18 15:25 ` Jim.Dailey 2017-05-18 15:28 ` Tomas Pilar (tpilar) 0 siblings, 1 reply; 10+ messages in thread From: Jim.Dailey @ 2017-05-18 15:25 UTC (permalink / raw) To: tpilar; +Cc: edk2-devel It is a tricky problem. What I would like is for a new protocol to be defined, which should not rely on devices, to contain certain identifying information like this that would be useful to device drivers. It could be created early in DXE. What I fear is some future requirement that SMBIOS be made available at some definitive time pre-OS boot. You may have to get support from the BIOS vendor. If you are doing a driver for a particular system, that might not be too bad of a solution; but if you're trying to develop some generic driver, I don't have a good suggestion. Regards, Jim -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Tomas Pilar (tpilar) Sent: Thursday, May 18, 2017 10:14 AM To: Dailey, Jim <Jim_Dailey@Dell.com> Cc: edk2-devel@lists.01.org Subject: Re: [edk2] SMBios configuration table not present until late stage of boot This does make sense. Do you have a suggestion how I would go about finding/creating a unique identifier for the system during preboot? Cheers, Tom On 18/05/17 16:11, Jim.Dailey@dell.com wrote: > Not a helpful comment, but I wanted to air my feelings on the topic: > > I view SMBIOS as data strictly for OS-level consumption and not for > any pre-boot code. I'm sure I'm in the minority, however. > > One of the problems is that the BIOS needs to have scanned all > devices/resources and perhaps executed a connect all before the > tables can be generated (or at least completed). > > Regards, > Jim > > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Tomas Pilar (tpilar) > Sent: Thursday, May 18, 2017 10:01 AM > To: edk2-devel@lists.01.org > Subject: [edk2] SMBios configuration table not present until late stage of boot > > Hi, > > I am trying to read the system UUID from the System Table (Type 1) in > the SMBios set of tables. I am doing this during DriverBinding.Start() > part of the UEFI_DRIVER initialisation. Unfortunately the > gST->ConfigurationTable only contains 6 tables and SMBios is not one of > them. > > Once I boot into UEFI shell or start a PXE booting process, the > gST->ConfigurationTable now contains 8 tables and SMBios is one of the > two new tables. If I however only boot to a HDD, this never seems to > happen. > > Can someone offer some insight why this might be so and how would I go > about forcing the platform to provide the SMBios in > gST->ConfigurationTable at a sensible point? > > Incidentally it seems ExitBootServices is not signaled on this platform > if the boot goes through to HDD either, which is another strange thing ... > > Cheers, > Tom > > > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: SMBios configuration table not present until late stage of boot 2017-05-18 15:25 ` Jim.Dailey @ 2017-05-18 15:28 ` Tomas Pilar (tpilar) 2017-05-18 17:22 ` Andrew Fish 2017-05-18 18:26 ` Laszlo Ersek 0 siblings, 2 replies; 10+ messages in thread From: Tomas Pilar (tpilar) @ 2017-05-18 15:28 UTC (permalink / raw) To: Jim.Dailey; +Cc: edk2-devel This is what I was afraid of. I am writing an IHV network driver that lives in optionROM. Cheers, Tom On 18/05/17 16:25, Jim.Dailey@dell.com wrote: > It is a tricky problem. > > What I would like is for a new protocol to be defined, which should > not rely on devices, to contain certain identifying information > like this that would be useful to device drivers. It could be > created early in DXE. > > What I fear is some future requirement that SMBIOS be made available > at some definitive time pre-OS boot. > > You may have to get support from the BIOS vendor. If you are doing a > driver for a particular system, that might not be too bad of a > solution; but if you're trying to develop some generic driver, I > don't have a good suggestion. > > Regards, > Jim > > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Tomas Pilar (tpilar) > Sent: Thursday, May 18, 2017 10:14 AM > To: Dailey, Jim <Jim_Dailey@Dell.com> > Cc: edk2-devel@lists.01.org > Subject: Re: [edk2] SMBios configuration table not present until late stage of boot > > This does make sense. Do you have a suggestion how I would go about > finding/creating a unique identifier for the system during preboot? > > Cheers, > Tom > > On 18/05/17 16:11, Jim.Dailey@dell.com wrote: >> Not a helpful comment, but I wanted to air my feelings on the topic: >> >> I view SMBIOS as data strictly for OS-level consumption and not for >> any pre-boot code. I'm sure I'm in the minority, however. >> >> One of the problems is that the BIOS needs to have scanned all >> devices/resources and perhaps executed a connect all before the >> tables can be generated (or at least completed). >> >> Regards, >> Jim >> >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Tomas Pilar (tpilar) >> Sent: Thursday, May 18, 2017 10:01 AM >> To: edk2-devel@lists.01.org >> Subject: [edk2] SMBios configuration table not present until late stage of boot >> >> Hi, >> >> I am trying to read the system UUID from the System Table (Type 1) in >> the SMBios set of tables. I am doing this during DriverBinding.Start() >> part of the UEFI_DRIVER initialisation. Unfortunately the >> gST->ConfigurationTable only contains 6 tables and SMBios is not one of >> them. >> >> Once I boot into UEFI shell or start a PXE booting process, the >> gST->ConfigurationTable now contains 8 tables and SMBios is one of the >> two new tables. If I however only boot to a HDD, this never seems to >> happen. >> >> Can someone offer some insight why this might be so and how would I go >> about forcing the platform to provide the SMBios in >> gST->ConfigurationTable at a sensible point? >> >> Incidentally it seems ExitBootServices is not signaled on this platform >> if the boot goes through to HDD either, which is another strange thing ... >> >> Cheers, >> Tom >> >> >> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: SMBios configuration table not present until late stage of boot 2017-05-18 15:28 ` Tomas Pilar (tpilar) @ 2017-05-18 17:22 ` Andrew Fish 2017-05-18 18:26 ` Laszlo Ersek 1 sibling, 0 replies; 10+ messages in thread From: Andrew Fish @ 2017-05-18 17:22 UTC (permalink / raw) To: Tomas Pilar (tpilar); +Cc: Jim.Dailey, edk2-devel > On May 18, 2017, at 8:28 AM, Tomas Pilar (tpilar) <tpilar@solarflare.com> wrote: > > This is what I was afraid of. I am writing an IHV network driver that lives in optionROM. > Tomas, I think this issue is fixed in the current Specs and edk2 code. The PI Spec defines an Protocol, gEfiSmbiosProtocolGuid, for SMBIOS and the current edk2 implementation publishes the tables as data comes in. https://github.com/tianocore/edk2/blob/master/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c#L516 // // Some UEFI drivers (such as network) need some information in SMBIOS table. // Here we create SMBIOS table and publish it in // configuration table, so other UEFI drivers can get SMBIOS table from // configuration table without depending on PI SMBIOS protocol. // SmbiosTableConstruction (Smbios32BitTable, Smbios64BitTable); Looks like your issue is working on older systems? Thanks, Andrew Fish > Cheers, > Tom > > On 18/05/17 16:25, Jim.Dailey@dell.com wrote: >> It is a tricky problem. >> >> What I would like is for a new protocol to be defined, which should >> not rely on devices, to contain certain identifying information >> like this that would be useful to device drivers. It could be >> created early in DXE. >> >> What I fear is some future requirement that SMBIOS be made available >> at some definitive time pre-OS boot. >> >> You may have to get support from the BIOS vendor. If you are doing a >> driver for a particular system, that might not be too bad of a >> solution; but if you're trying to develop some generic driver, I >> don't have a good suggestion. >> >> Regards, >> Jim >> >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Tomas Pilar (tpilar) >> Sent: Thursday, May 18, 2017 10:14 AM >> To: Dailey, Jim <Jim_Dailey@Dell.com> >> Cc: edk2-devel@lists.01.org >> Subject: Re: [edk2] SMBios configuration table not present until late stage of boot >> >> This does make sense. Do you have a suggestion how I would go about >> finding/creating a unique identifier for the system during preboot? >> >> Cheers, >> Tom >> >> On 18/05/17 16:11, Jim.Dailey@dell.com wrote: >>> Not a helpful comment, but I wanted to air my feelings on the topic: >>> >>> I view SMBIOS as data strictly for OS-level consumption and not for >>> any pre-boot code. I'm sure I'm in the minority, however. >>> >>> One of the problems is that the BIOS needs to have scanned all >>> devices/resources and perhaps executed a connect all before the >>> tables can be generated (or at least completed). >>> >>> Regards, >>> Jim >>> >>> -----Original Message----- >>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Tomas Pilar (tpilar) >>> Sent: Thursday, May 18, 2017 10:01 AM >>> To: edk2-devel@lists.01.org >>> Subject: [edk2] SMBios configuration table not present until late stage of boot >>> >>> Hi, >>> >>> I am trying to read the system UUID from the System Table (Type 1) in >>> the SMBios set of tables. I am doing this during DriverBinding.Start() >>> part of the UEFI_DRIVER initialisation. Unfortunately the >>> gST->ConfigurationTable only contains 6 tables and SMBios is not one of >>> them. >>> >>> Once I boot into UEFI shell or start a PXE booting process, the >>> gST->ConfigurationTable now contains 8 tables and SMBios is one of the >>> two new tables. If I however only boot to a HDD, this never seems to >>> happen. >>> >>> Can someone offer some insight why this might be so and how would I go >>> about forcing the platform to provide the SMBios in >>> gST->ConfigurationTable at a sensible point? >>> >>> Incidentally it seems ExitBootServices is not signaled on this platform >>> if the boot goes through to HDD either, which is another strange thing ... >>> >>> Cheers, >>> Tom >>> >>> >>> >>> _______________________________________________ >>> edk2-devel mailing list >>> edk2-devel@lists.01.org >>> https://lists.01.org/mailman/listinfo/edk2-devel >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: SMBios configuration table not present until late stage of boot 2017-05-18 15:28 ` Tomas Pilar (tpilar) 2017-05-18 17:22 ` Andrew Fish @ 2017-05-18 18:26 ` Laszlo Ersek 2017-05-19 10:32 ` Tomas Pilar (tpilar) 1 sibling, 1 reply; 10+ messages in thread From: Laszlo Ersek @ 2017-05-18 18:26 UTC (permalink / raw) To: Tomas Pilar (tpilar), Jim.Dailey; +Cc: edk2-devel On 05/18/17 17:28, Tomas Pilar (tpilar) wrote: > This is what I was afraid of. I am writing an IHV network driver that > lives in optionROM. Out of curiosity, if you can share it, what do you need the sytem UUID in a network driver for? Thank you, Laszlo > > Cheers, > Tom > > On 18/05/17 16:25, Jim.Dailey@dell.com wrote: >> It is a tricky problem. >> >> What I would like is for a new protocol to be defined, which should >> not rely on devices, to contain certain identifying information >> like this that would be useful to device drivers. It could be >> created early in DXE. >> >> What I fear is some future requirement that SMBIOS be made available >> at some definitive time pre-OS boot. >> >> You may have to get support from the BIOS vendor. If you are doing a >> driver for a particular system, that might not be too bad of a >> solution; but if you're trying to develop some generic driver, I >> don't have a good suggestion. >> >> Regards, >> Jim >> >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >> Tomas Pilar (tpilar) >> Sent: Thursday, May 18, 2017 10:14 AM >> To: Dailey, Jim <Jim_Dailey@Dell.com> >> Cc: edk2-devel@lists.01.org >> Subject: Re: [edk2] SMBios configuration table not present until late >> stage of boot >> >> This does make sense. Do you have a suggestion how I would go about >> finding/creating a unique identifier for the system during preboot? >> >> Cheers, >> Tom >> >> On 18/05/17 16:11, Jim.Dailey@dell.com wrote: >>> Not a helpful comment, but I wanted to air my feelings on the topic: >>> >>> I view SMBIOS as data strictly for OS-level consumption and not for >>> any pre-boot code. I'm sure I'm in the minority, however. >>> >>> One of the problems is that the BIOS needs to have scanned all >>> devices/resources and perhaps executed a connect all before the >>> tables can be generated (or at least completed). >>> >>> Regards, >>> Jim >>> >>> -----Original Message----- >>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf >>> Of Tomas Pilar (tpilar) >>> Sent: Thursday, May 18, 2017 10:01 AM >>> To: edk2-devel@lists.01.org >>> Subject: [edk2] SMBios configuration table not present until late >>> stage of boot >>> >>> Hi, >>> >>> I am trying to read the system UUID from the System Table (Type 1) in >>> the SMBios set of tables. I am doing this during DriverBinding.Start() >>> part of the UEFI_DRIVER initialisation. Unfortunately the >>> gST->ConfigurationTable only contains 6 tables and SMBios is not one of >>> them. >>> >>> Once I boot into UEFI shell or start a PXE booting process, the >>> gST->ConfigurationTable now contains 8 tables and SMBios is one of the >>> two new tables. If I however only boot to a HDD, this never seems to >>> happen. >>> >>> Can someone offer some insight why this might be so and how would I go >>> about forcing the platform to provide the SMBios in >>> gST->ConfigurationTable at a sensible point? >>> >>> Incidentally it seems ExitBootServices is not signaled on this platform >>> if the boot goes through to HDD either, which is another strange >>> thing ... >>> >>> Cheers, >>> Tom >>> >>> >>> >>> _______________________________________________ >>> edk2-devel mailing list >>> edk2-devel@lists.01.org >>> https://lists.01.org/mailman/listinfo/edk2-devel >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: SMBios configuration table not present until late stage of boot 2017-05-18 18:26 ` Laszlo Ersek @ 2017-05-19 10:32 ` Tomas Pilar (tpilar) 2017-05-19 17:36 ` Andrew Fish 2017-05-19 20:48 ` Laszlo Ersek 0 siblings, 2 replies; 10+ messages in thread From: Tomas Pilar (tpilar) @ 2017-05-19 10:32 UTC (permalink / raw) To: Laszlo Ersek, Jim.Dailey; +Cc: edk2-devel The problem to solve is uniquely and persistently identifying which NICs are grouped together in which host to a third party management system over LAN during preboot in a reasonably secure way. If we use a random generated UUID every reboot, we're not persistent. If we store the UUID across reboot, you could take the NIC out and move it to a different host and keep the ID. So the idea was to construct it from either the System UUID or using mobo/cpu serial numbers. Cheers, Tom On 18/05/17 19:26, Laszlo Ersek wrote: > On 05/18/17 17:28, Tomas Pilar (tpilar) wrote: >> This is what I was afraid of. I am writing an IHV network driver that >> lives in optionROM. > Out of curiosity, if you can share it, what do you need the sytem UUID > in a network driver for? > > Thank you, > Laszlo > >> Cheers, >> Tom >> >> On 18/05/17 16:25, Jim.Dailey@dell.com wrote: >>> It is a tricky problem. >>> >>> What I would like is for a new protocol to be defined, which should >>> not rely on devices, to contain certain identifying information >>> like this that would be useful to device drivers. It could be >>> created early in DXE. >>> >>> What I fear is some future requirement that SMBIOS be made available >>> at some definitive time pre-OS boot. >>> >>> You may have to get support from the BIOS vendor. If you are doing a >>> driver for a particular system, that might not be too bad of a >>> solution; but if you're trying to develop some generic driver, I >>> don't have a good suggestion. >>> >>> Regards, >>> Jim >>> >>> -----Original Message----- >>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >>> Tomas Pilar (tpilar) >>> Sent: Thursday, May 18, 2017 10:14 AM >>> To: Dailey, Jim <Jim_Dailey@Dell.com> >>> Cc: edk2-devel@lists.01.org >>> Subject: Re: [edk2] SMBios configuration table not present until late >>> stage of boot >>> >>> This does make sense. Do you have a suggestion how I would go about >>> finding/creating a unique identifier for the system during preboot? >>> >>> Cheers, >>> Tom >>> >>> On 18/05/17 16:11, Jim.Dailey@dell.com wrote: >>>> Not a helpful comment, but I wanted to air my feelings on the topic: >>>> >>>> I view SMBIOS as data strictly for OS-level consumption and not for >>>> any pre-boot code. I'm sure I'm in the minority, however. >>>> >>>> One of the problems is that the BIOS needs to have scanned all >>>> devices/resources and perhaps executed a connect all before the >>>> tables can be generated (or at least completed). >>>> >>>> Regards, >>>> Jim >>>> >>>> -----Original Message----- >>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf >>>> Of Tomas Pilar (tpilar) >>>> Sent: Thursday, May 18, 2017 10:01 AM >>>> To: edk2-devel@lists.01.org >>>> Subject: [edk2] SMBios configuration table not present until late >>>> stage of boot >>>> >>>> Hi, >>>> >>>> I am trying to read the system UUID from the System Table (Type 1) in >>>> the SMBios set of tables. I am doing this during DriverBinding.Start() >>>> part of the UEFI_DRIVER initialisation. Unfortunately the >>>> gST->ConfigurationTable only contains 6 tables and SMBios is not one of >>>> them. >>>> >>>> Once I boot into UEFI shell or start a PXE booting process, the >>>> gST->ConfigurationTable now contains 8 tables and SMBios is one of the >>>> two new tables. If I however only boot to a HDD, this never seems to >>>> happen. >>>> >>>> Can someone offer some insight why this might be so and how would I go >>>> about forcing the platform to provide the SMBios in >>>> gST->ConfigurationTable at a sensible point? >>>> >>>> Incidentally it seems ExitBootServices is not signaled on this platform >>>> if the boot goes through to HDD either, which is another strange >>>> thing ... >>>> >>>> Cheers, >>>> Tom >>>> >>>> >>>> >>>> _______________________________________________ >>>> edk2-devel mailing list >>>> edk2-devel@lists.01.org >>>> https://lists.01.org/mailman/listinfo/edk2-devel >>> _______________________________________________ >>> edk2-devel mailing list >>> edk2-devel@lists.01.org >>> https://lists.01.org/mailman/listinfo/edk2-devel >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: SMBios configuration table not present until late stage of boot 2017-05-19 10:32 ` Tomas Pilar (tpilar) @ 2017-05-19 17:36 ` Andrew Fish 2017-05-19 20:48 ` Laszlo Ersek 1 sibling, 0 replies; 10+ messages in thread From: Andrew Fish @ 2017-05-19 17:36 UTC (permalink / raw) To: Tomas Pilar (tpilar); +Cc: Laszlo Ersek, Jim.Dailey, edk2-devel > On May 19, 2017, at 3:32 AM, Tomas Pilar (tpilar) <tpilar@solarflare.com> wrote: > > The problem to solve is uniquely and persistently identifying which NICs are grouped together in which host to a third party management system over LAN during preboot in a reasonably secure way. > > If we use a random generated UUID every reboot, we're not persistent. If we store the UUID across reboot, you could take the NIC out and move it to a different host and keep the ID. So the idea was to construct it from either the System UUID or using mobo/cpu serial numbers. > The PXE network boot stack also uses the system UUID so the server can optionally send a custom image back to the system. So your requirement does not seem unreasonable. Thanks, Andrew Fish > Cheers, > > Tom > > On 18/05/17 19:26, Laszlo Ersek wrote: >> On 05/18/17 17:28, Tomas Pilar (tpilar) wrote: >>> This is what I was afraid of. I am writing an IHV network driver that >>> lives in optionROM. >> Out of curiosity, if you can share it, what do you need the sytem UUID >> in a network driver for? >> >> Thank you, >> Laszlo >> >>> Cheers, >>> Tom >>> >>> On 18/05/17 16:25, Jim.Dailey@dell.com wrote: >>>> It is a tricky problem. >>>> >>>> What I would like is for a new protocol to be defined, which should >>>> not rely on devices, to contain certain identifying information >>>> like this that would be useful to device drivers. It could be >>>> created early in DXE. >>>> >>>> What I fear is some future requirement that SMBIOS be made available >>>> at some definitive time pre-OS boot. >>>> >>>> You may have to get support from the BIOS vendor. If you are doing a >>>> driver for a particular system, that might not be too bad of a >>>> solution; but if you're trying to develop some generic driver, I >>>> don't have a good suggestion. >>>> >>>> Regards, >>>> Jim >>>> >>>> -----Original Message----- >>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >>>> Tomas Pilar (tpilar) >>>> Sent: Thursday, May 18, 2017 10:14 AM >>>> To: Dailey, Jim <Jim_Dailey@Dell.com> >>>> Cc: edk2-devel@lists.01.org >>>> Subject: Re: [edk2] SMBios configuration table not present until late >>>> stage of boot >>>> >>>> This does make sense. Do you have a suggestion how I would go about >>>> finding/creating a unique identifier for the system during preboot? >>>> >>>> Cheers, >>>> Tom >>>> >>>> On 18/05/17 16:11, Jim.Dailey@dell.com wrote: >>>>> Not a helpful comment, but I wanted to air my feelings on the topic: >>>>> >>>>> I view SMBIOS as data strictly for OS-level consumption and not for >>>>> any pre-boot code. I'm sure I'm in the minority, however. >>>>> >>>>> One of the problems is that the BIOS needs to have scanned all >>>>> devices/resources and perhaps executed a connect all before the >>>>> tables can be generated (or at least completed). >>>>> >>>>> Regards, >>>>> Jim >>>>> >>>>> -----Original Message----- >>>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf >>>>> Of Tomas Pilar (tpilar) >>>>> Sent: Thursday, May 18, 2017 10:01 AM >>>>> To: edk2-devel@lists.01.org >>>>> Subject: [edk2] SMBios configuration table not present until late >>>>> stage of boot >>>>> >>>>> Hi, >>>>> >>>>> I am trying to read the system UUID from the System Table (Type 1) in >>>>> the SMBios set of tables. I am doing this during DriverBinding.Start() >>>>> part of the UEFI_DRIVER initialisation. Unfortunately the >>>>> gST->ConfigurationTable only contains 6 tables and SMBios is not one of >>>>> them. >>>>> >>>>> Once I boot into UEFI shell or start a PXE booting process, the >>>>> gST->ConfigurationTable now contains 8 tables and SMBios is one of the >>>>> two new tables. If I however only boot to a HDD, this never seems to >>>>> happen. >>>>> >>>>> Can someone offer some insight why this might be so and how would I go >>>>> about forcing the platform to provide the SMBios in >>>>> gST->ConfigurationTable at a sensible point? >>>>> >>>>> Incidentally it seems ExitBootServices is not signaled on this platform >>>>> if the boot goes through to HDD either, which is another strange >>>>> thing ... >>>>> >>>>> Cheers, >>>>> Tom >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> edk2-devel mailing list >>>>> edk2-devel@lists.01.org >>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>> _______________________________________________ >>>> edk2-devel mailing list >>>> edk2-devel@lists.01.org >>>> https://lists.01.org/mailman/listinfo/edk2-devel >>> _______________________________________________ >>> edk2-devel mailing list >>> edk2-devel@lists.01.org >>> https://lists.01.org/mailman/listinfo/edk2-devel > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: SMBios configuration table not present until late stage of boot 2017-05-19 10:32 ` Tomas Pilar (tpilar) 2017-05-19 17:36 ` Andrew Fish @ 2017-05-19 20:48 ` Laszlo Ersek 1 sibling, 0 replies; 10+ messages in thread From: Laszlo Ersek @ 2017-05-19 20:48 UTC (permalink / raw) To: Tomas Pilar (tpilar), Jim.Dailey; +Cc: edk2-devel On 05/19/17 12:32, Tomas Pilar (tpilar) wrote: > The problem to solve is uniquely and persistently identifying which NICs > are grouped together in which host to a third party management system > over LAN during preboot in a reasonably secure way. > > If we use a random generated UUID every reboot, we're not persistent. If > we store the UUID across reboot, you could take the NIC out and move it > to a different host and keep the ID. So the idea was to construct it > from either the System UUID or using mobo/cpu serial numbers. I think this platform smbios DXE driver might suffer from the (apparently) common problem "let me do all my stuff in a ReadyToBoot callback". To me this seems like just another example why that cannot work, generally speaking -- a bunch of DXE drivers waiting for "everything else" to complete their work, intending to get a "full" system description as the last agent, and then to install stuff solely for the OS. This results in unspecified behavior if at least two agents with inter-dependencies do this. Instead, the platform smbios DXE driver should have a depex on the smbios protocol, and at dispatch time, it should install all the tables at once (from its entry point) that are possible to compute & install right then. I would assume type 1 is such a table. (just my opinion) Thanks Laszlo > On 18/05/17 19:26, Laszlo Ersek wrote: >> On 05/18/17 17:28, Tomas Pilar (tpilar) wrote: >>> This is what I was afraid of. I am writing an IHV network driver that >>> lives in optionROM. >> Out of curiosity, if you can share it, what do you need the sytem UUID >> in a network driver for? >> >> Thank you, >> Laszlo >> >>> Cheers, >>> Tom >>> >>> On 18/05/17 16:25, Jim.Dailey@dell.com wrote: >>>> It is a tricky problem. >>>> >>>> What I would like is for a new protocol to be defined, which should >>>> not rely on devices, to contain certain identifying information >>>> like this that would be useful to device drivers. It could be >>>> created early in DXE. >>>> >>>> What I fear is some future requirement that SMBIOS be made available >>>> at some definitive time pre-OS boot. >>>> >>>> You may have to get support from the BIOS vendor. If you are doing a >>>> driver for a particular system, that might not be too bad of a >>>> solution; but if you're trying to develop some generic driver, I >>>> don't have a good suggestion. >>>> >>>> Regards, >>>> Jim >>>> >>>> -----Original Message----- >>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >>>> Tomas Pilar (tpilar) >>>> Sent: Thursday, May 18, 2017 10:14 AM >>>> To: Dailey, Jim <Jim_Dailey@Dell.com> >>>> Cc: edk2-devel@lists.01.org >>>> Subject: Re: [edk2] SMBios configuration table not present until late >>>> stage of boot >>>> >>>> This does make sense. Do you have a suggestion how I would go about >>>> finding/creating a unique identifier for the system during preboot? >>>> >>>> Cheers, >>>> Tom >>>> >>>> On 18/05/17 16:11, Jim.Dailey@dell.com wrote: >>>>> Not a helpful comment, but I wanted to air my feelings on the topic: >>>>> >>>>> I view SMBIOS as data strictly for OS-level consumption and not for >>>>> any pre-boot code. I'm sure I'm in the minority, however. >>>>> >>>>> One of the problems is that the BIOS needs to have scanned all >>>>> devices/resources and perhaps executed a connect all before the >>>>> tables can be generated (or at least completed). >>>>> >>>>> Regards, >>>>> Jim >>>>> >>>>> -----Original Message----- >>>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf >>>>> Of Tomas Pilar (tpilar) >>>>> Sent: Thursday, May 18, 2017 10:01 AM >>>>> To: edk2-devel@lists.01.org >>>>> Subject: [edk2] SMBios configuration table not present until late >>>>> stage of boot >>>>> >>>>> Hi, >>>>> >>>>> I am trying to read the system UUID from the System Table (Type 1) in >>>>> the SMBios set of tables. I am doing this during DriverBinding.Start() >>>>> part of the UEFI_DRIVER initialisation. Unfortunately the >>>>> gST->ConfigurationTable only contains 6 tables and SMBios is not >>>>> one of >>>>> them. >>>>> >>>>> Once I boot into UEFI shell or start a PXE booting process, the >>>>> gST->ConfigurationTable now contains 8 tables and SMBios is one of the >>>>> two new tables. If I however only boot to a HDD, this never seems to >>>>> happen. >>>>> >>>>> Can someone offer some insight why this might be so and how would I go >>>>> about forcing the platform to provide the SMBios in >>>>> gST->ConfigurationTable at a sensible point? >>>>> >>>>> Incidentally it seems ExitBootServices is not signaled on this >>>>> platform >>>>> if the boot goes through to HDD either, which is another strange >>>>> thing ... >>>>> >>>>> Cheers, >>>>> Tom >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> edk2-devel mailing list >>>>> edk2-devel@lists.01.org >>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>> _______________________________________________ >>>> edk2-devel mailing list >>>> edk2-devel@lists.01.org >>>> https://lists.01.org/mailman/listinfo/edk2-devel >>> _______________________________________________ >>> edk2-devel mailing list >>> edk2-devel@lists.01.org >>> https://lists.01.org/mailman/listinfo/edk2-devel > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-05-19 20:48 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-05-18 15:00 SMBios configuration table not present until late stage of boot Tomas Pilar (tpilar) 2017-05-18 15:11 ` Jim.Dailey 2017-05-18 15:13 ` Tomas Pilar (tpilar) 2017-05-18 15:25 ` Jim.Dailey 2017-05-18 15:28 ` Tomas Pilar (tpilar) 2017-05-18 17:22 ` Andrew Fish 2017-05-18 18:26 ` Laszlo Ersek 2017-05-19 10:32 ` Tomas Pilar (tpilar) 2017-05-19 17:36 ` Andrew Fish 2017-05-19 20:48 ` Laszlo Ersek
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox