1 Star 0 Fork 5

QswinneR / edk2-platforms

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-2-Clause

This branch holds all platforms actively maintained against the edk2 master branch.

For generic information about the edk2-platforms repository, and the process under which stable and devel branches can be added for individual platforms, please see the introduction on the about branch.

The majority of the content in the EDK II open source project uses a BSD-2-Clause Plus Patent License. Additional details on EDK II open source project code contributions can be found in the edk2 repository Readme.md. The EDK II Platforms open source project contains the following components that are covered by additional licenses:

INDEX

Overview

Platform description files can be found under Platform/{Vendor}/{Platform}.

Many platforms require additional image processing beyond the EDK2 build. Any such steps should be documented (as a Readme.md), and any necessary helper scripts be contained, under said platform directory.

Any contributions to this branch should be submitted via email to the edk2-devel mailing list with a subject prefix of [platforms]. See Laszlo's excellent guide for details on how to do this successfully.

How to build (Linux Environment)

Prerequisites

The build tools themselves depend on Python (2) and libuuid. Most Linux systems will come with a Python environment installed by default, but you usually need to install uuid-dev (or uuid-devel, depending on distribution) manually.

If cross compiling

If building EDK2 for a different archtecture than the build machine, you need to obtain an appropriate cross-compiler. X64 (x86_64) compilers also support IA32, but the reverse may not always be true.

Target architecture Cross compilation prefix
AARCH64 aarch64-linux-gnu-
ARM arm-linux-gnueabihf-
IA32 i?86-linux-gnu-* or x86_64-linux-gnu-
IPF ia64-linux-gnu
X64 x86_64-linux-gnu-
RISCV64 riscv64-unknown-elf-

* i386, i486, i586 or i686

GCC

Linaro provides GCC toolchains for aarch64-linux-gnu and arm-linux-gnueabihf compiled to run on x86_64/i686 Linux and i686 Windows. Some Linux distributions provide their own packaged cross-toolchains.

GCC for RISC-V

RISC-V open source community provides GCC toolchains for riscv64-unknown-elf compiled to run on x86 Linux.

clang

Clang does not require separate cross compilers, but it does need a target-specific binutils. These are included with any prepackaged GCC toolchain (see above), or can be installed or built separately.

Obtaining source code

  1. Create a new folder (directory) on your local development machine for use as your workspace. This example uses /work/git/tianocore, modify as appropriate for your needs.

    $ export WORKSPACE=/work/git/tianocore
    $ mkdir -p $WORKSPACE
    $ cd $WORKSPACE
  2. Into that folder, clone:

    1. edk2
    2. edk2-platforms
    3. edk2-non-osi (if building platforms that need it)
    $ git clone https://github.com/tianocore/edk2.git
    $ git submodule update --init
    ...
    $ git clone https://github.com/tianocore/edk2-platforms.git
    $ git submodule update --init
    ...
    $ git clone https://github.com/tianocore/edk2-non-osi.git
  3. Set up a PACKAGES_PATH to point to the locations of these three repositories:

    $ export PACKAGES_PATH=$PWD/edk2:$PWD/edk2-platforms:$PWD/edk2-non-osi

Manual building

  1. Set up the build environment (this will modify your environment variables)

    $ . edk2/edksetup.sh

    (This step depends on WORKSPACE being set as per above.)

  2. Build BaseTools

    make -C edk2/BaseTools

    (BaseTools can currently not be built in parallel, so do not specify any -j option, either on the command line or in a MAKEFLAGS environment variable.)

Build options

There are a number of options that can (or must) be specified at the point of building. Their default values are set in edk2/Conf/target.txt. If we are working only on a single platform, it makes sense to just update this file.

target.txt option command line Description
ACTIVE_PLATFORM -p Description file (.dsc) of platform.
TARGET -b One of DEBUG, RELEASE or NOOPT.
TARGET_ARCH -a Architecture to build for.
TOOL_CHAIN_TAG -t Toolchain profile to use for building.

There is also MAX_CONCURRENT_THREAD_NUMBER (-n), roughly equivalent to make -j.

When specified on command line, -b can be repeated multiple times in order to build multiple targets sequentially.

After a successful build, the resulting images can be found in Build/{Platform Name}/{TARGET}_{TOOL_CHAIN_TAG}/FV.

Build a platform

The main build process can run in parallel - so figure out how many threads we have available.

$ getconf _NPROCESSORS_ONLN
8

