Skip to content

Commit

Permalink
Migrate to Project Mu
Browse files Browse the repository at this point in the history
  • Loading branch information
gus33000 committed Dec 18, 2022
1 parent 0e7e24a commit e49087c
Show file tree
Hide file tree
Showing 965 changed files with 134,151 additions and 108,524 deletions.
50 changes: 50 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
## @file
# Dependabot configuration file to enable GitHub services for managing and updating
# dependencies.
#
# This dependabot file is limited to syncing the following type of dependencies. Other files
# are already available in Mu DevOps to sync other dependency types.
# - GitHub Actions (`github-actions`)
# - Git Submodules (`gitsubmodule`)
# - Python PIP Modules (`pip`)
#
# - Mu DevOps Repo: https://github.com/microsoft/mu_devops
# - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml
#
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
# Please see the documentation for all dependabot configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
##

version: 2

updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
commit-message:
prefix: "GitHub Action"
labels:
- "type:dependencies"

- package-ecosystem: "gitsubmodule"
directory: "/"
schedule:
interval: "daily"
labels:
- "type:submodules"
- "type:dependencies"

- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
commit-message:
prefix: "pip"
labels:
- "language:python"
- "type:dependencies"
31 changes: 13 additions & 18 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,26 +1,21 @@
# Dynamic Generated
Driver/SmBiosTableDxe/ReleaseInfo.h
Application/BdsMenuApp/ReleaseInfo.h
Include/Resources/ReleaseInfo.h
Platforms/Lumia950Pkg/Include/Resources/ReleaseInfo.h
Platforms/Lumia950XLPkg/Include/Resources/ReleaseInfo.h

# Local
.DS_Store
.vs
.vscode

# Variable Services: Defer
Driver/BlockRamVariableDxe
Driver/FaultTolerantWriteDxe
Driver/VariableRuntimeDxe
Library/BlockRamVariableLib

# USB: Defer
Driver/UsbTypeCDxe

# RTC: Defer
Library/QcomPmicRealTimeClockLib
/Build/
.DS_Store
*_extdep/
*.pyc
__pycache__/
tags/
.vscode/
*.bak
BuildConfig.conf

# SSDT
AcpiTables/8992/generated
AcpiTables/8994/generated
AcpiTables/Hapanero/generated
/Conf/
/Lumia/
20 changes: 20 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[submodule "MU_BASECORE"]
path = MU_BASECORE
url = https://github.com/microsoft/mu_basecore.git
branch = release/202208
[submodule "Common/MU_TIANO"]
path = Common/MU_TIANO
url = https://github.com/microsoft/mu_tiano_plus.git
branch = release/202208
[submodule "Common/MU"]
path = Common/MU
url = https://github.com/microsoft/mu_plus.git
branch = release/202208
[submodule "Common/MU_OEM_SAMPLE"]
path = Common/MU_OEM_SAMPLE
url = https://github.com/microsoft/mu_oem_sample.git
branch = release/202208
[submodule "Silicon/ARM/TIANO"]
path = Silicon/ARM/TIANO
url = https://github.com/microsoft/mu_silicon_arm_tiano.git
branch = release/202208
177 changes: 177 additions & 0 deletions .pytool/CISettings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
# @file
#
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
import os
import logging
import io
from edk2toolext.environment import shell_environment
from edk2toolext.invocables.edk2_ci_build import CiBuildSettingsManager
from edk2toolext.invocables.edk2_ci_setup import CiSetupSettingsManager
from edk2toolext.invocables.edk2_setup import SetupSettingsManager, RequiredSubmodule
from edk2toolext.invocables.edk2_update import UpdateSettingsManager
from edk2toolext.invocables.edk2_pr_eval import PrEvalSettingsManager
from edk2toollib.utility_functions import GetHostInfo,RunCmd


class Settings(CiSetupSettingsManager, CiBuildSettingsManager, UpdateSettingsManager, SetupSettingsManager, PrEvalSettingsManager):

def __init__(self):
self.ActualPackages = []
self.ActualTargets = []
self.ActualArchitectures = []
self.ActualToolChainTag = ""

# ####################################################################################### #
# Extra CmdLine configuration #
# ####################################################################################### #

def AddCommandLineOptions(self, parserObj):
pass

def RetrieveCommandLineOptions(self, args):
pass

# ####################################################################################### #
# Default Support for this Ci Build #
# ####################################################################################### #

def GetPackagesSupported(self):
''' return iterable of edk2 packages supported by this build.
These should be edk2 workspace relative paths '''

return ("Lumia950XLPkg",)

def GetArchitecturesSupported(self):
''' return iterable of edk2 architectures supported by this build '''
return ("AARCH64")

def GetTargetsSupported(self):
''' return iterable of edk2 target tags supported by this build '''
return ("NO-TARGET", "NOOPT")

# ####################################################################################### #
# Verify and Save requested Ci Build Config #
# ####################################################################################### #

def SetPackages(self, list_of_requested_packages):
''' Confirm the requested package list is valid and configure SettingsManager
to build the requested packages.
Raise UnsupportedException if a requested_package is not supported
'''
unsupported = set(list_of_requested_packages) - \
set(self.GetPackagesSupported())
if(len(unsupported) > 0):
logging.critical(
"Unsupported Package Requested: " + " ".join(unsupported))
raise Exception("Unsupported Package Requested: " +
" ".join(unsupported))
self.ActualPackages = list_of_requested_packages

