Bhupesh,

There were some previous discussions on this RFC that packages such as 
MdeModulePkg
do contain many drivers that may fit into the Driver category. Today, the 
MdeModulePkg
contains the PEI Core, DXE Core, and SMM Core, so that is why that package is 
in 
the Core category.  

We will investigate if it makes sense to split up a packages like MdeModulePkg 
up into
smaller pieces, but not as part of this RFC.  That will have to be a separate 
RFC to 
propose how to do that in a backwards compatible manner.

Thanks,

Mike

> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf Of 
> Bhupesh Sharma
> Sent: Saturday, May 28, 2016 11:00 AM
> To: Kinney, Michael D <[email protected]>; [email protected]
> Subject: Re: [edk2] [RFC V2] Proposal to organize packages into directories
> 
> Hi Mike,
> 
> This looks really nice.
> 
> I have a couple of comments with regards to the "Driver" directory.
> 
> This is the proposed structure:
> >   Driver
> >     EmbeddedPkg
> >     FatPkg
> >     NetworkPkg
> >     OptionRomPkg
> >     Vendor
> 
> Are there any plans to make it eventually look something like (I understand 
> that it
> won't be
> easy to keep backward compatibility), but a top level structure like the 
> following
> would
> be easier to comprehend:
> 
>       Driver
>               UsbPkg
>               SataPkg
>               SpiPkg
>               NetworkPkg
>               OptionRomPkg
>               FatPkg
>               InterruptControllerPkg
>               WatchDogPkg
>               RealTimeClkPkg
>               UartPkg
>               .. and so on..
> 
> Regards,
> Bhupesh
> 
> > -----Original Message-----
> > From: edk2-devel [mailto:[email protected]] On Behalf Of
> > Kinney, Michael D
> > Sent: Wednesday, May 25, 2016 9:04 PM
> > To: [email protected]; Kinney, Michael D
> > <[email protected]>
> > Subject: [edk2] [RFC V2] Proposal to organize packages into directories
> >
> > Hello,
> >
> > I have gone through all the feedback I have received and have updated
> > this proposal.  Here is a summary of the changes in V2:
> >
> > * IntelFrameworkModulePkg       -> Deprecated
> > * IntelFrameworkPkg             -> Deprecated
> > * IntelFspPkg                   -> Deprecated
> > * IntelFspWrapperPkg            -> Deprecated
> > * PerformancePkg                -> Deprecated
> > * CorebootPayloadPkg            -> Platform
> > * EmbeddedPkg                   -> Driver
> > * ArmPlatformPkg/ArmJunoPkg     -> Silicon/Arm/ArmJunoPkg
> > * ArmPlatformPkg/ArmVExpressPkg -> Silicon/Arm/ ArmVExpressPkg
> > * Change Drivers to Driver so no top level directories are plural.
> > * Remove Vendor directory from Silicon and Platform to reduce directory
> > depth
> > * Add Platform/Common directory for non-vendor specific platform
> > packages
> > * Add Silicon/Common directory for non-vendor specific packages of
> >   CPU/Chipset/SoC drivers
> > * Keep Vendor directory in Driver.
> >   Non-vendor specific packages of drivers are flat just below Driver.
> >   Provides area to migrate non-vendor specific drivers from Core over
> > time
> >
> > Please let me know if I missed any feedback and if there is new
> > feedback on this revised proposal for the directory structure or the
> > directory names.
> >
> > <proposal>
> >
> > # EDK II - Proposal to organize packages into directories
> >
> > There have been some discussions about organizing packages into
> > directories.
> > Below is a proposal for a top level directory structure and a first
> > pass mapping of the packages from edk2/master.  Where applicable,
> > vendor specific directories can be added.
> >
> > The PACKAGES_PATH feature documented in the link below is used to
> > support this proposed directory structure with no source file changes.
> > An example of setting PACKAGES_PATH in a windows environment is also
> > shown below and I have verified that platforms can be built using this
> > proposal.
> >
> > https://github.com/tianocore/tianocore.github.io/wiki/Multiple_Workspac
> > e
> >
> > Please provide feedback on the proposal (for, against, alternate
> > proposal), the number/type of top level directories, and the top level
> > directory names.
> >
> > I have setup a branch with this directory structure in this proposal to
> > help with the review.  I have verified that I can build some platforms
> > in this branch using the PACKAGES_PATH settings shown below.
> >
> >     https://github.com/mdkinney/edk2/tree/NewDirStruct
> >
> >
> > # Top Level Directory Structure (Listed Alphabetically) ```
> > edk2
> >   Application       Applications and application support libraries
> >   BaseTools         EDK II build tools/scripts
> >   Conf              EDK II build configuration files
> >   Core              Platform agnostic packages for core FW services
> >   Deprecated        Packages that will be removed from edk2/master soon
> >   Driver            EDK II Drivers (no platform assumptions)
> >     <Package1>      Non-Vendor specific EDK II drivers
> >     <Package2>      Non-Vendor specific EDK II drivers
> >     . . .
> >     Vendor          Vendor specific EDK II drivers
> >       <VendorA>
> >       <VendorB>
> >   Platform          Platforms used to validate edk2/master features
> >     Common          Non-vendor specific platform packages
> >     Emulated        Non-vendor specific emulated platform packages
> >     Arm             ARM specific platform packages
> >     Intel           Intel specific platform packages
> >     <VendorM>       <VendorM> specific platform packages
> >     <VendorN>       <VendorN> specific platform packages
> >   Silicon           CPU/Chipset/SoC packages
> >     Common          Non-vendor specific CPU/Chipset/SoC drivers
> >     Arm             Arm specific CPU/Chipset/SoC drivers
> >     Intel           Intel specific CPU/Chipset/SoC drivers
> >     <VendorX>       <VendorX> specific CPU/Chipset/SoC drivers
> >     <VendorY>       <VendorY> specific CPU/Chipset/SoC drivers
> > ```
> >
> > # Mapping packages from edk2/master into proposed directory structure
> > ```
> > edk2
> >   Application
> >     AppPkg
> >     ShellPkg
> >     StdLib
> >     StdLibPrivateInternalFiles
> >   Core
> >     CorebootModulePkg
> >     CryptoPkg
> >     IntelFsp2Pkg
> >     IntelFsp2WrapperPkg
> >     MdeModulePkg
> >     MdePkg
> >     SecurityPkg
> >     SourceLevelDebugPkg
> >   Deprecated
> >     EdkCompatibilityPkg
> >     EdkShellBinPkg
> >     EdkShellPkg
> >     FatBinPkg
> >     IntelFrameworkModulePkg
> >     IntelFrameworkPkg
> >     IntelFspPkg
> >     IntelFspWrapperPkg
> >     PerformancePkg
> >     ShellBinPkg
> >   Driver
> >     EmbeddedPkg
> >     FatPkg
> >     NetworkPkg
> >     OptionRomPkg
> >     Vendor
> >   Platform
> >     Common
> >       DuetPkg
> >       OvmfPkg
> >       CorebootPayloadPkg
> >     Emulated
> >       EmulatorPkg
> >       Nt32Pkg
> >       UnixPkg
> >     Arm
> >       ArmPlatformPkg
> >       ArmVirtPkg
> >       BeagleBoardPkg
> >     Intel
> >       QuarkPlatformPkg
> >       Vlv2TbltDevicePkg
> >   Silicon
> >     Common
> >       PcAtChipsetPkg
> >       UefiCpuPkg
> >     Arm
> >       ArmPkg
> >       ArmJunoPkg
> >       ArmVExpressPkg
> >       Omap35xxPkg
> >     Intel
> >       QuarkSocPkg
> >       Vlv2DeviceRefCodePkg
> > ```
> >
> > # Setting PACKAGES_PATH to support builds using proposed directory
> > structure ``` set PACKAGES_PATH=%PACKAGES_PATH%;%WORKSPACE%\edk2\Core
> > set PACKAGES_PATH=%PACKAGES_PATH%;%WORKSPACE%\edk2\Driver
> > set PACKAGES_PATH=%PACKAGES_PATH%;%WORKSPACE%\edk2\Silicon\Arm
> > set PACKAGES_PATH=%PACKAGES_PATH%;%WORKSPACE%\edk2\Silicon\Common
> > set PACKAGES_PATH=%PACKAGES_PATH%;%WORKSPACE%\edk2\Silicon\Intel
> > set PACKAGES_PATH=%PACKAGES_PATH%;%WORKSPACE%\edk2\Platform\Arm
> > set PACKAGES_PATH=%PACKAGES_PATH%;%WORKSPACE%\edk2\Platform\Common
> > set PACKAGES_PATH=%PACKAGES_PATH%;%WORKSPACE%\edk2\Platform\Emulated
> > set PACKAGES_PATH=%PACKAGES_PATH%;%WORKSPACE%\edk2\Platform\Intel
> > set PACKAGES_PATH=%PACKAGES_PATH%;%WORKSPACE%\edk2\Application
> > set PACKAGES_PATH=%PACKAGES_PATH%;%WORKSPACE%\edk2\Deprecated
> > set PACKAGES_PATH=%PACKAGES_PATH%;%WORKSPACE%\edk2
> > ```
> >
> > </proposal>
> >
> > Best regards,
> >
> > Mike
> > _______________________________________________
> > edk2-devel mailing list
> > [email protected]
> > https://lists.01.org/mailman/listinfo/edk2-devel
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to