OK, so we have 8 CPUs - let's tell the build to use a little more than that:

$ NUM_CPUS=$((`getconf _NPROCESSORS_ONLN` + 2))

For the toolchain tag, use GCC5 for gcc version 5 or later, GCC4x for earlier versions, or CLANG35/CLANG38 as appropriate when building with clang.

$ build -n $NUM_CPUS -a AARCH64 -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.dsc

(Note that the description file gets resolved by the build command through searching in all locations specified in PACKAGES_PATH.)

If cross-compiling

When cross-compiling, or building with a different version of the compiler than the default gcc or clang(/binutils), we additionally need to inform the build command which toolchain to use. We do this by setting the environment variable {TOOL_CHAIN_TAG}_{TARGET_ARCH}_PREFIX - in the case above, GCC5_AARCH64_PREFIX.

So, referring to the cross compiler toolchain table above, we should prepend the build command line with GCC5_AARCH64_PREFIX=aarch64-linux-gnu-.

Using uefi-tools helper scripts

uefi-tools is a completely unofficial set of helper-scripts developed by Linaro. They automate figuring out all of the manual options above, and store the paths to platform description files in a separate configuration file. Additionally, they simplify bulk-building large numbers of platforms.

The (best effort) intent is to keep this configuration up to date with all platforms that exist in the edk2-platforms master branch.

The equivalent of the manual example above would be

$ git clone https://git.linaro.org/uefi/uefi-tools.git
...
$ ./uefi-tools/edk2-build.sh juno
...
------------------------------------------------------------
                         aarch64 Juno (AARCH64) RELEASE pass
------------------------------------------------------------
pass   1
fail   0

The build finishes with a summary of which platforms/targets were built, which succeeded and which failed (and the total number of either).

Like the build command itself, edk2-build.sh it supports specifying multiple targets on a single command line, but it also lets you specify multiple platforms (or all for building all known platforms). So in order to build all platforms described by the configuration file, for both DEBUG and RELEASE targets:

$ ./uefi-tools/edk2-build.sh -b DEBUG -b RELEASE

How To Build (Windows Environment)

(I genuinely have no idea. Please help!)

Supported Platforms

These are the platforms currently supported by this tree - grouped by Processor/SoC vendor, rather than platform vendor.

If there are any additional build steps beyond the generic ones listed above, they will be documented with the platform.

AMD

Ampere

ARM

BeagleBoard

Hisilicon

Intel

Minimum Platforms

For more information, see the EDK II Minimum Platform Specification.

Other Platforms

Intel® Quark SoC X1000 based platforms
Minnowboard Max/Turbot based on Intel Valleyview2 SoC

Marvell

Raspberry Pi

RISC-V

SiFive

Socionext

NXP

Qemu

Maintainers

See Maintainers.txt.

Submodules

Submodule in EDK II Platforms is allowed but submodule chain should be avoided as possible as we can. Currently EDK II Platforms contains the following submodules

  • Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi

To get a full, buildable EDK II repository, use following steps of git command

  git clone https://github.com/tianocore/edk2-platforms.git
  cd edk2-platforms
  git submodule update --init
  cd ..

If there's update for submodules, use following git commands to get the latest submodules code.

  cd edk2-platforms
  git pull
  git submodule update

Note: When cloning submodule repos, '--recursive' option is not recommended. EDK II Platforms itself will not use any code/feature from submodules in above submodules. So using '--recursive' adds a dependency on being able to reach servers we do not actually want any code from, as well as needlessly downloading code we will not use.