def SetArchitectures(self, list_of_requested_architectures):
''' Confirm the requests architecture list is valid and configure SettingsManager
to run only the requested architectures.
Raise Exception if a list_of_requested_architectures is not supported
'''
unsupported = set(list_of_requested_architectures) - \
set(self.GetArchitecturesSupported())
if(len(unsupported) > 0):
logging.critical(
"Unsupported Architecture Requested: " + " ".join(unsupported))
raise Exception(
"Unsupported Architecture Requested: " + " ".join(unsupported))
self.ActualArchitectures = list_of_requested_architectures

def SetTargets(self, list_of_requested_target):
''' Confirm the request target list is valid and configure SettingsManager
to run only the requested targets.
Raise UnsupportedException if a requested_target is not supported
'''
unsupported = set(list_of_requested_target) - \
set(self.GetTargetsSupported())
if(len(unsupported) > 0):
logging.critical(
"Unsupported Targets Requested: " + " ".join(unsupported))
raise Exception("Unsupported Targets Requested: " +
" ".join(unsupported))
self.ActualTargets = list_of_requested_target

# ####################################################################################### #
# Actual Configuration for Ci Build #
# ####################################################################################### #

def GetActiveScopes(self):
''' return tuple containing scopes that should be active for this process '''
scopes = ("cibuild", "edk2-build", "host-based-test")

self.ActualToolChainTag = shell_environment.GetBuildVars().GetValue("TOOL_CHAIN_TAG", "")

if GetHostInfo().os.upper() == "LINUX" and self.ActualToolChainTag.upper().startswith("GCC"):
if "AARCH64" in self.ActualArchitectures:
scopes += ("gcc_aarch64_linux",)
if "ARM" in self.ActualArchitectures:
scopes += ("gcc_arm_linux",)
if "RISCV64" in self.ActualArchitectures:
scopes += ("gcc_riscv64_unknown",)

return scopes

def GetRequiredSubmodules(self):
''' return iterable containing RequiredSubmodule objects.
If no RequiredSubmodules return an empty iterable
'''
rs = []

# To avoid maintenance of this file for every new submodule
# lets just parse the .gitmodules and add each if not already in list.
# The GetRequiredSubmodules is designed to allow a build to optimize
# the desired submodules but it isn't necessary for this repository.
result = io.StringIO()
ret = RunCmd("git", "config --file .gitmodules --get-regexp path",
workingdir=self.GetWorkspaceRoot(), outstream=result)
# Cmd output is expected to look like:
# submodule.CryptoPkg/Library/OpensslLib/openssl.path CryptoPkg/Library/OpensslLib/openssl
# submodule.SoftFloat.path ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3
if ret == 0:
for line in result.getvalue().splitlines():
_, _, path = line.partition(" ")
if path is not None:
if path not in [x.path for x in rs]:
# add it with recursive since we don't know
rs.append(RequiredSubmodule(path, True))
return rs

def GetName(self):
return "MuPlatformsLumia950XLPkg"

def GetDependencies(self):
''' Return Git Repository Dependencies
Return an iterable of dictionary objects with the following fields
{
Path: <required> Workspace relative path
Url: <required> Url of git repo
Commit: <optional> Commit to checkout of repo
Branch: <optional> Branch to checkout (will checkout most recent commit in branch)
Full: <optional> Boolean to do shallow or Full checkout. (default is False)
ReferencePath: <optional> Workspace relative path to git repo to use as "reference"
}
'''
return []

def GetPackagesPath(self):
''' Return a list of workspace relative paths that should be mapped as edk2 PackagesPath '''
result = ["Platforms", "MU_BASECORE", "Common/MU", "Common/MU_TIANO", "Common/MU_OEM_SAMPLE", "Silicon/ARM/TIANO", "Silicon/QC/Msm8994"]
return result

def GetWorkspaceRoot(self):
''' get WorkspacePath '''
return os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

def FilterPackagesToTest(self, changedFilesList: list, potentialPackagesList: list) -> list:
''' Filter potential packages to test based on changed files. '''
return []
1 change: 1 addition & 0 deletions Common/MU
Submodule MU added at ed5ff8
1 change: 1 addition & 0 deletions Common/MU_OEM_SAMPLE
Submodule MU_OEM_SAMPLE added at e458c5
1 change: 1 addition & 0 deletions Common/MU_TIANO
Submodule MU_TIANO added at fd5086
18 changes: 9 additions & 9 deletions FvWrapper.ld → ImageResources/FvWrapper.ld
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
ENTRY(_start);
SECTIONS
{
_start = 0x00200000;
. = 0x00200000;
.data : {
*(.data)
}
ENTRY(_start);

SECTIONS
{
_start = 0x00200000;
. = 0x00200000;
.data : {
*(.data)
}
}
45 changes: 0 additions & 45 deletions Include/Configuration/BootDevices.h

This file was deleted.

29 changes: 0 additions & 29 deletions Library/FrameBufferSerialPortLib/FrameBufferSerialPortLib.inf

This file was deleted.

Loading

0 comments on commit e49087c

Please sign in to comment.