1 Star 0 Fork 5

huangliping/edk22

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

类操作系统: 作者:任启红 日期:20211103

代码基线:https://github.com/tianocore/edk2/releases/tag/edk2-stable202105 当前代码分支及目录:Split分支MdeModulePkg/Application/A目录

许可证:任何人可以用于任何目的使用本仓库代码。

系统描述:当前整个系统分成以下几个模块:设备管理模块、图层管理模块、基础库模块、内存管理模块、分区管理模块、进程管理模块

1、设备管理模块:代码在根目录下Devices目录,此模块包含的设备有键盘(Keyboard目录)、鼠标(Mouse目录)、存储设备(Mouse目录)、

定时器(Timer目录),以后准备把显示器、网络也放过来,网络这块比较大或者在根目录新建一个目录。

2、图层管理模块:代码在Graphics目录,

3、基础库模块:代码在Libraries目录,主要数据结构、数学库、内存库、网络库、字符串库,整个系统的基础库存放到此目录

4、内存管理模块:代码在Memory目录

5、分区管理模块:代码在Partitions目录),主要有FAT32、NTFS文件系统结构,后续如果需要支持其他文件系统类型,存放到此目录

6、进程管理模块:代码在Processes目录)

文件命名,即原因解释:

1、语法格式Ln_MouduleName_SubMouduleName.*,例如:L2_DEVICE_Keyboard.c,L2表示是第二层,L1表示第一层;

第二个DEVICE表示是DEVICE模块,第三个Keyboard表示子模块,如果没有子模块的命名格式:Ln_MouduleName.*,

例如:L2_GRAPHICS.c,表示是Graphics根目录下的第2层c文件,如果是头文件则为L2_GRAPHICS.h.

2、最前面的Ln表示模块内部的分层,当前结构要求为L1一般为一个模块基础数据结构,对其他任何模块不依赖;

3、Ln其中n建议最大到9,所有模块可以自己确定对外提供的接口列表,默认为一个模块最大层对应的头文件;

4、模块内部Lm调用Ln,必须要求m大于等于n,也即模块内部同层的函数可以调用,以及调用层数数字更小的层级;数字小的层不准调用

数字大的层,防止系统模块间循环依赖。

当前发现比较难解决的问题列表:

1、UEFI不支持中断,操作系统级实现,不太好为应用程序提供API接口,得想办法解决;

2、基于UEFI APP开发的特权级可能有问题;

待处理事项(优先级:XXX,事项描述):

1、优先级:高,事项描述:给绝大多数函数写注释。

2、优先级:高,事项描述:在HP的PC机运行存在蓝屏问题。

3、优先级:高,事项描述:在DELL的笔记本运行只能显示少数几个按钮。

4、优先级:中,事项描述:支持对NTFS文件系统的读取。

5、优先级:中,事项描述:网络连接百度的支持。

6、优先级:中,事项描述:支持进程内存独立管理。

7、优先级:中,事项描述:

8、优先级:低,事项描述:桌面图标下的汉字显示不对问题。

9、优先级:中,事项描述:

10、优先级:中,创建一个可以运行的应用程序

11、优先级:中,事项描述:如何进行高效的DEBUG?可以快速定位蓝屏这类内存问题?

12、优先级:中,事项描述:如何进行自动化测试,并且可以覆盖的更加全面?

13、优先级:中,事项描述:桌面在鼠标移动时,显示有点卡,性能问题。

#### 当前已经完成的功能:

1、中文显示、支持HZK16和HZK12(汉字的16*16像素和12*12像素显示)、英文显示:

2、键盘输入、鼠标移动和点击

3、FAT32文件系统的目录、子目录、文件内容查看、NTFS可以查看目录文件,子目录及文件,文件内容;

4、支持BMP格式图片显示,图片缩小算法

5、支持多窗口

6、支持关机动画

7、支持时间日期显示

8、支持多任务,支持不同组任务不同优先级

9、当前对HP的笔记本和HP的台式机支持的比较好,不过代码也有些BUG

10、当前正在支持TCP,当前只能单向数据发送

当前代码不支持在模拟器运行,在HP笔记本运行没有问题

基线代码:

基于Tag:edk2-stable202105

编译及运行方法:

1、进入代码目录: cd /home/x/UEFI/edk22;

2、编译: EmulatorPkg/build.sh -a X64

3、把A_xxx.efi拷贝到U盘(U盘需要有启动shell.efi用于进入命令行) Build/EmulatorX64/DEBUG_GCC5/X64/A.efi

4、进入A.efi所在分区: 比如我的是fs3: shell>fs3:回车

5、运行A.efi shell>A.efi回车

相关介绍视频地址:

https://www.bilibili.com/video/BV17M4y1V7dh

https://www.bilibili.com/video/BV11q4y1M7S3

https://www.bilibili.com/video/BV1Uo4y1U7Au

https://www.bilibili.com/video/BV1Hh411i7NX

https://www.bilibili.com/video/BV18M4y1L7wJ

https://www.bilibili.com/video/BV1G64y1v7hy

EDK2编译环境搭建、编译、在模拟器运行、在笔记本运行:

https://blog.csdn.net/r77683962/article/details/118640380?spm=1001.2014.3001.5501

配套代码地址: https://gitee.com/dream-os/edk22/tree/edk2-stable202105-base

代码地址: https://gitee.com/dream-os/edk22/blob/edk2-stable202105-base/MdeModulePkg/Application/A/A.c

参考书籍:

《30天自制操作系统》

《OrangeS:一个操作系统的实现》

linux 内存看一篇就够了(多图) https://www.jianshu.com/p/a563a5565705

《操作系统概念 第7版》

《中华人民共和国汉字区位码表(GB2312-80).pdf》

《华为技术有限公司c语言编程规范》

《553657 UEFI原理与编程 戴正华(著) 带书签目录》

《NTFS文件系统根目录结构_孙维连》

《NTFS文件系统结构分析》

《数据恢复技术(第2版)-戴士剑》

《大话设计模式》

《FAT32文件系统格式详解》

《计算机图形学》

《数据结构》

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 <[email protected]> Subject: [Repository/Branch PATCH] Module: Brief-single-line-summary Full-commit-message Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Contributor Name <[email protected]> --- 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 <[email protected]> Subject: [PATCH] CodeModule: Brief-single-line-summary Full-commit-message Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Contributor Name <[email protected]> --- 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. --------------------------------------------------------------------------------

简介

类操作系统源码,当前实现FAT32,NTFS根目录读取,文件读取,不能创建文件,目录,可用于两台电脑进行TCP通信,可显示中文件,对鼠标点击事件支持 展开 收起
BSD-2-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/huangliping1/edk22.git
[email protected]:huangliping1/edk22.git
huangliping1
edk22
edk22
Split

搜索帮助