License-History.txt =================== This file contains the history of license change and contributor's agreement changes. Unless otherwise noted in a specific file, the EDK2 project is now licensed under the terms listed in the License.txt file. Terms under which Contributions made prior to the move to the License.txt formulation are shown below. Those terms require notice of the terms themselves be preserved and presented with the contributions. This file serves that preservation purpose as a matter of documenting the history of the project. Key Dates ---------- * August 3, 2017 Update the TianoCore Contribution Agreement from Version 1.0 to Version 1.1 to cover open source documentation associated with the TianoCore project. Version 1.0 covers source code files. Version 1.1 is a backwards compatible extension that adds support for document files in both source form and compiled form. References: https://opensource.org/licenses/BSD-2-Clause Complete text of TianoCore Contribution Agreement 1.0 included below Complete text of TianoCore Contribution Agreement 1.1 included below Proposals (RFCs): https://lists.01.org/pipermail/edk2-devel/2017-March/008654.html TianoCore Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=629 * April 9, 2019 Replace BSD 2-Clause License with BSD + Patent License removing the need for the TianoCore Contribution Agreement. References: https://opensource.org/licenses/BSD-2-Clause Complete text of TianoCore Contribution Agreement 1.0 included below Complete text of TianoCore Contribution Agreement 1.1 included below https://opensource.org/licenses/BSDplusPatent Proposals (RFCs): https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html TianoCore Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1373 -------------------------------------------------------------------------------- License.txt: BSD 2-Clause License -------------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Contributions.txt: TianoCore Contribution Agreement 1.1 -------------------------------------------------------------------------------- ====================== = Code Contributions = ====================== To make a contribution to a TianoCore project, follow these steps. 1. Create a change description in the format specified below to use in the source control commit log. 2. Your commit message must include your "Signed-off-by" signature, and "Contributed-under" message. 3. Your "Contributed-under" message explicitly states that the contribution is made under the terms of the specified contribution agreement. Your "Contributed-under" message must include the name of contribution agreement and version. For example: Contributed-under: TianoCore Contribution Agreement 1.1 The "TianoCore Contribution Agreement" is included below in this document. 4. Submit your code to the TianoCore project using the process that the project documents on its web page. If the process is not documented, then submit the code on development email list for the project. 5. It is preferred that contributions are submitted using the same copyright license as the base project. When that is not possible, then contributions using the following licenses can be accepted: * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause * MIT: http://opensource.org/licenses/MIT * Python-2.0: http://opensource.org/licenses/Python-2.0 * Zlib: http://opensource.org/licenses/Zlib For documentation: * FreeBSD Documentation License https://www.freebsd.org/copyright/freebsd-doc-license.html Contributions of code put into the public domain can also be accepted. Contributions using other licenses might be accepted, but further review will be required. ===================================================== = Change Description / Commit Message / Patch Email = ===================================================== Your change description should use the standard format for a commit message, and must include your "Signed-off-by" signature and the "Contributed-under" message. == Sample Change Description / Commit Message = === Start of sample patch email message === From: Contributor Name <contributor@example.com> Subject: [Repository/Branch PATCH] Module: Brief-single-line-summary Full-commit-message Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Contributor Name <contributor@example.com> --- An extra message for the patch email which will not be considered part of the commit message can be added here. Patch content inline or attached === End of sample patch email message === === Notes for sample patch email === * The first line of commit message is taken from the email's subject line following [Repository/Branch PATCH]. The remaining portion of the commit message is the email's content until the '---' line. * git format-patch is one way to create this format === Definitions for sample patch email === * "Repository" is the identifier of the repository the patch applies. This identifier should only be provided for repositories other than 'edk2'. For example 'edk2-BuildSpecification' or 'staging'. * "Branch" is the identifier of the branch the patch applies. This identifier should only be provided for branches other than 'edk2/master'. For example 'edk2/UDK2015', 'edk2-BuildSpecification/release/1.27', or 'staging/edk2-test'. * "Module" is a short identifier for the affected code or documentation. For example 'MdePkg', 'MdeModulePkg/UsbBusDxe', 'Introduction', or 'EDK II INF File Format'. * "Brief-single-line-summary" is a short summary of the change. * The entire first line should be less than ~70 characters. * "Full-commit-message" a verbose multiple line comment describing the change. Each line should be less than ~70 characters. * "Contributed-under" explicitly states that the contribution is made under the terms of the contribution agreement. This agreement is included below in this document. * "Signed-off-by" is the contributor's signature identifying them by their real/legal name and their email address. ======================================== = TianoCore Contribution Agreement 1.1 = ======================================== INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION ("DOCUMENTATION"), INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT. Unless otherwise indicated, all Content (except Documentation) made available on the TianoCore site is provided to you under the terms and conditions of the BSD License ("BSD"). A copy of the BSD License is available at http://opensource.org/licenses/bsd-license.php or when applicable, in the associated License.txt file. Unless otherwise indicated, all Documentation made available on the TianoCore site is provided to you under the terms and conditions of the FreeBSD Documentation License ("FreeBSD"). A copy of the license is available at https://www.freebsd.org/copyright/freebsd-doc-license.html or, when applicable, in the associated License.txt file. Certain other content may be made available under other licenses as indicated in or with such Content (for example, in a License.txt file). You accept and agree to the following terms and conditions for Your present and future Contributions submitted to TianoCore site. Except for the license granted to Intel hereunder, You reserve all right, title, and interest in and to Your Contributions. == SECTION 1: Definitions == * "You" or "Contributor" shall mean the copyright owner or legal entity authorized by the copyright owner that is making a Contribution hereunder. All other entities that control, are controlled by, or are under common control with that entity are considered to be a single Contributor. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. * "Contribution" shall mean any original work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to the TianoCore site for inclusion in, or documentation of, any of the Content. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the TianoCore site or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the TianoCore site for the purpose of discussing and improving the Content, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution." == SECTION 2: License for Contributions == * Contributor hereby agrees that redistribution and use of the Contribution in source and binary forms, with or without modification, are permitted provided that the following conditions are met: ** Redistributions of source code must retain the Contributor's copyright notice, this list of conditions and the following disclaimer. ** Redistributions in binary form must reproduce the Contributor's copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Disclaimer. None of the names of Contributor, Intel, or the names of their respective contributors may be used to endorse or promote products derived from this software without specific prior written permission. * Contributor grants a license (with the right to sublicense) under claims of Contributor's patents that Contributor can license that are infringed by the Contribution (as delivered by Contributor) to make, use, distribute, sell, offer for sale, and import the Contribution and derivative works thereof solely to the minimum extent necessary for licensee to exercise the granted copyright license; this patent license applies solely to those portions of the Contribution that are unmodified. No hardware per se is licensed. * EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. == SECTION 3: Representations == * You represent that You are legally entitled to grant the above license. If your employer(s) has rights to intellectual property that You create that includes Your Contributions, You represent that You have received permission to make Contributions on behalf of that employer, that Your employer has waived such rights for Your Contributions. * You represent that each of Your Contributions is Your original creation (see Section 4 for submissions on behalf of others). You represent that Your Contribution submissions include complete details of any third-party license or other restriction (including, but not limited to, related patents and trademarks) of which You are personally aware and which are associated with any part of Your Contributions. == SECTION 4: Third Party Contributions == * Should You wish to submit work that is not Your original creation, You may submit it to TianoCore site separately from any Contribution, identifying the complete details of its source and of any license or other restriction (including, but not limited to, related patents, trademarks, and license agreements) of which You are personally aware, and conspicuously marking the work as "Submitted on behalf of a third-party: [named here]". == SECTION 5: Miscellaneous == * Applicable Laws. Any claims arising under or relating to this Agreement shall be governed by the internal substantive laws of the State of Delaware or federal courts located in Delaware, without regard to principles of conflict of laws. * Language. This Agreement is in the English language only, which language shall be controlling in all respects, and all versions of this Agreement in any other language shall be for accommodation only and shall not be binding. All communications and notices made or given pursuant to this Agreement, and all documentation and support to be provided, unless otherwise noted, shall be in the English language. -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Contributions.txt: TianoCore Contribution Agreement 1.0 -------------------------------------------------------------------------------- ====================== = Code Contributions = ====================== To make a contribution to a TianoCore project, follow these steps. 1. Create a change description in the format specified below to use in the source control commit log. 2. Your commit message must include your "Signed-off-by" signature, and "Contributed-under" message. 3. Your "Contributed-under" message explicitly states that the contribution is made under the terms of the specified contribution agreement. Your "Contributed-under" message must include the name of contribution agreement and version. For example: Contributed-under: TianoCore Contribution Agreement 1.0 The "TianoCore Contribution Agreement" is included below in this document. 4. Submit your code to the TianoCore project using the process that the project documents on its web page. If the process is not documented, then submit the code on development email list for the project. 5. It is preferred that contributions are submitted using the same copyright license as the base project. When that is not possible, then contributions using the following licenses can be accepted: * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause * MIT: http://opensource.org/licenses/MIT * Python-2.0: http://opensource.org/licenses/Python-2.0 * Zlib: http://opensource.org/licenses/Zlib Contributions of code put into the public domain can also be accepted. Contributions using other licenses might be accepted, but further review will be required. ===================================================== = Change Description / Commit Message / Patch Email = ===================================================== Your change description should use the standard format for a commit message, and must include your "Signed-off-by" signature and the "Contributed-under" message. == Sample Change Description / Commit Message = === Start of sample patch email message === From: Contributor Name <contributor@example.com> Subject: [PATCH] CodeModule: Brief-single-line-summary Full-commit-message Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Contributor Name <contributor@example.com> --- An extra message for the patch email which will not be considered part of the commit message can be added here. Patch content inline or attached === End of sample patch email message === === Notes for sample patch email === * The first line of commit message is taken from the email's subject line following [PATCH]. The remaining portion of the commit message is the email's content until the '---' line. * git format-patch is one way to create this format === Definitions for sample patch email === * "CodeModule" is a short idenfier for the affected code. For example MdePkg, or MdeModulePkg UsbBusDxe. * "Brief-single-line-summary" is a short summary of the change. * The entire first line should be less than ~70 characters. * "Full-commit-message" a verbose multiple line comment describing the change. Each line should be less than ~70 characters. * "Contributed-under" explicitely states that the contribution is made under the terms of the contribtion agreement. This agreement is included below in this document. * "Signed-off-by" is the contributor's signature identifying them by their real/legal name and their email address. ======================================== = TianoCore Contribution Agreement 1.0 = ======================================== INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT. Unless otherwise indicated, all Content made available on the TianoCore site is provided to you under the terms and conditions of the BSD License ("BSD"). A copy of the BSD License is available at http://opensource.org/licenses/bsd-license.php or when applicable, in the associated License.txt file. Certain other content may be made available under other licenses as indicated in or with such Content. (For example, in a License.txt file.) You accept and agree to the following terms and conditions for Your present and future Contributions submitted to TianoCore site. Except for the license granted to Intel hereunder, You reserve all right, title, and interest in and to Your Contributions. == SECTION 1: Definitions == * "You" or "Contributor" shall mean the copyright owner or legal entity authorized by the copyright owner that is making a Contribution hereunder. All other entities that control, are controlled by, or are under common control with that entity are considered to be a single Contributor. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. * "Contribution" shall mean any original work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to the TinaoCore site for inclusion in, or documentation of, any of the Content. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the TianoCore site or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the TianoCore site for the purpose of discussing and improving the Content, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution." == SECTION 2: License for Contributions == * Contributor hereby agrees that redistribution and use of the Contribution in source and binary forms, with or without modification, are permitted provided that the following conditions are met: ** Redistributions of source code must retain the Contributor's copyright notice, this list of conditions and the following disclaimer. ** Redistributions in binary form must reproduce the Contributor's copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Disclaimer. None of the names of Contributor, Intel, or the names of their respective contributors may be used to endorse or promote products derived from this software without specific prior written permission. * Contributor grants a license (with the right to sublicense) under claims of Contributor's patents that Contributor can license that are infringed by the Contribution (as delivered by Contributor) to make, use, distribute, sell, offer for sale, and import the Contribution and derivative works thereof solely to the minimum extent necessary for licensee to exercise the granted copyright license; this patent license applies solely to those portions of the Contribution that are unmodified. No hardware per se is licensed. * EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. == SECTION 3: Representations == * You represent that You are legally entitled to grant the above license. If your employer(s) has rights to intellectual property that You create that includes Your Contributions, You represent that You have received permission to make Contributions on behalf of that employer, that Your employer has waived such rights for Your Contributions. * You represent that each of Your Contributions is Your original creation (see Section 4 for submissions on behalf of others). You represent that Your Contribution submissions include complete details of any third-party license or other restriction (including, but not limited to, related patents and trademarks) of which You are personally aware and which are associated with any part of Your Contributions. == SECTION 4: Third Party Contributions == * Should You wish to submit work that is not Your original creation, You may submit it to TianoCore site separately from any Contribution, identifying the complete details of its source and of any license or other restriction (including, but not limited to, related patents, trademarks, and license agreements) of which You are personally aware, and conspicuously marking the work as "Submitted on behalf of a third-party: [named here]". == SECTION 5: Miscellaneous == * Applicable Laws. Any claims arising under or relating to this Agreement shall be governed by the internal substantive laws of the State of Delaware or federal courts located in Delaware, without regard to principles of conflict of laws. * Language. This Agreement is in the English language only, which language shall be controlling in all respects, and all versions of this Agreement in any other language shall be for accommodation only and shall not be binding. All communications and notices made or given pursuant to this Agreement, and all documentation and support to be provided, unless otherwise noted, shall be in the English language. --------------------------------------------------------------------------------

简介

暂无描述 展开 收起
C
BSD-2-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/qswinner/edk2-platforms.git
git@gitee.com:qswinner/edk2-platforms.git
qswinner
edk2-platforms
edk2-platforms
master

搜索帮助