* [PATCH v2 0/3] Use central definitions for EFI_VARIABLE_* @ 2017-12-15 16:59 Leif Lindholm 2017-12-15 16:59 ` [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined Leif Lindholm ` (2 more replies) 0 siblings, 3 replies; 12+ messages in thread From: Leif Lindholm @ 2017-12-15 16:59 UTC (permalink / raw) To: edk2-devel Cc: Michael D Kinney, Liming Gao, Ard Biesheuvel, Star Zeng, Eric Dong The set of variable attribute definitions in <Uefi/UefiMultiPhase.h> is used by C code, but VfrCompile does not seem happy with parts of that header file. Long-term, this should probably be fixed in VfrCompile, but a simple solution for now is to conditionalise the complicating segments of UefiMultiPhase.h on !VFRCOMPILE and include this directly in .vfr source. v1 -> v2: Instead of breaking parts of UefiMultiPhase.h out into a new header, conditionalise the problematic bits on !VFRCOMPILE. Leaving out the reviewed-bys on 2/3 since the underlying mechanism changes... Leif Lindholm (3): MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined MdeModulePkg: use central variable definitions in DriverSampleDxe EmbeddedPkg: use central variable definitions in .vfr files EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefHii.vfr | 9 +--- EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr | 9 +--- MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr | 9 +--- MdePkg/Include/Uefi/UefiMultiPhase.h | 44 ++++++++++---------- 4 files changed, 26 insertions(+), 45 deletions(-) Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Star Zeng <star.zeng@intel.com> Cc: Eric Dong <eric.dong@intel.com> -- 2.11.0 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined 2017-12-15 16:59 [PATCH v2 0/3] Use central definitions for EFI_VARIABLE_* Leif Lindholm @ 2017-12-15 16:59 ` Leif Lindholm 2017-12-17 11:23 ` Zeng, Star 2017-12-15 16:59 ` [PATCH v2 2/3] MdeModulePkg: use central variable definitions in DriverSampleDxe Leif Lindholm 2017-12-15 16:59 ` [PATCH v2 3/3] EmbeddedPkg: use central variable definitions in .vfr files Leif Lindholm 2 siblings, 1 reply; 12+ messages in thread From: Leif Lindholm @ 2017-12-15 16:59 UTC (permalink / raw) To: edk2-devel; +Cc: Michael D Kinney, Liming Gao Turns out all .vfr files in the tree interacting with DynamicPcds manually copy the same set of EFI_VARIABLE_* definitions, since the rest of UefiMultiPhase.h is incompatible with VfrCompile. Instead, reshuffle these definitions to the start of the file, and put the rest of the file behind #ifndef VFRCOMPILE to permit direct inclusion in .vfr source files. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> --- MdePkg/Include/Uefi/UefiMultiPhase.h | 44 ++++++++++---------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/MdePkg/Include/Uefi/UefiMultiPhase.h b/MdePkg/Include/Uefi/UefiMultiPhase.h index 0dcbb1b9ee..67ecc4c27c 100644 --- a/MdePkg/Include/Uefi/UefiMultiPhase.h +++ b/MdePkg/Include/Uefi/UefiMultiPhase.h @@ -15,6 +15,28 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #ifndef __UEFI_MULTIPHASE_H__ #define __UEFI_MULTIPHASE_H__ +/// +/// Attributes of variable. +/// +#define EFI_VARIABLE_NON_VOLATILE 0x00000001 +#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 +#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 +/// +/// This attribute is identified by the mnemonic 'HR' +/// elsewhere in this specification. +/// +#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008 +/// +/// Attributes of Authenticated Variable +/// +#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020 +#define EFI_VARIABLE_APPEND_WRITE 0x00000040 +/// +/// NOTE: EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated and should be considered reserved. +/// +#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010 + +#ifndef VFRCOMPILE #include <Guid/WinCertificate.h> /// /// Enumeration of memory types introduced in UEFI. @@ -156,27 +178,6 @@ typedef struct { } EFI_TABLE_HEADER; /// -/// Attributes of variable. -/// -#define EFI_VARIABLE_NON_VOLATILE 0x00000001 -#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 -#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 -/// -/// This attribute is identified by the mnemonic 'HR' -/// elsewhere in this specification. -/// -#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008 -/// -/// Attributes of Authenticated Variable -/// -#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020 -#define EFI_VARIABLE_APPEND_WRITE 0x00000040 -/// -/// NOTE: EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated and should be considered reserved. -/// -#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010 - -/// /// AuthInfo is a WIN_CERTIFICATE using the wCertificateType /// WIN_CERTIFICATE_UEFI_GUID and the CertType /// EFI_CERT_TYPE_RSA2048_SHA256_GUID. If the attribute specifies @@ -229,5 +230,6 @@ typedef struct { /// WIN_CERTIFICATE_UEFI_GUID AuthInfo; } EFI_VARIABLE_AUTHENTICATION_2; +#endif // VFRCOMPILE #endif -- 2.11.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined 2017-12-15 16:59 ` [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined Leif Lindholm @ 2017-12-17 11:23 ` Zeng, Star 2018-02-22 20:09 ` Leif Lindholm 0 siblings, 1 reply; 12+ messages in thread From: Zeng, Star @ 2017-12-17 11:23 UTC (permalink / raw) To: Leif Lindholm, edk2-devel@lists.01.org Cc: Kinney, Michael D, Gao, Liming, Zeng, Star Leif, You may submit a bugzilla for the long term approach as Liming suggested in V1 patch series, and then add the bug link in this commit log? Thanks, Star -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Leif Lindholm Sent: Saturday, December 16, 2017 12:59 AM To: edk2-devel@lists.01.org Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com> Subject: [edk2] [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined Turns out all .vfr files in the tree interacting with DynamicPcds manually copy the same set of EFI_VARIABLE_* definitions, since the rest of UefiMultiPhase.h is incompatible with VfrCompile. Instead, reshuffle these definitions to the start of the file, and put the rest of the file behind #ifndef VFRCOMPILE to permit direct inclusion in .vfr source files. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> --- MdePkg/Include/Uefi/UefiMultiPhase.h | 44 ++++++++++---------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/MdePkg/Include/Uefi/UefiMultiPhase.h b/MdePkg/Include/Uefi/UefiMultiPhase.h index 0dcbb1b9ee..67ecc4c27c 100644 --- a/MdePkg/Include/Uefi/UefiMultiPhase.h +++ b/MdePkg/Include/Uefi/UefiMultiPhase.h @@ -15,6 +15,28 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #ifndef __UEFI_MULTIPHASE_H__ #define __UEFI_MULTIPHASE_H__ +/// +/// Attributes of variable. +/// +#define EFI_VARIABLE_NON_VOLATILE 0x00000001 +#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 +#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 +/// +/// This attribute is identified by the mnemonic 'HR' +/// elsewhere in this specification. +/// +#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008 +/// +/// Attributes of Authenticated Variable /// +#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020 +#define EFI_VARIABLE_APPEND_WRITE 0x00000040 +/// +/// NOTE: EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated and should be considered reserved. +/// +#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010 + +#ifndef VFRCOMPILE #include <Guid/WinCertificate.h> /// /// Enumeration of memory types introduced in UEFI. @@ -156,27 +178,6 @@ typedef struct { } EFI_TABLE_HEADER; /// -/// Attributes of variable. -/// -#define EFI_VARIABLE_NON_VOLATILE 0x00000001 -#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 -#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 -/// -/// This attribute is identified by the mnemonic 'HR' -/// elsewhere in this specification. -/// -#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008 -/// -/// Attributes of Authenticated Variable -/// -#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020 -#define EFI_VARIABLE_APPEND_WRITE 0x00000040 -/// -/// NOTE: EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated and should be considered reserved. -/// -#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010 - -/// /// AuthInfo is a WIN_CERTIFICATE using the wCertificateType /// WIN_CERTIFICATE_UEFI_GUID and the CertType /// EFI_CERT_TYPE_RSA2048_SHA256_GUID. If the attribute specifies @@ -229,5 +230,6 @@ typedef struct { /// WIN_CERTIFICATE_UEFI_GUID AuthInfo; } EFI_VARIABLE_AUTHENTICATION_2; +#endif // VFRCOMPILE #endif -- 2.11.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined 2017-12-17 11:23 ` Zeng, Star @ 2018-02-22 20:09 ` Leif Lindholm 2018-02-23 2:33 ` Zeng, Star 0 siblings, 1 reply; 12+ messages in thread From: Leif Lindholm @ 2018-02-22 20:09 UTC (permalink / raw) To: Zeng, Star; +Cc: edk2-devel@lists.01.org, Kinney, Michael D, Gao, Liming Hi Star, I lost track of this one during my sabbatical until Ard's patch earlier today jogged my memory. On Sun, Dec 17, 2017 at 11:23:10AM +0000, Zeng, Star wrote: > You may submit a bugzilla for the long term approach as Liming > suggested in V1 patch series, and then add the bug link in this > commit log? I have raised https://bugzilla.tianocore.org/show_bug.cgi?id=878 for the enhancement. Are you OK with the patch as below (it rebases cleanly to current master) if I add the paragraph: --- https://bugzilla.tianocore.org/show_bug.cgi?id=878 has been raised to request VfrCompile is extended to support the original format. --- to the end of the commit message? Regards, Leif > > > > Thanks, > Star > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Leif Lindholm > Sent: Saturday, December 16, 2017 12:59 AM > To: edk2-devel@lists.01.org > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com> > Subject: [edk2] [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined > > Turns out all .vfr files in the tree interacting with DynamicPcds manually copy the same set of EFI_VARIABLE_* definitions, since the rest of UefiMultiPhase.h is incompatible with VfrCompile. > > Instead, reshuffle these definitions to the start of the file, and put the rest of the file behind #ifndef VFRCOMPILE to permit direct inclusion in .vfr source files. > > Cc: Michael D Kinney <michael.d.kinney@intel.com> > Cc: Liming Gao <liming.gao@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> > --- > MdePkg/Include/Uefi/UefiMultiPhase.h | 44 ++++++++++---------- > 1 file changed, 23 insertions(+), 21 deletions(-) > > diff --git a/MdePkg/Include/Uefi/UefiMultiPhase.h b/MdePkg/Include/Uefi/UefiMultiPhase.h > index 0dcbb1b9ee..67ecc4c27c 100644 > --- a/MdePkg/Include/Uefi/UefiMultiPhase.h > +++ b/MdePkg/Include/Uefi/UefiMultiPhase.h > @@ -15,6 +15,28 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > #ifndef __UEFI_MULTIPHASE_H__ > #define __UEFI_MULTIPHASE_H__ > > +/// > +/// Attributes of variable. > +/// > +#define EFI_VARIABLE_NON_VOLATILE 0x00000001 > +#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 > +#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 > +/// > +/// This attribute is identified by the mnemonic 'HR' > +/// elsewhere in this specification. > +/// > +#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008 > +/// > +/// Attributes of Authenticated Variable /// > +#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020 > +#define EFI_VARIABLE_APPEND_WRITE 0x00000040 > +/// > +/// NOTE: EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated and should be considered reserved. > +/// > +#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010 > + > +#ifndef VFRCOMPILE > #include <Guid/WinCertificate.h> > /// > /// Enumeration of memory types introduced in UEFI. > @@ -156,27 +178,6 @@ typedef struct { > } EFI_TABLE_HEADER; > > /// > -/// Attributes of variable. > -/// > -#define EFI_VARIABLE_NON_VOLATILE 0x00000001 > -#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 > -#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 > -/// > -/// This attribute is identified by the mnemonic 'HR' > -/// elsewhere in this specification. > -/// > -#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008 > -/// > -/// Attributes of Authenticated Variable -/// > -#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020 > -#define EFI_VARIABLE_APPEND_WRITE 0x00000040 > -/// > -/// NOTE: EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated and should be considered reserved. > -/// > -#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010 > - > -/// > /// AuthInfo is a WIN_CERTIFICATE using the wCertificateType /// WIN_CERTIFICATE_UEFI_GUID and the CertType /// EFI_CERT_TYPE_RSA2048_SHA256_GUID. If the attribute specifies @@ -229,5 +230,6 @@ typedef struct { > /// > WIN_CERTIFICATE_UEFI_GUID AuthInfo; > } EFI_VARIABLE_AUTHENTICATION_2; > +#endif // VFRCOMPILE > > #endif > -- > 2.11.0 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined 2018-02-22 20:09 ` Leif Lindholm @ 2018-02-23 2:33 ` Zeng, Star 2018-02-23 10:25 ` Gao, Liming 2018-02-23 11:40 ` Leif Lindholm 0 siblings, 2 replies; 12+ messages in thread From: Zeng, Star @ 2018-02-23 2:33 UTC (permalink / raw) To: Leif Lindholm Cc: Kinney, Michael D, edk2-devel@lists.01.org, Gao, Liming, star.zeng Leif, On 2018/2/23 4:09, Leif Lindholm wrote: > Hi Star, > > I lost track of this one during my sabbatical until Ard's patch > earlier today jogged my memory. > > On Sun, Dec 17, 2017 at 11:23:10AM +0000, Zeng, Star wrote: >> You may submit a bugzilla for the long term approach as Liming >> suggested in V1 patch series, and then add the bug link in this >> commit log? > > I have raised https://bugzilla.tianocore.org/show_bug.cgi?id=878 > for the enhancement. > > Are you OK with the patch as below (it rebases cleanly to current > master) if I add the paragraph: > --- > https://bugzilla.tianocore.org/show_bug.cgi?id=878 has been raised to > request VfrCompile is extended to support the original format. > --- > to the end of the commit message? I am ok. With this update, Reviewed-by: Star Zeng <star.zeng@intel.com>. I have given RB to MdeModulePkg change before. :) You may also get opinion from Mike and Liming. Thanks, Star > > Regards, > > Leif >> >> >> >> Thanks, >> Star >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Leif Lindholm >> Sent: Saturday, December 16, 2017 12:59 AM >> To: edk2-devel@lists.01.org >> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com> >> Subject: [edk2] [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined >> >> Turns out all .vfr files in the tree interacting with DynamicPcds manually copy the same set of EFI_VARIABLE_* definitions, since the rest of UefiMultiPhase.h is incompatible with VfrCompile. >> >> Instead, reshuffle these definitions to the start of the file, and put the rest of the file behind #ifndef VFRCOMPILE to permit direct inclusion in .vfr source files. >> >> Cc: Michael D Kinney <michael.d.kinney@intel.com> >> Cc: Liming Gao <liming.gao@intel.com> >> Contributed-under: TianoCore Contribution Agreement 1.1 >> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> >> --- >> MdePkg/Include/Uefi/UefiMultiPhase.h | 44 ++++++++++---------- >> 1 file changed, 23 insertions(+), 21 deletions(-) >> >> diff --git a/MdePkg/Include/Uefi/UefiMultiPhase.h b/MdePkg/Include/Uefi/UefiMultiPhase.h >> index 0dcbb1b9ee..67ecc4c27c 100644 >> --- a/MdePkg/Include/Uefi/UefiMultiPhase.h >> +++ b/MdePkg/Include/Uefi/UefiMultiPhase.h >> @@ -15,6 +15,28 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. >> #ifndef __UEFI_MULTIPHASE_H__ >> #define __UEFI_MULTIPHASE_H__ >> >> +/// >> +/// Attributes of variable. >> +/// >> +#define EFI_VARIABLE_NON_VOLATILE 0x00000001 >> +#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 >> +#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 >> +/// >> +/// This attribute is identified by the mnemonic 'HR' >> +/// elsewhere in this specification. >> +/// >> +#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008 >> +/// >> +/// Attributes of Authenticated Variable /// >> +#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020 >> +#define EFI_VARIABLE_APPEND_WRITE 0x00000040 >> +/// >> +/// NOTE: EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated and should be considered reserved. >> +/// >> +#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010 >> + >> +#ifndef VFRCOMPILE >> #include <Guid/WinCertificate.h> >> /// >> /// Enumeration of memory types introduced in UEFI. >> @@ -156,27 +178,6 @@ typedef struct { >> } EFI_TABLE_HEADER; >> >> /// >> -/// Attributes of variable. >> -/// >> -#define EFI_VARIABLE_NON_VOLATILE 0x00000001 >> -#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 >> -#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 >> -/// >> -/// This attribute is identified by the mnemonic 'HR' >> -/// elsewhere in this specification. >> -/// >> -#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008 >> -/// >> -/// Attributes of Authenticated Variable -/// >> -#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020 >> -#define EFI_VARIABLE_APPEND_WRITE 0x00000040 >> -/// >> -/// NOTE: EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated and should be considered reserved. >> -/// >> -#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010 >> - >> -/// >> /// AuthInfo is a WIN_CERTIFICATE using the wCertificateType /// WIN_CERTIFICATE_UEFI_GUID and the CertType /// EFI_CERT_TYPE_RSA2048_SHA256_GUID. If the attribute specifies @@ -229,5 +230,6 @@ typedef struct { >> /// >> WIN_CERTIFICATE_UEFI_GUID AuthInfo; >> } EFI_VARIABLE_AUTHENTICATION_2; >> +#endif // VFRCOMPILE >> >> #endif >> -- >> 2.11.0 >> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined 2018-02-23 2:33 ` Zeng, Star @ 2018-02-23 10:25 ` Gao, Liming 2018-02-23 14:24 ` Leif Lindholm 2018-02-23 11:40 ` Leif Lindholm 1 sibling, 1 reply; 12+ messages in thread From: Gao, Liming @ 2018-02-23 10:25 UTC (permalink / raw) To: Zeng, Star, Leif Lindholm; +Cc: Kinney, Michael D, edk2-devel@lists.01.org I agree the change in MdePkg. Reviewed-by: Liming Gao <liming.gao@intel.com> Thanks Liming >-----Original Message----- >From: Zeng, Star >Sent: Friday, February 23, 2018 10:34 AM >To: Leif Lindholm <leif.lindholm@linaro.org> >Cc: Kinney, Michael D <michael.d.kinney@intel.com>; edk2- >devel@lists.01.org; Gao, Liming <liming.gao@intel.com>; Zeng, Star ><star.zeng@intel.com> >Subject: Re: [edk2] [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h >contents if VFRCOMPILE defined > >Leif, > >On 2018/2/23 4:09, Leif Lindholm wrote: >> Hi Star, >> >> I lost track of this one during my sabbatical until Ard's patch >> earlier today jogged my memory. >> >> On Sun, Dec 17, 2017 at 11:23:10AM +0000, Zeng, Star wrote: >>> You may submit a bugzilla for the long term approach as Liming >>> suggested in V1 patch series, and then add the bug link in this >>> commit log? >> >> I have raised https://bugzilla.tianocore.org/show_bug.cgi?id=878 >> for the enhancement. >> >> Are you OK with the patch as below (it rebases cleanly to current >> master) if I add the paragraph: >> --- >> https://bugzilla.tianocore.org/show_bug.cgi?id=878 has been raised to >> request VfrCompile is extended to support the original format. >> --- >> to the end of the commit message? > >I am ok. With this update, Reviewed-by: Star Zeng <star.zeng@intel.com>. >I have given RB to MdeModulePkg change before. :) > >You may also get opinion from Mike and Liming. > >Thanks, >Star > >> >> Regards, >> >> Leif >>> >>> >>> >>> Thanks, >>> Star >>> -----Original Message----- >>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >Leif Lindholm >>> Sent: Saturday, December 16, 2017 12:59 AM >>> To: edk2-devel@lists.01.org >>> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming ><liming.gao@intel.com> >>> Subject: [edk2] [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h >contents if VFRCOMPILE defined >>> >>> Turns out all .vfr files in the tree interacting with DynamicPcds manually >copy the same set of EFI_VARIABLE_* definitions, since the rest of >UefiMultiPhase.h is incompatible with VfrCompile. >>> >>> Instead, reshuffle these definitions to the start of the file, and put the rest >of the file behind #ifndef VFRCOMPILE to permit direct inclusion in .vfr source >files. >>> >>> Cc: Michael D Kinney <michael.d.kinney@intel.com> >>> Cc: Liming Gao <liming.gao@intel.com> >>> Contributed-under: TianoCore Contribution Agreement 1.1 >>> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> >>> --- >>> MdePkg/Include/Uefi/UefiMultiPhase.h | 44 ++++++++++---------- >>> 1 file changed, 23 insertions(+), 21 deletions(-) >>> >>> diff --git a/MdePkg/Include/Uefi/UefiMultiPhase.h >b/MdePkg/Include/Uefi/UefiMultiPhase.h >>> index 0dcbb1b9ee..67ecc4c27c 100644 >>> --- a/MdePkg/Include/Uefi/UefiMultiPhase.h >>> +++ b/MdePkg/Include/Uefi/UefiMultiPhase.h >>> @@ -15,6 +15,28 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF >ANY KIND, EITHER EXPRESS OR IMPLIED. >>> #ifndef __UEFI_MULTIPHASE_H__ >>> #define __UEFI_MULTIPHASE_H__ >>> >>> +/// >>> +/// Attributes of variable. >>> +/// >>> +#define EFI_VARIABLE_NON_VOLATILE 0x00000001 >>> +#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 >>> +#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 >>> +/// >>> +/// This attribute is identified by the mnemonic 'HR' >>> +/// elsewhere in this specification. >>> +/// >>> +#define EFI_VARIABLE_HARDWARE_ERROR_RECORD >0x00000008 >>> +/// >>> +/// Attributes of Authenticated Variable /// >>> +#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS >0x00000020 >>> +#define EFI_VARIABLE_APPEND_WRITE 0x00000040 >>> +/// >>> +/// NOTE: EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated >and should be considered reserved. >>> +/// >>> +#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS >0x00000010 >>> + >>> +#ifndef VFRCOMPILE >>> #include <Guid/WinCertificate.h> >>> /// >>> /// Enumeration of memory types introduced in UEFI. >>> @@ -156,27 +178,6 @@ typedef struct { >>> } EFI_TABLE_HEADER; >>> >>> /// >>> -/// Attributes of variable. >>> -/// >>> -#define EFI_VARIABLE_NON_VOLATILE 0x00000001 >>> -#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 >>> -#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 >>> -/// >>> -/// This attribute is identified by the mnemonic 'HR' >>> -/// elsewhere in this specification. >>> -/// >>> -#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008 >>> -/// >>> -/// Attributes of Authenticated Variable -/// >>> -#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS >0x00000020 >>> -#define EFI_VARIABLE_APPEND_WRITE 0x00000040 >>> -/// >>> -/// NOTE: EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated >and should be considered reserved. >>> -/// >>> -#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS >0x00000010 >>> - >>> -/// >>> /// AuthInfo is a WIN_CERTIFICATE using the wCertificateType /// >WIN_CERTIFICATE_UEFI_GUID and the CertType /// >EFI_CERT_TYPE_RSA2048_SHA256_GUID. If the attribute specifies @@ -229,5 >+230,6 @@ typedef struct { >>> /// >>> WIN_CERTIFICATE_UEFI_GUID AuthInfo; >>> } EFI_VARIABLE_AUTHENTICATION_2; >>> +#endif // VFRCOMPILE >>> >>> #endif >>> -- >>> 2.11.0 >>> >>> _______________________________________________ >>> edk2-devel mailing list >>> edk2-devel@lists.01.org >>> https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined 2018-02-23 10:25 ` Gao, Liming @ 2018-02-23 14:24 ` Leif Lindholm 0 siblings, 0 replies; 12+ messages in thread From: Leif Lindholm @ 2018-02-23 14:24 UTC (permalink / raw) To: Gao, Liming; +Cc: Zeng, Star, Kinney, Michael D, edk2-devel@lists.01.org On Fri, Feb 23, 2018 at 10:25:32AM +0000, Gao, Liming wrote: > I agree the change in MdePkg. Reviewed-by: Liming Gao <liming.gao@intel.com> Thanks all! Series pushed as d624deb7ab..aae5def8bb. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined 2018-02-23 2:33 ` Zeng, Star 2018-02-23 10:25 ` Gao, Liming @ 2018-02-23 11:40 ` Leif Lindholm 1 sibling, 0 replies; 12+ messages in thread From: Leif Lindholm @ 2018-02-23 11:40 UTC (permalink / raw) To: Zeng, Star; +Cc: Kinney, Michael D, edk2-devel@lists.01.org, Gao, Liming On Fri, Feb 23, 2018 at 10:33:46AM +0800, Zeng, Star wrote: > Leif, > > On 2018/2/23 4:09, Leif Lindholm wrote: > > Hi Star, > > > > I lost track of this one during my sabbatical until Ard's patch > > earlier today jogged my memory. > > > > On Sun, Dec 17, 2017 at 11:23:10AM +0000, Zeng, Star wrote: > > > You may submit a bugzilla for the long term approach as Liming > > > suggested in V1 patch series, and then add the bug link in this > > > commit log? > > > > I have raised https://bugzilla.tianocore.org/show_bug.cgi?id=878 > > for the enhancement. > > > > Are you OK with the patch as below (it rebases cleanly to current > > master) if I add the paragraph: > > --- > > https://bugzilla.tianocore.org/show_bug.cgi?id=878 has been raised to > > request VfrCompile is extended to support the original format. > > --- > > to the end of the commit message? > > I am ok. With this update, Reviewed-by: Star Zeng <star.zeng@intel.com>. Thanks! > I have given RB to MdeModulePkg change before. :) Yup. > You may also get opinion from Mike and Liming. Of course. / Leif ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 2/3] MdeModulePkg: use central variable definitions in DriverSampleDxe 2017-12-15 16:59 [PATCH v2 0/3] Use central definitions for EFI_VARIABLE_* Leif Lindholm 2017-12-15 16:59 ` [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined Leif Lindholm @ 2017-12-15 16:59 ` Leif Lindholm 2017-12-17 11:20 ` Zeng, Star 2017-12-15 16:59 ` [PATCH v2 3/3] EmbeddedPkg: use central variable definitions in .vfr files Leif Lindholm 2 siblings, 1 reply; 12+ messages in thread From: Leif Lindholm @ 2017-12-15 16:59 UTC (permalink / raw) To: edk2-devel; +Cc: Star Zeng, Eric Dong Use UefiMultiPhase.h in Vfr.vfr instead of duplicating EFI_VARIABLE_* definitions. Cc: Star Zeng <star.zeng@intel.com> Cc: Eric Dong <eric.dong@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> --- MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr b/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr index c1682913fa..b1017d9fd0 100644 --- a/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr +++ b/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr @@ -14,6 +14,7 @@ //**/ +#include <Uefi/UefiMultiPhase.h> #include "NVDataStruc.h" // @@ -35,14 +36,6 @@ #define EFI_FRONT_PAGE_SUBCLASS 0x02 #define EFI_SINGLE_USE_SUBCLASS 0x03 -// -// EFI Variable attributes -// -#define EFI_VARIABLE_NON_VOLATILE 0x00000001 -#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 -#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 -#define EFI_VARIABLE_READ_ONLY 0x00000008 - #define EFI_USER_INFO_ACCESS_SETUP_ADMIN_GUID \ { 0x85b75607, 0xf7ce, 0x471e, { 0xb7, 0xe4, 0x2a, 0xea, 0x5f, 0x72, 0x32, 0xee } } -- 2.11.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/3] MdeModulePkg: use central variable definitions in DriverSampleDxe 2017-12-15 16:59 ` [PATCH v2 2/3] MdeModulePkg: use central variable definitions in DriverSampleDxe Leif Lindholm @ 2017-12-17 11:20 ` Zeng, Star 0 siblings, 0 replies; 12+ messages in thread From: Zeng, Star @ 2017-12-17 11:20 UTC (permalink / raw) To: Leif Lindholm, edk2-devel@lists.01.org; +Cc: Dong, Eric, Zeng, Star Reviewed-by: Star Zeng <star.zeng@intel.com> -----Original Message----- From: Leif Lindholm [mailto:leif.lindholm@linaro.org] Sent: Saturday, December 16, 2017 12:59 AM To: edk2-devel@lists.01.org Cc: Zeng, Star <star.zeng@intel.com>; Dong, Eric <eric.dong@intel.com> Subject: [PATCH v2 2/3] MdeModulePkg: use central variable definitions in DriverSampleDxe Use UefiMultiPhase.h in Vfr.vfr instead of duplicating EFI_VARIABLE_* definitions. Cc: Star Zeng <star.zeng@intel.com> Cc: Eric Dong <eric.dong@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> --- MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr b/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr index c1682913fa..b1017d9fd0 100644 --- a/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr +++ b/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr @@ -14,6 +14,7 @@ //**/ +#include <Uefi/UefiMultiPhase.h> #include "NVDataStruc.h" // @@ -35,14 +36,6 @@ #define EFI_FRONT_PAGE_SUBCLASS 0x02 #define EFI_SINGLE_USE_SUBCLASS 0x03 -// -// EFI Variable attributes -// -#define EFI_VARIABLE_NON_VOLATILE 0x00000001 -#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 -#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 -#define EFI_VARIABLE_READ_ONLY 0x00000008 - #define EFI_USER_INFO_ACCESS_SETUP_ADMIN_GUID \ { 0x85b75607, 0xf7ce, 0x471e, { 0xb7, 0xe4, 0x2a, 0xea, 0x5f, 0x72, 0x32, 0xee } } -- 2.11.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 3/3] EmbeddedPkg: use central variable definitions in .vfr files 2017-12-15 16:59 [PATCH v2 0/3] Use central definitions for EFI_VARIABLE_* Leif Lindholm 2017-12-15 16:59 ` [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined Leif Lindholm 2017-12-15 16:59 ` [PATCH v2 2/3] MdeModulePkg: use central variable definitions in DriverSampleDxe Leif Lindholm @ 2017-12-15 16:59 ` Leif Lindholm 2018-02-22 16:33 ` Ard Biesheuvel 2 siblings, 1 reply; 12+ messages in thread From: Leif Lindholm @ 2017-12-15 16:59 UTC (permalink / raw) To: edk2-devel; +Cc: Ard Biesheuvel Use UefiMultiPhase.h in Vfr.vfr instead of duplicating EFI_VARIABLE_* definitions. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> --- EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefHii.vfr | 9 +-------- EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr | 9 +-------- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefHii.vfr b/EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefHii.vfr index a1e603abf0..725fbf52a5 100644 --- a/EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefHii.vfr +++ b/EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefHii.vfr @@ -12,16 +12,9 @@ * **/ +#include <Uefi/UefiMultiPhase.h> #include "ConsolePrefDxe.h" -// -// EFI Variable attributes -// -#define EFI_VARIABLE_NON_VOLATILE 0x00000001 -#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 -#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 -#define EFI_VARIABLE_READ_ONLY 0x00000008 - formset guid = CONSOLE_PREF_FORMSET_GUID, title = STRING_TOKEN(STR_FORM_SET_TITLE), diff --git a/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr b/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr index 3516746c4d..80c6f36425 100644 --- a/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr +++ b/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr @@ -12,16 +12,9 @@ * **/ +#include <Uefi/UefiMultiPhase.h> #include "DtPlatformDxe.h" -// -// EFI Variable attributes -// -#define EFI_VARIABLE_NON_VOLATILE 0x00000001 -#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 -#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 -#define EFI_VARIABLE_READ_ONLY 0x00000008 - formset guid = DT_PLATFORM_FORMSET_GUID, title = STRING_TOKEN(STR_FORM_SET_TITLE), -- 2.11.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 3/3] EmbeddedPkg: use central variable definitions in .vfr files 2017-12-15 16:59 ` [PATCH v2 3/3] EmbeddedPkg: use central variable definitions in .vfr files Leif Lindholm @ 2018-02-22 16:33 ` Ard Biesheuvel 0 siblings, 0 replies; 12+ messages in thread From: Ard Biesheuvel @ 2018-02-22 16:33 UTC (permalink / raw) To: Leif Lindholm; +Cc: edk2-devel@lists.01.org On 15 December 2017 at 16:59, Leif Lindholm <leif.lindholm@linaro.org> wrote: > Use UefiMultiPhase.h in Vfr.vfr instead of duplicating EFI_VARIABLE_* > definitions. > > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > --- > EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefHii.vfr | 9 +-------- > EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr | 9 +-------- > 2 files changed, 2 insertions(+), 16 deletions(-) > > diff --git a/EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefHii.vfr b/EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefHii.vfr > index a1e603abf0..725fbf52a5 100644 > --- a/EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefHii.vfr > +++ b/EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefHii.vfr > @@ -12,16 +12,9 @@ > * > **/ > > +#include <Uefi/UefiMultiPhase.h> > #include "ConsolePrefDxe.h" > > -// > -// EFI Variable attributes > -// > -#define EFI_VARIABLE_NON_VOLATILE 0x00000001 > -#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 > -#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 > -#define EFI_VARIABLE_READ_ONLY 0x00000008 > - > formset > guid = CONSOLE_PREF_FORMSET_GUID, > title = STRING_TOKEN(STR_FORM_SET_TITLE), > diff --git a/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr b/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr > index 3516746c4d..80c6f36425 100644 > --- a/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr > +++ b/EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformHii.vfr > @@ -12,16 +12,9 @@ > * > **/ > > +#include <Uefi/UefiMultiPhase.h> > #include "DtPlatformDxe.h" > > -// > -// EFI Variable attributes > -// > -#define EFI_VARIABLE_NON_VOLATILE 0x00000001 > -#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 > -#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 > -#define EFI_VARIABLE_READ_ONLY 0x00000008 > - > formset > guid = DT_PLATFORM_FORMSET_GUID, > title = STRING_TOKEN(STR_FORM_SET_TITLE), > -- > 2.11.0 > ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2018-02-23 14:18 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-12-15 16:59 [PATCH v2 0/3] Use central definitions for EFI_VARIABLE_* Leif Lindholm 2017-12-15 16:59 ` [PATCH v2 1/3] MdePkg: restrict UefiMultiPhase.h contents if VFRCOMPILE defined Leif Lindholm 2017-12-17 11:23 ` Zeng, Star 2018-02-22 20:09 ` Leif Lindholm 2018-02-23 2:33 ` Zeng, Star 2018-02-23 10:25 ` Gao, Liming 2018-02-23 14:24 ` Leif Lindholm 2018-02-23 11:40 ` Leif Lindholm 2017-12-15 16:59 ` [PATCH v2 2/3] MdeModulePkg: use central variable definitions in DriverSampleDxe Leif Lindholm 2017-12-17 11:20 ` Zeng, Star 2017-12-15 16:59 ` [PATCH v2 3/3] EmbeddedPkg: use central variable definitions in .vfr files Leif Lindholm 2018-02-22 16:33 ` Ard Biesheuvel
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox