diff --git a/.gitignore b/.gitignore index a55531a618721f3c48c0f8993a216496193b3f17..9334e4d23632462bdd25a8c4c6497a3af8132a14 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,9 @@ TAGS tags .idea + +# script +_auto_build.sh + +# todolist +todo diff --git a/LICENSE b/LICENSE index 8f71f43fee3f78649d238238cbde51e6d7055c82..29f81d812f3e768fa89638d1f72920dbfd1413a8 100644 --- a/LICENSE +++ b/LICENSE @@ -1,202 +1,201 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. 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. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor 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 - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. 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. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor 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 + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md deleted file mode 100644 index d8104017e4d3e304a761a51da5884f7817da63a7..0000000000000000000000000000000000000000 --- a/README.md +++ /dev/null @@ -1,41 +0,0 @@ -## Zephyr-based Virtual Machine Manager - -### 什么是ZVM - ------- - -ZVM是基于实时操作系统Zephyr设计的虚拟机管理器(Hypervisor),旨在成为一个以Zephyr为基础的,高度可配置的嵌入式虚拟化平台。 - -### 主机相关环境 - - - zephyr os version: 2.7.99 - - zephyr sdk version: zephyr-sdk-0.13.2+ - - -### 支持的平台: - - - FVP Platform: Arm FVP(Installed with Arm DS) - - QEMU Platform: qemu-6.2.0(Modified) - - -### 支持的操作系统: - - - Linux - - Zephyr - - - -### 手册目录 ------- - -本手册包含ZVM如何构建、使用、开发的相关内容。具体内容存放在(目录地址)地址下。 - -[1--Overview.md](https://gitee.com/cocoeoli/zvm/blob/master/doc/1--Overview.md) - -[2--Building.md](https://gitee.com/cocoeoli/zvm/blob/master/doc/2--Building.md) - -[3--Running.md](https://gitee.com/cocoeoli/zvm/blob/master/doc/3--Running.md) - -[4--Test command.md](https://gitee.com/cocoeoli/zvm/blob/master/doc/4--Test%20system.md) - -[5--Developing Help.md](https://gitee.com/cocoeoli/zvm/blob/master/doc/master/doc/5--Developing%20Help.md) \ No newline at end of file diff --git a/README.rst b/README.rst index 9072eb90fdbed164cfc9475edbe85e843a392c34..64a7f8ca30e5ead7537654184ddc25148ac0f232 100644 --- a/README.rst +++ b/README.rst @@ -1,88 +1,95 @@ -.. raw:: html - - -

- -

-
- - - - - - -The Zephyr Project is a scalable real-time operating system (RTOS) supporting -multiple hardware architectures, optimized for resource constrained devices, -and built with security in mind. - -The Zephyr OS is based on a small-footprint kernel designed for use on -resource-constrained systems: from simple embedded environmental sensors and -LED wearables to sophisticated smart watches and IoT wireless gateways. - -The Zephyr kernel supports multiple architectures, including ARM Cortex-M, -Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, and a large number of -`supported boards`_. - -.. below included in doc/introduction/introduction.rst - - -Getting Started -*************** - -Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview, -and the documentation's `Getting Started Guide`_ to start developing. - -.. start_include_here - -Community Support -***************** - -Community support is provided via mailing lists and Discord; see the Resources -below for details. - -.. _project-resources: - -Resources -********* - -Here's a quick summary of resources to help you find your way around: - -* **Help**: `Asking for Help Tips`_ -* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_) -* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main - repository; https://elixir.bootlin.com/zephyr/latest/source contains a - searchable index -* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases -* **Samples and example code**: see `Sample and Demo Code Examples`_ -* **Mailing Lists**: users@lists.zephyrproject.org and - devel@lists.zephyrproject.org are the main user and developer mailing lists, - respectively. You can join the developer's list and search its archives at - `Zephyr Development mailing list`_. The other `Zephyr mailing list - subgroups`_ have their own archives and sign-up pages. -* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds - The builds@lists.zephyrproject.org mailing list archives the CI nightly build results. -* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use - this `Discord Invite`_ to register. -* **Contributing**: see the `Contribution Guide`_ -* **Wiki**: `Zephyr GitHub wiki`_ -* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues -* **Security Issues**: Email vulnerabilities@zephyrproject.org to report - security issues; also see our `Security`_ documentation. Security issues are - tracked separately at https://zephyrprojectsec.atlassian.net. -* **Zephyr Project Website**: https://zephyrproject.org - -.. _Discord Invite: https://chat.zephyrproject.org -.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html -.. _Zephyr Documentation: http://docs.zephyrproject.org -.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html -.. _Getting Started Guide: http://docs.zephyrproject.org/latest/getting_started/index.html -.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html -.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki -.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel -.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups -.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html -.. _Security: http://docs.zephyrproject.org/latest/security/index.html -.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/getting_started/index.html#asking-for-help +ZVM 开源文档 +================== + +欢迎来到Zephyr based Virtual Machine(ZVM) 项目开发的文档,本项目是一个基于 +`Zephyr RTOS `__ 开发的虚拟机管理器项目, +由湖南大学信息科学与工程学院谢国琪教授团队开发,旨在于实时嵌入式操作系统中构建一个虚拟化管理平台, +在需要虚拟化支持的环境中实现多个系统运行在统一的硬件平台上。 +项目仓库中包含Zephyr RTOS内核及工具的一些源码,以及添加虚拟化支持所需的一些代码,共同构成了ZVM的代码仓。 + +ZVM使用 +`zephyrproject-rtos `__ 所遵守的 +`Apache 2.0 许可证 `__ +,主要开发语言为C(C++)语言。 + + +介绍:什么是ZVM +------------------ +基于实时操作系统Zephyr的虚拟机 Zephyr-based Virtual Machine(ZVM), +是一种参考Kernel-based Virtual Machine(KVM)实现的虚拟机,其面向高性能嵌入式计算环境, +提供嵌入式平台上操作系统级别的资源隔离和共享服务。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/zvm_demo.png + :alt: zvm_demo + + zvm_demo + + +本项目以Zephyr实时操作系统为基础,使用C(C++)在Zephyr RTOS中实现一个面向嵌入式平台的虚拟机管理器。 +Zephyr RTOS是一个小型的实时操作系统,用于连接、资源受限和嵌入式设备,支持多种架构,发布于Apache License 2.0下。 +Zephyr包括内核、所有组件和库、设备驱动程序、协议栈、文件系统和固件更新,以开发连接、资源受限和嵌入式设备。 +Zephyr RTOS易于部署、安全、连接和管理。它具有不断增长的软件库集,可用于各种应用和行业领域, +如工业物联网、可穿戴设备、机器学习等。 + +Zephyr系统整体结构和Linux类似,本项目参考基于内核的虚拟机(Kernel-based Virtual Machine, KVM)思路, +实现基于Zephyr RTOS的虚拟化管理平台ZVM,有助于更好的理解KVM等复杂虚拟化系统的实现原理。 +同时考虑在嵌入式等资源受限场景下的虚拟化实现需要注意哪些内容。 + +文档目录 +------------------ + +下面目录中内容包含ZVM系统介绍及系统的使用说明。 + +具体内容及简介: +^^^^^^^^^^^ + +`系统简介: `__ +************************************************************************************** +ZVM的整个系统各个模块的整体架构介绍,以及一些其他的功能介绍。 + +`主机开发环境搭建: `__ +********************************************************************************************** +Linux主机开发环境的配置,zephyrproject SDK的配置及zvm仓库的初始化和简单sample的构建与测试等。 + +`核心模块介绍: `__ +***************************************************************************************** +各个模块的详细实现介绍,包括虚拟处理器、虚拟内存、虚拟设备等各个模块的技术实现。 + +`ZVM系统构建: `__ +***************************************************************************************** +ZVM主机的构建、Linux和zephyr虚拟机的构建以及其他ZVM运行所需要环境的配置流程。 + +`ZVM运行与调试: `__ +***************************************************************************************** +说明如何在主机中运行及调试相应的模块,包括基础指令的测试,以及如何对系统进行调试的步骤。 + +`拓展技术介绍: `__ +**************************************************************************************** +为了优化ZVM在嵌入式系统中的运行支持,我们拟支持一些额外的技术,保证ZVM系统能更好的支持各类应用场景。 + +`ZVM后续规划: `__ +************************************************************************************************** +我们对ZVM的后续发展制定了一些计划安排,你可以在这里找到。 + +`加入我们: `__ +************************************************************************************************ +最后,我们介绍了我们团队的一些成员、如何加入ZVM进行开发以及开发过程中需要遵循的一些基本编码规则。 + + +视频介绍 +---------- +以往关于一些ZVM的分享视频。 + +EOSS分享视频: +^^^^^^^^^^^^^^^^^^^^^^ + +`ZVM: An Embedded Real-time Virtual Machine Based on Zephyr RTOS `__ +************************************************************************************************************************************* + +Sig-Zephyr分享视频: +^^^^^^^^^^^^^^^^^^^^^^ + +`ZVM:基于Zephyr RTOSI的嵌入式实时虚拟机 `__ +****************************************************************************************************************************************************************************************** + + diff --git a/README_Zephyr.rst b/README_Zephyr.rst new file mode 100644 index 0000000000000000000000000000000000000000..9072eb90fdbed164cfc9475edbe85e843a392c34 --- /dev/null +++ b/README_Zephyr.rst @@ -0,0 +1,88 @@ +.. raw:: html + + +

+ +

+
+ + + + + + +The Zephyr Project is a scalable real-time operating system (RTOS) supporting +multiple hardware architectures, optimized for resource constrained devices, +and built with security in mind. + +The Zephyr OS is based on a small-footprint kernel designed for use on +resource-constrained systems: from simple embedded environmental sensors and +LED wearables to sophisticated smart watches and IoT wireless gateways. + +The Zephyr kernel supports multiple architectures, including ARM Cortex-M, +Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, and a large number of +`supported boards`_. + +.. below included in doc/introduction/introduction.rst + + +Getting Started +*************** + +Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview, +and the documentation's `Getting Started Guide`_ to start developing. + +.. start_include_here + +Community Support +***************** + +Community support is provided via mailing lists and Discord; see the Resources +below for details. + +.. _project-resources: + +Resources +********* + +Here's a quick summary of resources to help you find your way around: + +* **Help**: `Asking for Help Tips`_ +* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_) +* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main + repository; https://elixir.bootlin.com/zephyr/latest/source contains a + searchable index +* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases +* **Samples and example code**: see `Sample and Demo Code Examples`_ +* **Mailing Lists**: users@lists.zephyrproject.org and + devel@lists.zephyrproject.org are the main user and developer mailing lists, + respectively. You can join the developer's list and search its archives at + `Zephyr Development mailing list`_. The other `Zephyr mailing list + subgroups`_ have their own archives and sign-up pages. +* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds + The builds@lists.zephyrproject.org mailing list archives the CI nightly build results. +* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use + this `Discord Invite`_ to register. +* **Contributing**: see the `Contribution Guide`_ +* **Wiki**: `Zephyr GitHub wiki`_ +* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues +* **Security Issues**: Email vulnerabilities@zephyrproject.org to report + security issues; also see our `Security`_ documentation. Security issues are + tracked separately at https://zephyrprojectsec.atlassian.net. +* **Zephyr Project Website**: https://zephyrproject.org + +.. _Discord Invite: https://chat.zephyrproject.org +.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html +.. _Zephyr Documentation: http://docs.zephyrproject.org +.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html +.. _Getting Started Guide: http://docs.zephyrproject.org/latest/getting_started/index.html +.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html +.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki +.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel +.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups +.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html +.. _Security: http://docs.zephyrproject.org/latest/security/index.html +.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/getting_started/index.html#asking-for-help diff --git a/arch/arm64/_zvm/CMakeLists.txt b/arch/arm64/_zvm/CMakeLists.txt index 6da8425bb323cb3c8a479c7edd861b6c0a60d1b4..81bb7c250fe7e33709708eefb087974e2281887e 100644 --- a/arch/arm64/_zvm/CMakeLists.txt +++ b/arch/arm64/_zvm/CMakeLists.txt @@ -1,3 +1,5 @@ +# Copyright 2021-2022 HNU + # SPDX-License-Identifier: Apache-2.0 zephyr_library() diff --git a/arch/arm64/_zvm/Kconfig b/arch/arm64/_zvm/Kconfig index c0f389828fcefb5fc20b825d89f825ccc7a7b17f..49652b02be973a7912702ee38592d72d50f75601 100644 --- a/arch/arm64/_zvm/Kconfig +++ b/arch/arm64/_zvm/Kconfig @@ -1,9 +1,8 @@ -# ARM64 _zvm configuration options - +# Copyright 2021-2022 HNU # SPDX-License-Identifier: Apache-2.0 - +# ARM64 _zvm configuration options config ZVM_SYNC_DESC_INIT_PRIORITY int "ZVM sync desc init priority" default 70 diff --git a/arch/arm64/_zvm/arm.c b/arch/arm64/_zvm/arm.c index 432ff21ad99e4fe204ece667760940020dfde23e..3d709477d1d3d2fc0a64f5dea8c8066c6556a55a 100644 --- a/arch/arm64/_zvm/arm.c +++ b/arch/arm64/_zvm/arm.c @@ -230,6 +230,12 @@ void arch_vcpu_context_load(struct vcpu *vcpu) #endif } +/** + * @brief init vcpu arch related struct here. call by vm_cpu_init + * @param vcpu : vcpu struct + * @return int : error code. + */ + int arch_vcpu_init(struct vcpu *vcpu) { int ret = 0; diff --git a/arch/arm64/_zvm/mm.c b/arch/arm64/_zvm/mm.c index effba72a08f8ff4e1a5d2984508f4f281511af4a..562fffadc7e77394a0ab458d706b886633dd2807 100644 --- a/arch/arm64/_zvm/mm.c +++ b/arch/arm64/_zvm/mm.c @@ -1,9 +1,8 @@ /* - * Copyright (c) 2021 hnu + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ - #include #include #include diff --git a/arch/arm64/_zvm/switch.c b/arch/arm64/_zvm/switch.c index d8f28d777bc9ea5013a67c14f259f122e5baab58..ffe1f533f6695cd4f9d4b9217983daf57725810c 100644 --- a/arch/arm64/_zvm/switch.c +++ b/arch/arm64/_zvm/switch.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 hnu + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ @@ -161,6 +161,10 @@ static void arch_vm_serror_trap(struct vcpu *vcpu, int exit_code) } } +/** + * @brief Get the zvm host context object for context switch + */ + void get_zvm_host_context(void) { uint64_t hostctxt_addr ; @@ -174,6 +178,10 @@ void get_zvm_host_context(void) ); } +/** + * @brief run the virtual machine on the specified vcpu. + */ + int arch_vcpu_run(struct vcpu *vcpu) { int ret; @@ -230,6 +238,10 @@ int arch_vcpu_run(struct vcpu *vcpu) return ret; } +/** + * @brief Check before irq interrupt + */ + void z_vm_switch_handle_pre(uint32_t irq) { struct k_thread *thread; diff --git a/arch/arm64/_zvm/sysreg.c b/arch/arm64/_zvm/sysreg.c index 980c865714ca4342da2e47be528bf56f57a0cc17..4c7cc50c8683c49a7e2880924a40e7aea3ac518a 100644 --- a/arch/arm64/_zvm/sysreg.c +++ b/arch/arm64/_zvm/sysreg.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 hnu + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/arch/arm64/_zvm/trap_handler.c b/arch/arm64/_zvm/trap_handler.c index 4f0882353c5ad5baf60bf134c8ac286af2ce8521..562f286092116325c65ed9acc6fdc357dc5a4985 100644 --- a/arch/arm64/_zvm/trap_handler.c +++ b/arch/arm64/_zvm/trap_handler.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 hnu + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ @@ -236,7 +236,7 @@ static int cpu_data_abort_low_sync(arch_commom_regs_t *arch_ctxt, uint64_t esr_e case DFSC_FT_PERM_L1: case DFSC_FT_PERM_L0: default: - ZVM_LOG_WARN("Stage-2 error without translation fault! VM stop! \n"); + ZVM_LOG_WARN("Stage-2 error without translation fault: %016llx ! VM stop! \n", ipa_ddr); ret = -ENOVDEV; break; } diff --git a/arch/arm64/_zvm/vgic_common.c b/arch/arm64/_zvm/vgic_common.c index 2211c60f5a60ad0cea2b2679cd8efb7bdcb7b799..65ab5db1dc820455c54af8c628e52e041306ac29 100644 --- a/arch/arm64/_zvm/vgic_common.c +++ b/arch/arm64/_zvm/vgic_common.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022 hnu + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ @@ -117,6 +117,10 @@ static int virt_irq_set_type(struct vcpu *vcpu, uint32_t virt_irq, int value) return 0; } +/** + * @brief Set priority for specific virtual interrupt requests + */ + static int virt_irq_set_priority(struct vcpu *vcpu, uint32_t virt_irq, int prio) { struct virt_irq_desc *desc; diff --git a/arch/arm64/_zvm/vgic_v3.c b/arch/arm64/_zvm/vgic_v3.c index 82a548b176714c79f3b77f1739f876743afbcdf6..fa6f9972e22ee599b5797609e81bcac9c2010127 100644 --- a/arch/arm64/_zvm/vgic_v3.c +++ b/arch/arm64/_zvm/vgic_v3.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022 hnu + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/arch/arm64/_zvm/vtimer.c b/arch/arm64/_zvm/vtimer.c index 9e7969603646f5e17407c91ea88d34d76ee63fb2..427b35eb939ab024274ccd6b2ebdad053812713e 100644 --- a/arch/arm64/_zvm/vtimer.c +++ b/arch/arm64/_zvm/vtimer.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022 hnu + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/arch/arm64/core/Kconfig b/arch/arm64/core/Kconfig index a2b2d1da8c7886e85f826057a7bf39e59bda88f5..db065350d0aacf73e2fa15d9a7d784446ead8243 100644 --- a/arch/arm64/core/Kconfig +++ b/arch/arm64/core/Kconfig @@ -43,6 +43,14 @@ config CPU_CORTEX_A72 help This option signifies the use of a Cortex-A72 CPU +config CPU_CORTEX_A75 + bool + select CPU_CORTEX_A + select ARMV8_A + select HAS_ARM_VHE_EXTN + help + This option signifies the use of a Cortex-A75 CPU + config CPU_CORTEX_MAX bool select CPU_CORTEX_A diff --git a/arch/arm64/core/isr_wrapper.S b/arch/arm64/core/isr_wrapper.S index f1f18d6b071b56e56f1062f65d85c862c237b84e..df55502cb47181363119181cf17f0038bce4aa58 100644 --- a/arch/arm64/core/isr_wrapper.S +++ b/arch/arm64/core/isr_wrapper.S @@ -74,7 +74,7 @@ oob: bl z_vm_switch_handle_pre #endif - ldr x0, [sp] + ldp x0, x1, [sp] /* Retrieve the interrupt service routine */ ldr x1, =_sw_isr_table diff --git a/arch/arm64/core/mmu.c b/arch/arm64/core/mmu.c index 2936c04d1cbc5c4b76ce2063b4714921de36fab7..aaa4e1f9c7ef7f41b1f036c469c38d088dc145e8 100644 --- a/arch/arm64/core/mmu.c +++ b/arch/arm64/core/mmu.c @@ -23,6 +23,7 @@ #include #include #include "mmu.h" +#include LOG_MODULE_DECLARE(os, CONFIG_KERNEL_LOG_LEVEL); @@ -778,8 +779,6 @@ static uint64_t get_tcr(int el) } extern void rk3568_dcache_init(); -#include "macro_priv.inc" - static void enable_mmu_el1(struct arm_mmu_ptables *ptables, unsigned int flags) { @@ -796,20 +795,22 @@ static void enable_mmu_el1(struct arm_mmu_ptables *ptables, unsigned int flags) /* Ensure these changes are seen before MMU is enabled */ isb(); +#ifdef CONFIG_ZVM_EARLYPRINT_MSG + uint64_t tmp_val; val = read_tcr_el1(); tmp_val = read_spsr_el1(); -/* val = read_id_aa64mmfr1_el1(); tmp_val = read_id_aa64mmfr0_el1(); //debug_printf("id_aa64mmfr1_el1: 0x%08x-%08x , id_aa64mmfr0_el1: 0x%08x-%08x \r\n", val>>32, val, tmp_val>>32, tmp_val); val = read_id_aa64pfr1_el1(); tmp_val = read_id_aa64pfr0_el1(); - //debug_printf("id_aa64pfr1_el1: 0x%08x-%08x , ID_AA64PFR0_EL1: 0x%08x-%08x \r\n", val>>32, val, tmp_val>>32, tmp_val); + debug_printf("id_aa64pfr1_el1: 0x%08x-%08x , ID_AA64PFR0_EL1: 0x%08x-%08x \r\n", val>>32, val, tmp_val>>32, tmp_val); val = read_far_el1(); tmp_val = read_hcr_el2(); - //debug_printf("far_el1: 0x%08x-%08x , hcr_el2: 0x%08x-%08x \r\n", val>>32, val, tmp_val>>32, tmp_val); -*/ + debug_printf("far_el1: 0x%08x-%08x , hcr_el2: 0x%08x-%08x \r\n", val>>32, val, tmp_val>>32, tmp_val); + +#endif /* CONFIG_ZVM_EARLYPRINT_MSG */ /* some thing need to do before enable mmu */ sys_cache_data_all(K_CACHE_INVD); @@ -850,10 +851,16 @@ void z_arm64_mm_init(bool is_primary_core) #ifndef CONFIG_HAS_ARM_VHE_EXTN __ASSERT(GET_EL(read_currentel()) == MODE_EL1, "Exception level not EL1, MMU not enabled!\n"); -#endif - + /* Ensure that MMU is already not enabled */ __ASSERT((read_sctlr_el1() & SCTLR_M_BIT) == 0, "MMU is already enabled\n"); +#else + __ASSERT(GET_EL(read_currentel()) == MODE_EL2, + "Exception level not EL2, MMU not enabled!\n"); + + /* Ensure that MMU is already not enabled */ + __ASSERT((read_sctlr_el2() & SCTLR_M_BIT) == 0, "MMU is already enabled\n"); +#endif /* * Only booting core setup up the page tables. diff --git a/arch/arm64/core/offsets/offsets.c b/arch/arm64/core/offsets/offsets.c index 6b9a54b82d178d798d6355bf5207f75abfc7dd4a..fa72b1f2c2f5dcc139d3da6b03430d7af44aaf44 100644 --- a/arch/arm64/core/offsets/offsets.c +++ b/arch/arm64/core/offsets/offsets.c @@ -56,26 +56,19 @@ GEN_NAMED_OFFSET_SYM(_esf_t, x0, x0_x1); GEN_ABSOLUTE_SYM(___esf_t_SIZEOF, sizeof(_esf_t)); - #ifdef CONFIG_ZVM - /* offset for zvm_vcpu_context */ GEN_OFFSET_SYM(zvm_vcpu_context_t, regs); - - /* offset for zvm_arch_reg */ GEN_OFFSET_SYM(arch_commom_regs_t, callee_saved_regs); GEN_OFFSET_SYM(arch_commom_regs_t, esf_handle_regs); GEN_OFFSET_SYM(arch_commom_regs_t, pc); GEN_OFFSET_SYM(arch_commom_regs_t, pstate); GEN_OFFSET_SYM(arch_commom_regs_t, lr); - /* offset for vcpu */ GEN_OFFSET_SYM(vcpu_t, arch); - /* offset for vcpu_arch */ GEN_OFFSET_SYM(vcpu_arch_t, ctxt); - #endif #ifdef CONFIG_HAS_ARM_SMCCC diff --git a/arch/arm64/core/prep_c.c b/arch/arm64/core/prep_c.c index 766a465d7a85285df399efb6b58173c60fbd1c04..3a116afc2e50f0c20b1a5b843f5f120537419a14 100644 --- a/arch/arm64/core/prep_c.c +++ b/arch/arm64/core/prep_c.c @@ -45,7 +45,7 @@ static inline void z_arm64_bss_zero(void) void z_arm64_prep_c(void) { /* init uart for output, for rk3568 */ -#ifdef CONFIG_SOC_RK3568 +#if defined(CONFIG_SOC_RK3568) && defined(CONFIG_ZVM_EARLYPRINT_MSG) uint32_t el; tpl_main(); debug_printf("current_el: 0x%08x-%08x \r\n", (el>>32), el); diff --git a/arch/arm64/core/reset.S b/arch/arm64/core/reset.S index 561307bea3c9feee6a7365643bd91702e7b61ed7..71a4c4ac5521ae00142f540b247543820610d6cc 100644 --- a/arch/arm64/core/reset.S +++ b/arch/arm64/core/reset.S @@ -38,7 +38,12 @@ SECTION_FUNC(TEXT,z_arm64_el1_plat_prep_c) GTEXT(rk3568_dcache_init) SECTION_FUNC(TEXT,rk3568_dcache_init) add x1, x1, x0 - __dcache_line_size x2, x3 + + mrs x3, ctr_el0 + ubfm x3, x3, #16, #19 // cache line size encoding + mov x2, #4 + lsl x2, x2, x3 + sub x3, x2, #1 tst x1, x3 bic x1, x1, x3 @@ -83,7 +88,6 @@ SECTION_SUBSEC_FUNC(TEXT,_reset_section,__reset_prep_c) b out 2: - #ifdef CONFIG_SOC_RK3568 bl rk3568_dcache_init #endif @@ -98,7 +102,6 @@ SECTION_SUBSEC_FUNC(TEXT,_reset_section,__reset_prep_c) /* Set SP_EL1, make the kernel stack bind to sp_el1 */ msr sp_el1, x24 - msr SPsel, #1 mov sp, x24 @@ -148,7 +151,7 @@ SECTION_SUBSEC_FUNC(TEXT,_reset_section,__start) ldr x0, =arm64_cpu_boot_params get_cpu_id x1 ldr x2, [x0, #BOOT_PARAM_MPID_OFFSET] -#ifdef CONFIG_BOARD_FVP_CORTEX_A55 +#ifdef CONFIG_BOARD_FVP_CORTEX_A55x4_A75x2_SMP mov x1, x1, lsr #0x08 cmp x1, #0 bne 1f @@ -200,7 +203,6 @@ switch_el: #else bl z_arm64_el2_init #endif - mov_imm x0, (SPSR_DAIF_MASK | SPSR_MODE_EL1T) msr spsr_el2, x0 @@ -214,7 +216,6 @@ switch_el: and x0, x0, #ASM_HCR_E2H /*If nvhe, jump! */ cbz x0, 21f - b 1f /* if vhe is not implemention */ @@ -229,7 +230,6 @@ switch_el: /* We want to use SP_ELx from now on */ msr SPSel, #1 - /* Enable SError interrupts */ msr DAIFClr, #(DAIFCLR_ABT_BIT) isb diff --git a/arch/arm64/core/reset.c b/arch/arm64/core/reset.c index 40f9f292e1ecfe061135828aa69d8c5c9ef73502..3f66fc20a6d16e29012cef70ab9ec1f1e65a08ec 100644 --- a/arch/arm64/core/reset.c +++ b/arch/arm64/core/reset.c @@ -157,8 +157,7 @@ void z_arm64_el2_init(void) isb(); } -#ifdef CONFIG_ZVM - +#if defined(CONFIG_ZVM) && defined(CONFIG_HAS_ARM_VHE_EXTN) /* Configure EL2/virtualization related registers. * TODO: system register info must be standarded later. */ @@ -177,13 +176,13 @@ void z_arm64_el2_vhe_init(void) write_hcr_el2(reg); isb(); -#ifdef CONFIG_HAS_ARM_VHE_EXTN reg = read_id_aa64mmfr1_el1(); reg = ASM_UBFX(8, 4, reg); - if(reg) + if(reg){ vhe_flag = true; -#endif + } + if(vhe_flag){ reg = HCR_VHE_FLAGS; }else{ @@ -253,7 +252,6 @@ void z_arm64_el2_vhe_init(void) z_arm64_el2_plat_init(); } - #endif /* CONFIG_ZVM */ void z_arm64_el1_init(void) @@ -307,22 +305,20 @@ void z_arm64_el3_get_next_el(uint64_t switch_addr){ write_spsr_el3(spsr); } - /* * operation for all data cache * ops: K_CACHE_INVD: invalidate * K_CACHE_WB: clean * K_CACHE_WB_INVD: clean and invalidate */ -void arch_flush_dcache_all() +void arch_flush_dcache_all(void) { - uint32_t clidr_el1, csselr_el1, ccsidr_el1; uint8_t loc, ctype, cache_level, line_size, way_pos; + uint32_t clidr_el1, csselr_el1, ccsidr_el1; uint32_t max_ways, max_sets, dc_val, set, way; /* Data barrier before start */ dsb(); - clidr_el1 = read_clidr_el1(); loc = (clidr_el1 >> 24) & BIT_MASK(3); @@ -359,17 +355,14 @@ void arch_flush_dcache_all() dc_val |= csselr_el1; /* set number, aligned to pos in DC operand */ dc_val |= set << line_size; - __asm__ volatile ("dc cisw, %0" :: "r" (dc_val) : "memory"); } } } - /* Restore csselr_el1 to level 0 */ write_csselr_el1(0); dsb(); isb(); - return; } diff --git a/arch/arm64/core/switch.S b/arch/arm64/core/switch.S index e13f4001cf3b5f890926ad845627b045d702b88e..dcf857a281dde2b9832ce6b9b441182cdbd6a63d 100644 --- a/arch/arm64/core/switch.S +++ b/arch/arm64/core/switch.S @@ -197,13 +197,10 @@ context_switch: sub x1, x1, ___thread_t_switch_handle_OFFSET stp x0, x1, [sp, ___esf_t_x0_x1_OFFSET] - #ifdef CONFIG_ZVM bl do_asm_vcpu_swap #endif - ldp x0, x1, [sp, ___esf_t_x0_x1_OFFSET] - /* Switch thread */ bl z_arm64_context_switch @@ -224,7 +221,6 @@ SECTION_FUNC(TEXT, z_arm64_call_svc) GTEXT(z_arm64_call_hvc) SECTION_FUNC(TEXT, z_arm64_call_hvc) - hvc #0 ret diff --git a/arch/arm64/core/thread.c b/arch/arm64/core/thread.c index 0a321a89e0ead73f8fda896915ba2985e03099f8..f615cb5c4eb874cfdcfb6ddc9f51111ff251828d 100644 --- a/arch/arm64/core/thread.c +++ b/arch/arm64/core/thread.c @@ -106,14 +106,12 @@ void arch_new_thread(struct k_thread *thread, k_thread_stack_t *stack, #else pInitCtx->elr = (uint64_t)z_thread_entry; #endif - #if defined(CONFIG_HAS_ARM_VHE_EXTN) && defined(CONFIG_ZVM) pInitCtx->spsr = SPSR_MODE_EL2H | DAIF_FIQ_BIT; #else /* Keep using SP_EL1 */ pInitCtx->spsr = SPSR_MODE_EL1H | DAIF_FIQ_BIT; #endif - #ifdef CONFIG_ZVM /* init thread's vcpu_struct */ thread->vcpu_struct = NULL; diff --git a/arch/arm64/include/kernel_arch_data.h b/arch/arm64/include/kernel_arch_data.h index 4ea56efbd320f624bb13d4132345f9b81f22d4db..9b9d0d73ba1ca6d55f219b8919c8b8b6e0f23472 100644 --- a/arch/arm64/include/kernel_arch_data.h +++ b/arch/arm64/include/kernel_arch_data.h @@ -44,7 +44,6 @@ extern "C" { typedef struct __esf _esf_t; typedef struct __basic_sf _basic_sf_t; - #ifdef CONFIG_ZVM typedef struct zvm_vcpu_context zvm_vcpu_context_t; typedef struct arch_commom_regs arch_commom_regs_t; @@ -52,7 +51,6 @@ typedef struct vcpu vcpu_t; typedef struct vcpu_arch vcpu_arch_t; #endif - #ifdef __cplusplus } #endif diff --git a/arch/arm64/include/kernel_arch_func.h b/arch/arm64/include/kernel_arch_func.h index c5dec69427f1351852db15ce0a01892186980fe5..b7056f95e44e64069e37df7e5cd3ceb890a53042 100644 --- a/arch/arm64/include/kernel_arch_func.h +++ b/arch/arm64/include/kernel_arch_func.h @@ -35,7 +35,6 @@ static ALWAYS_INLINE void arch_kernel_init(void) static inline void arch_switch(void *switch_to, void **switched_from) { - #if defined(CONFIG_HAS_ARM_VHE_EXTN) && defined(CONFIG_ZVM) z_arm64_call_hvc(switch_to, switched_from); #else diff --git a/auto_build.sh b/auto_build.sh new file mode 100755 index 0000000000000000000000000000000000000000..cbca09b00221d19a609528c12b347ab0dbf90e78 --- /dev/null +++ b/auto_build.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +# operation string and platform string +OPS=$1 +PLAT=$2 + +ops_build="build" +ops_debug="debugserver" + +plat_qemu="qemu" +plat_fvp="fvp" +plat_rk3568="rk3568" + +# Build system +if [ "$OPS" = "$ops_build" ]; then + rm -rf build/ + + if [ "$PLAT" = "$plat_qemu" ]; then + west build -b qemu_cortex_max_smp samples/_zvm + elif [ "$PLAT" = "$plat_fvp" ]; then + west build -b fvp_cortex_a55 samples/_zvm \ + -DARMFVP_BL1_FILE=/path-to/bl1.bin \ + -DARMFVP_FIP_FILE=/path-to/fip.bin + elif [ "$PLAT" = "$plat_rk3568" ]; then + west build -b roc_rk3568_pc samples/_zvm + else + echo "Error arguments for this auto.sh! \n Please input command like: ./auto_build.sh build qemu. " + fi + +elif [ "$OPS" = "$ops_debug" ]; then + + if [ "$PLAT" = "$plat_qemu" ]; then + + /path-to/qemu-system-aarch64 \ + -cpu max -m 4G -nographic -machine virt,virtualization=on,gic-version=3 \ + -net none -pidfile qemu.pid -chardev stdio,id=con,mux=on \ + -serial chardev:con -mon chardev=con,mode=readline -serial pty -serial pty -smp cpus=4 \ + -device loader,file=/path-to/zephyr.bin,addr=0x48000000,force-raw=on \ + -device loader,file=/path-to/Image,addr=0x80000000,force-raw=on \ + -device loader,file=/path-to/linux-qemu-virt.dtb,addr=0x88000000 \ + -kernel /path-to/zvm_host.elf -s -S + + elif [ "$PLAT" = "$plat_fvp" ]; then + +# /opt/arm/developmentstudio-2021.2/bin/FVP_Base_Cortex-A55x4+Cortex-A75x2 \ + /path-to/FVP_Base_RevC-2xAEMvA \ + -C pctl.startup=0.0.0.* \ + -C bp.secure_memory=0 \ + -C cache_state_modelled=0 \ + -C bp.pl011_uart0.untimed_fifos=1 -C bp.pl011_uart0.unbuffered_output=1 -C bp.pl011_uart0.out_file=uart0.log \ + -C bp.pl011_uart1.out_file=uart1.log \ + -C bp.terminal_0.terminal_command=/usr/bin/gnome-terminal -C bp.terminal_0.mode=raw \ + -C bp.terminal_1.terminal_command=/usr/bin/gnome-terminal -C bp.terminal_1.mode=raw \ + -C bp.secureflashloader.fname=/path-to/bl1.bin \ + -C bp.flashloader0.fname=/path-to/fip.bin \ + -C bp.ve_sysregs.mmbSiteDefault=0 -C bp.ve_sysregs.exit_on_shutdown=1 \ + --data cluster0.cpu0=/path-to/zephyr.bin@0xa0000000 \ + --data cluster0.cpu0=/path-to/Image@0xb0000000 \ + --data cluster0.cpu0=/path-to/fvp-base-gicv3-psci.dtb@0xc0000000 \ + --cpulimit 4 \ + --iris-server + + else + echo "Error arguments for this auto.sh! \n Please input command like: ./z_auto.sh build qemu. " + fi + +fi \ No newline at end of file diff --git a/boards/arm64/fvp_cortex_a55/Kconfig b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/Kconfig similarity index 100% rename from boards/arm64/fvp_cortex_a55/Kconfig rename to boards/arm64/fvp_cortex_a55x4_a75x2_smp/Kconfig diff --git a/boards/arm64/fvp_cortex_a55/Kconfig.board b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/Kconfig.board similarity index 42% rename from boards/arm64/fvp_cortex_a55/Kconfig.board rename to boards/arm64/fvp_cortex_a55x4_a75x2_smp/Kconfig.board index fc57ccaa1766d3d1e0e88ed0e138d352ca95ab71..ae2fb5bd7b00cba4605426aabccb3e4c75472cae 100644 --- a/boards/arm64/fvp_cortex_a55/Kconfig.board +++ b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/Kconfig.board @@ -1,6 +1,6 @@ # Copyright (c) 2021 Carlo Caione # SPDX-License-Identifier: Apache-2.0 -config BOARD_FVP_CORTEX_A55 - bool "FVP Cortex A55x4 AEMv8A simulation board" - depends on SOC_FVP_CORTEX_A55 \ No newline at end of file +config BOARD_FVP_CORTEX_A55x4_A75x2_SMP + bool "FVP Cortex A55x4_A75x2_smp simulation board" + depends on SOC_FVP_BASE_A55X4_A75X2 \ No newline at end of file diff --git a/boards/arm64/fvp_cortex_a55/Kconfig.defconfig b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/Kconfig.defconfig similarity index 56% rename from boards/arm64/fvp_cortex_a55/Kconfig.defconfig rename to boards/arm64/fvp_cortex_a55x4_a75x2_smp/Kconfig.defconfig index a1a17cf80508bfa9a0f1ac8f9936e41d2b8b390c..1dfd0b5957347ef5532eb53447cd737594b3c34b 100644 --- a/boards/arm64/fvp_cortex_a55/Kconfig.defconfig +++ b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/Kconfig.defconfig @@ -1,12 +1,12 @@ # Copyright (c) 2021 Carlo Caione # SPDX-License-Identifier: Apache-2.0 -if BOARD_FVP_CORTEX_A55 +if BOARD_FVP_CORTEX_A55x4_A75x2_SMP config BUILD_OUTPUT_BIN default y config BOARD - default "fvp_cortex_a55" + default "fvp_cortex_a55x4_a75x2_smp" -endif # BOARD_FVP_CORTEX_A55 +endif # BOARD_FVP_CORTEX_A55x4_A75x2_SMP diff --git a/boards/arm64/fvp_cortex_a55/board.cmake b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/board.cmake similarity index 100% rename from boards/arm64/fvp_cortex_a55/board.cmake rename to boards/arm64/fvp_cortex_a55x4_a75x2_smp/board.cmake diff --git a/boards/arm64/fvp_cortex_a55/doc/index.rst b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/doc/index.rst similarity index 97% rename from boards/arm64/fvp_cortex_a55/doc/index.rst rename to boards/arm64/fvp_cortex_a55x4_a75x2_smp/doc/index.rst index 42ebaf310d833f94b9346b9b16462fe6fb64644d..de9559961b336e30db07a602341280d771a4d473 100644 --- a/boards/arm64/fvp_cortex_a55/doc/index.rst +++ b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/doc/index.rst @@ -1,4 +1,4 @@ -.. _fvp_cortex_a55_: +.. _fvp_cortex_a55x4_a75x2_smp: Overview ******** @@ -59,7 +59,7 @@ ARM FVP emulated environment, for example, with the :ref:`synchronization_sample .. zephyr-app-commands:: :zephyr-app: samples/synchronization :host-os: unix - :board: fvp_base_revc_2xaemv8a + :board: fvp_cortex_a55x4_a75x2_smp :goals: build This will build an image with the synchronization sample app. diff --git a/boards/arm64/fvp_cortex_a55/fvp_cortex_a55.dts b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/fvp_cortex_a55x4_a75x2_smp.dts similarity index 99% rename from boards/arm64/fvp_cortex_a55/fvp_cortex_a55.dts rename to boards/arm64/fvp_cortex_a55x4_a75x2_smp/fvp_cortex_a55x4_a75x2_smp.dts index 194ab69d98aba7f7bfca01c93d0792cb85598a4d..976acd5222761f5a41192808cf901b95ba7cc57d 100644 --- a/boards/arm64/fvp_cortex_a55/fvp_cortex_a55.dts +++ b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/fvp_cortex_a55x4_a75x2_smp.dts @@ -58,7 +58,6 @@ compatible = "arm,cortex-a55"; reg = <0x3>; }; - }; timer { diff --git a/boards/arm64/fvp_cortex_a55/fvp_cortex_a55.yaml b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/fvp_cortex_a55x4_a75x2_smp.yaml similarity index 67% rename from boards/arm64/fvp_cortex_a55/fvp_cortex_a55.yaml rename to boards/arm64/fvp_cortex_a55x4_a75x2_smp/fvp_cortex_a55x4_a75x2_smp.yaml index 760f3f116270851690cdcf5e04f01798a058c55e..525249fa1461ab0a1412e767c16e8636d86306e7 100644 --- a/boards/arm64/fvp_cortex_a55/fvp_cortex_a55.yaml +++ b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/fvp_cortex_a55x4_a75x2_smp.yaml @@ -1,8 +1,8 @@ # Copyright (c) 2021 Carlo Caione # SPDX-License-Identifier: Apache-2.0 -identifier: fvp_cortex_a55 -name: FVP Emulation FVP_Cortex_A55 +identifier: fvp_cortex_a55x4_a75x2_smp +name: FVP Emulation FVP_Cortex_A55x4_A75x2_SMP arch: arm64 type: sim toolchain: diff --git a/boards/arm64/fvp_cortex_a55/fvp_cortex_a55_defconfig b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/fvp_cortex_a55x4_a75x2_smp_defconfig similarity index 86% rename from boards/arm64/fvp_cortex_a55/fvp_cortex_a55_defconfig rename to boards/arm64/fvp_cortex_a55x4_a75x2_smp/fvp_cortex_a55x4_a75x2_smp_defconfig index 05d03e577df8ff8cd5b0bfb4352411cb40250759..b93b8616851f3b36dd6c099e11c371c9291f8712 100644 --- a/boards/arm64/fvp_cortex_a55/fvp_cortex_a55_defconfig +++ b/boards/arm64/fvp_cortex_a55x4_a75x2_smp/fvp_cortex_a55x4_a75x2_smp_defconfig @@ -1,9 +1,9 @@ # Copyright (c) 2021 Carlo Caione # SPDX-License-Identifier: Apache-2.0 -CONFIG_SOC_SERIES_FVP_AEMV8A=y -CONFIG_SOC_FVP_CORTEX_A55=y -CONFIG_BOARD_FVP_CORTEX_A55=y +CONFIG_SOC_SERIES_FVP_BASE_AARCH64=y +CONFIG_SOC_FVP_BASE_A55X4_A75X2=y +CONFIG_BOARD_FVP_CORTEX_A55x4_A75x2_SMP=y CONFIG_XIP=n diff --git a/boards/arm64/qemu_cortex_max/Kconfig.board b/boards/arm64/qemu_cortex_max/Kconfig.board index 4c813ea5d0eb678b03d6c2272059dd639d839d71..0ab99b5897b7e2eccb4125a4876bad5893f05785 100644 --- a/boards/arm64/qemu_cortex_max/Kconfig.board +++ b/boards/arm64/qemu_cortex_max/Kconfig.board @@ -1,5 +1,5 @@ # Copyright (c) 2019 Carlo Caione -# Copyright (c) 2022 xcl +# Copyright 2021-2022 HNU # SPDX-License-Identifier: Apache-2.0 config BOARD_QEMU_CORTEX_MAX diff --git a/boards/arm64/qemu_cortex_max/Kconfig.defconfig b/boards/arm64/qemu_cortex_max/Kconfig.defconfig index fc5f94795bb1f7c3ec32cfda05922697a07c8539..45503da4977494fd0334f2e5e437d7b97865b8d4 100644 --- a/boards/arm64/qemu_cortex_max/Kconfig.defconfig +++ b/boards/arm64/qemu_cortex_max/Kconfig.defconfig @@ -1,5 +1,5 @@ # Copyright (c) 2019 Carlo Caione -# Copyright (c) 2022 xcl +# Copyright 2021-2022 HNU # SPDX-License-Identifier: Apache-2.0 if BOARD_QEMU_CORTEX_MAX diff --git a/boards/arm64/qemu_cortex_max/board.cmake b/boards/arm64/qemu_cortex_max/board.cmake index 68f32127adff2cf70dedae5898a3fc1e17152ee0..1cbd8280a4b72b4bc08660b21362d181a0bce405 100644 --- a/boards/arm64/qemu_cortex_max/board.cmake +++ b/boards/arm64/qemu_cortex_max/board.cmake @@ -1,5 +1,5 @@ # Copyright (c) 2019 Carlo Caione -# Copyright (c) 2022 xcl +# Copyright 2021-2022 HNU # SPDX-License-Identifier: Apache-2.0 set(SUPPORTED_EMU_PLATFORMS qemu) diff --git a/boards/arm64/qemu_cortex_max/qemu_cortex_max_smp_defconfig b/boards/arm64/qemu_cortex_max/qemu_cortex_max_smp_defconfig index c5572d1b08882d989f81aeb6d914ff3b765ee02c..12b2448199a23b194aac134ae638eb5c0f5ebe7d 100644 --- a/boards/arm64/qemu_cortex_max/qemu_cortex_max_smp_defconfig +++ b/boards/arm64/qemu_cortex_max/qemu_cortex_max_smp_defconfig @@ -1,4 +1,4 @@ -# Copyright (c) 2022 xcl +# Copyright 2021-2022 HNU # SPDX-License-Identifier: Apache-2.0 CONFIG_SOC_QEMU_CORTEX_MAX=y diff --git a/drivers/interrupt_controller/intc_gicv3.c b/drivers/interrupt_controller/intc_gicv3.c index 2fc40af712d6f2aae778a523d80cdfcfa9b675fe..cb61c272c1a67f1f153a0ad5875ed5629bba2712 100644 --- a/drivers/interrupt_controller/intc_gicv3.c +++ b/drivers/interrupt_controller/intc_gicv3.c @@ -164,25 +164,19 @@ void arm_gic_irq_enable(unsigned int intid) */ /* Default irq is route to cpu0, so we need to enable on cpu1 */ if (GIC_IS_SPI(intid)){ -#ifdef CONFIG_SOC_SERIES_FVP_AEMV8A +#ifdef CONFIG_SOC_SERIES_FVP_BASE_AARCH64 sys_write64(MPIDR_TO_CORE(GET_MPIDR()), IROUTER(GET_DIST_BASE(intid), intid)); if(intid == 0x26){ -// sys_write64(0x80000000, IROUTER(GET_DIST_BASE(intid), intid)); sys_write64(0x01 << 8, IROUTER(GET_DIST_BASE(intid), intid)); }else if(intid == 0x27){ -// sys_write64(0x80000000, IROUTER(GET_DIST_BASE(intid), intid)); sys_write64(0x02 << 8, IROUTER(GET_DIST_BASE(intid), intid)); } #elif CONFIG_SOC_QEMU_CORTEX_MAX -// sys_write64(MPIDR_TO_CORE(GET_MPIDR()), -// IROUTER(GET_DIST_BASE(intid), intid)); if(intid == 0x2a){ -// sys_write64(0x80000000, IROUTER(GET_DIST_BASE(intid), intid)); sys_write64(0x01, IROUTER(GET_DIST_BASE(intid), intid)); }else if(intid == 0x2b){ -// sys_write64(0x80000000, IROUTER(GET_DIST_BASE(intid), intid)); sys_write64(0x02, IROUTER(GET_DIST_BASE(intid), intid)); } #else @@ -277,9 +271,9 @@ void gic_raise_sgi(unsigned int sgi_id, uint64_t target_aff, SGIR_IRM_TO_AFF, target_list); __DSB(); - /* In this stage, we call all the cpu except itself - @TODO try to figure out why the affx cannot work well , I guess it - may need to find the differece affx mechanism between qemu and fvp*/ + /* In this stage, we call all the cpu except itself @TODO try to figure out why the + affx cannot work well , I guess it may need to find the differece affx mechanism + between qemu and fvp*/ sgi_val |= BIT(40); write_sysreg(sgi_val, ICC_SGI1R); __ISB(); diff --git a/drivers/interrupt_controller/intc_gicv3_priv.h b/drivers/interrupt_controller/intc_gicv3_priv.h index 269f5656ecf05055f4f877ff6dc99e1445243840..4c03374e0baa6583f696ef02dbe64fa60ba37310 100644 --- a/drivers/interrupt_controller/intc_gicv3_priv.h +++ b/drivers/interrupt_controller/intc_gicv3_priv.h @@ -98,8 +98,6 @@ #define GIC_DIST_IROUTER 0x6000 #define IROUTER(base, n) (base + GIC_DIST_IROUTER + (n) * 8) -#ifdef CONFIG_ZVM - #define GICR_SGI_CTLR (0x0000) #define GICR_SGI_ISENABLER (0x0100) #define GICR_SGI_ICENABLER (0x0180) @@ -107,8 +105,6 @@ #define GICR_SGI_ICPENDING (0x0280) #define GICR_SGI_PIDR2 (0xFFE8) -#endif - /* * ITS registers, offsets from ITS_base */ diff --git a/include/_zvm/arm/asm.h b/include/_zvm/arm/asm.h index 8610ba165635695f3350478b9dad7f15cb51443c..39a624e5109f78fccfb1ae09425af6daeb4a6f74 100644 --- a/include/_zvm/arm/asm.h +++ b/include/_zvm/arm/asm.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/arm/cpu.h b/include/_zvm/arm/cpu.h index 3fdda4020581650bcd0e3d5e38d5913349797ae2..d234ef1162ac09db338a6a4a8936bfb4510e0fc6 100644 --- a/include/_zvm/arm/cpu.h +++ b/include/_zvm/arm/cpu.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/arm/mm.h b/include/_zvm/arm/mm.h index 5541d50dce314e9f02e843fe9183146b35c07f60..d5b0859131482c26ad87757c962106b7656bc789 100644 --- a/include/_zvm/arm/mm.h +++ b/include/_zvm/arm/mm.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/arm/switch.h b/include/_zvm/arm/switch.h index 298485d4cbcbc7e08ccd27899833ff8c625f2334..48fa27c79ca8641cdae2807b5d50629cf5e6cea5 100644 --- a/include/_zvm/arm/switch.h +++ b/include/_zvm/arm/switch.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/arm/sysreg.h b/include/_zvm/arm/sysreg.h index fa2067aed8d2d1df3e7558571bf95fde45efec54..c2503bf300e2f8940190ce95f1044a92a41e2f8a 100644 --- a/include/_zvm/arm/sysreg.h +++ b/include/_zvm/arm/sysreg.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/arm/trap_handler.h b/include/_zvm/arm/trap_handler.h index 0d3ba8a27dd50d2bcfccea315682a12b37a73310..910cfec2998e49add0b510b517f1050ab46693a3 100644 --- a/include/_zvm/arm/trap_handler.h +++ b/include/_zvm/arm/trap_handler.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/arm/vgic_common.h b/include/_zvm/arm/vgic_common.h index 7e68f80000db205a7cb9c501ab10d131ebad7b67..ffb3b45cf60578a5ecbf514db58a946105349efd 100644 --- a/include/_zvm/arm/vgic_common.h +++ b/include/_zvm/arm/vgic_common.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/arm/vgic_v3.h b/include/_zvm/arm/vgic_v3.h index 16fc95745c0bbf8025d62885fc7cbf7474fa8362..87d2b08d78dfe1495804db39022cb5449eaf321a 100644 --- a/include/_zvm/arm/vgic_v3.h +++ b/include/_zvm/arm/vgic_v3.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/arm/vtimer.h b/include/_zvm/arm/vtimer.h index fa25718dff600254b9bbb19307d34be2c7518d3a..ae96e21afe416bb402d26982ad9ca288898eef88 100644 --- a/include/_zvm/arm/vtimer.h +++ b/include/_zvm/arm/vtimer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/os/os.h b/include/_zvm/os/os.h index c3854f04e0fb688c00cf9f782cfae6c4a959df71..c5486df3a77abd8ca8616035db1cd1930b00eb19 100644 --- a/include/_zvm/os/os.h +++ b/include/_zvm/os/os.h @@ -1,6 +1,5 @@ /* - * Copyright (c) 2021 Huang Jiajia (Huangjj2020@hnu.edu.cn) - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ @@ -22,7 +21,7 @@ struct getopt_state; #define VM_DEFAULT_VCPU_NUM (1) -#ifdef CONFIG_SOC_FVP_CORTEX_A55 +#ifdef CONFIG_SOC_FVP_BASE_A55X4_A75X2 #define ZEPHYR_VMMM_STRING memory_a0000000 #define LINUX_VMMM_STRING memory_b0000000 @@ -32,7 +31,7 @@ struct getopt_state; #define ZEPHYR_VMMM_STRING memory_48000000 #define LINUX_VMMM_STRING memory_80000000 -#endif /* CONFIG_SOC_FVP_CORTEX_A55 */ +#endif /* CONFIG_SOC_FVP_BASE_A55X4_A75X2 */ /* For clear warning for unknow reason */ diff --git a/include/_zvm/os/os_linux.h b/include/_zvm/os/os_linux.h index 31182ca5d2d81a0dd277c0cb8b9f5a2d7d9d8b3b..584aa77404048bc620c19dd6519f15d7114313ec 100644 --- a/include/_zvm/os/os_linux.h +++ b/include/_zvm/os/os_linux.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/os/os_zephyr.h b/include/_zvm/os/os_zephyr.h index f4e83471671a3e41ccfa12e78fa7ec0c8f55ddd3..5bf343fa5d3a03251dc4c5047961e9d258dcc7c4 100644 --- a/include/_zvm/os/os_zephyr.h +++ b/include/_zvm/os/os_zephyr.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/tools/elfloader.h b/include/_zvm/tools/elfloader.h index f6f9967f35248b45bb7d1fce26ab4bc45f7c7c2e..1ef0f5c0a9313a5d1be9a4adc2a40f43818b7ad4 100644 --- a/include/_zvm/tools/elfloader.h +++ b/include/_zvm/tools/elfloader.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/tools/latency_measure.h b/include/_zvm/tools/latency_measure.h index 42a91440d5f53244987a4ba0810b61a86a652165..8f3c05c6515fd74e949d797794e146e0c3a2dfe9 100644 --- a/include/_zvm/tools/latency_measure.h +++ b/include/_zvm/tools/latency_measure.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/vdev/uart.h b/include/_zvm/vdev/uart.h index a04bc59460fde06a85a393557d9770d71a09e016..7bc5d842f09cf9dfefe456e0022151296ae402f8 100644 --- a/include/_zvm/vdev/uart.h +++ b/include/_zvm/vdev/uart.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ @@ -20,7 +20,7 @@ #define PL011_UART0_IRQ DT_IRQ_BY_IDX(DT_INST(0, arm_pl011), 0, irq) #define PL011_UART0_NAME DT_NODE_FULL_NAME(DT_INST(0, arm_pl011)) -#ifdef CONFIG_SOC_FVP_CORTEX_A55 +#ifdef CONFIG_SOC_FVP_BASE_A55X4_A75X2 #define PL011_UART1_NAME DT_NODE_FULL_NAME(DT_INST(1, arm_pl011)) #define PL011_UART1_BASE DT_REG_ADDR_BY_IDX(DT_INST(1, arm_pl011), 0) @@ -57,7 +57,7 @@ #define DEFAULT_VM_UART_IRQ PL011_UART0_IRQ -#endif /* CONFIG_SOC_FVP_CORTEX_A55 */ +#endif /* CONFIG_SOC_FVP_BASE_A55X4_A75X2 */ #ifdef CONFIG_SOC_QEMU_CORTEX_MAX diff --git a/include/_zvm/vm.h b/include/_zvm/vm.h index 1ad9cbba1d863729de6f031f10336708175396a1..a47dd3d251008668398dbd6e97bbd089eb0d428f 100644 --- a/include/_zvm/vm.h +++ b/include/_zvm/vm.h @@ -1,6 +1,5 @@ /* - * Copyright (c) 2021 Huang Jiajia(Huangjj2020@hnu.edu.cn) - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ @@ -54,7 +53,7 @@ #define VCPU_THREAD(thread) ((struct k_thread *)thread->vcpu_struct ? true: false) -#define _current_vcpu \_current->vcpu_struct +#define _current_vcpu _current->vcpu_struct #define get_current_vcpu_id() \ ({ \ diff --git a/include/_zvm/vm_console.h b/include/_zvm/vm_console.h index 6b5325b700647fb56e3a444eedac9d7af5432ef1..24b17e1fc781f3c4e1e26f02504d23489e4c7bd8 100644 --- a/include/_zvm/vm_console.h +++ b/include/_zvm/vm_console.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/vm_cpu.h b/include/_zvm/vm_cpu.h index 0757ab49b12f519874b453414b98b2f81699b0a2..7638c29498b5cf13ee30f3627f453b76efe19a91 100644 --- a/include/_zvm/vm_cpu.h +++ b/include/_zvm/vm_cpu.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/vm_dev.h b/include/_zvm/vm_dev.h index 2c77aede16f1326f3494a0e25dd397d481a3a4bf..39ddf807ad9669afd2979f42cd69d2f16c1d2b0f 100644 --- a/include/_zvm/vm_dev.h +++ b/include/_zvm/vm_dev.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/vm_irq.h b/include/_zvm/vm_irq.h index 733f015933340c961a1288e27e6f41652882a13a..1dddbc0d2fc335df1917d6682964452de9b165ac 100644 --- a/include/_zvm/vm_irq.h +++ b/include/_zvm/vm_irq.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/vm_manager.h b/include/_zvm/vm_manager.h index 779fc1157841ea470efd1236e8ee9d276b9b721b..eba42720221c2c1aa7378e1683577d2e228230c5 100644 --- a/include/_zvm/vm_manager.h +++ b/include/_zvm/vm_manager.h @@ -1,6 +1,5 @@ /* - * Copyright (c) 2021 Huang Jiajia(Huangjj2020@hnu.edu.cn) - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/vm_mm.h b/include/_zvm/vm_mm.h index 979144b2f736a72679ff34fdfb9994f8ab1ae2e0..2c00cb6f49f5b4ea58fc638e0064ffb9e9b613f2 100644 --- a/include/_zvm/vm_mm.h +++ b/include/_zvm/vm_mm.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/_zvm/zvm.h b/include/_zvm/zvm.h index 3df073f8a221b0c5a781237eab53c7f6e8225fac..9469f014de0bcf31e185b6cfb7da16503475a014 100644 --- a/include/_zvm/zvm.h +++ b/include/_zvm/zvm.h @@ -1,6 +1,5 @@ /* - * Copyright (c) 2021 Huang Jiajia(Huangjj2020@hnu.edu.cn) - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/arch/arm64/cpu.h b/include/arch/arm64/cpu.h index 620523714d68d73ce9bcf1391563d89b26a830f0..86d687d4fd95b4fa9f6435ce22fed8456a27958c 100644 --- a/include/arch/arm64/cpu.h +++ b/include/arch/arm64/cpu.h @@ -84,7 +84,7 @@ #define GET_MPIDR() read_sysreg(mpidr_el1) -#ifdef CONFIG_SOC_FVP_CORTEX_A55 +#ifdef CONFIG_SOC_FVP_BASE_A55X4_A75X2 #define MPIDR_TO_CORE(mpidr) MPIDR_AFFLVL(mpidr, 1) #else #define MPIDR_TO_CORE(mpidr) MPIDR_AFFLVL(mpidr, 0) diff --git a/include/arch/arm64/debug_uart.h b/include/arch/arm64/debug_uart.h index 28ad36258d40d3d5f5aa6144297be3866ddd7c36..6594c3224c98172ebfee0b5251e69db745daf6a3 100644 --- a/include/arch/arm64/debug_uart.h +++ b/include/arch/arm64/debug_uart.h @@ -18,6 +18,8 @@ extern "C" { #ifndef _ASMLANGUAGE +#ifdef CONFIG_ZVM_EARLYPRINT_MSG + int save_boot_params(void); int tpl_main(void); @@ -28,7 +30,9 @@ void asm_print_debug(unsigned long long reg, unsigned long long reg2); int debug_printf(const char *fmt, ...); -#endif +#endif + +#endif /* _ASMLANGUAGE */ #ifdef __cplusplus } diff --git a/include/arch/arm64/lib_helpers.h b/include/arch/arm64/lib_helpers.h index 17dcd508c0db1b2707e84d15d8583cb83d056912..6384bafa2b3029f65295af008a69a81e64cfc317 100644 --- a/include/arch/arm64/lib_helpers.h +++ b/include/arch/arm64/lib_helpers.h @@ -94,29 +94,6 @@ MAKE_REG_HELPER(vpidr_el2); MAKE_REG_HELPER(vttbr_el2); MAKE_REG_HELPER(vtcr_el2); -/* Add some VHE related registers */ -/* - #define CONFIG_VHE - #if defined(CONFIG_VHE) - MAKE_REG_HELPER(afsr0_el12); - MAKE_REG_HELPER(afsr1_el12); - MAKE_REG_HELPER(amair_el12); - MAKE_REG_HELPER(cpacr_el12); - MAKE_REG_HELPER(contextidr_el12); - MAKE_REG_HELPER(cntkctl_el12); - MAKE_REG_HELPER(esr_el12); - MAKE_REG_HELPER(elr_el12); - MAKE_REG_HELPER(far_el12); - MAKE_REG_HELPER(mair_el12); - MAKE_REG_HELPER(spsr_el12); - //MAKE_REG_HELPER(sctlr_el12); - MAKE_REG_HELPER(tcr_el12); - MAKE_REG_HELPER(ttbr0_el12); - MAKE_REG_HELPER(ttbr1_el12); - MAKE_REG_HELPER(vbar_el12); - #endif -*/ - MAKE_REG_HELPER_EL123(actlr) MAKE_REG_HELPER_EL123(cpacr) MAKE_REG_HELPER_EL123(cptr) @@ -200,7 +177,6 @@ MAKE_REG_HELPER(cntp_cval_el02); MAKE_REG_HELPER(cntv_tval_el02); MAKE_REG_HELPER(cntv_ctl_el02); MAKE_REG_HELPER(cntv_cval_el02); - #endif static ALWAYS_INLINE void enable_debug_exceptions(void) diff --git a/include/arch/arm64/scripts/linker.ld b/include/arch/arm64/scripts/linker.ld index 00bb4f841ca75c6f8b913b6d2fe411623eede0ab..82a3a73b2d0ad83dc98002d15eeb9c8cda57ddb9 100644 --- a/include/arch/arm64/scripts/linker.ld +++ b/include/arch/arm64/scripts/linker.ld @@ -126,7 +126,6 @@ SECTIONS KEEP(*(.hyp_code)) KEEP(*(".hyp_code.*")) #endif - /* * These are here according to 'arm-zephyr-elf-ld --verbose', * after .gnu.linkonce.t.* diff --git a/include/arch/arm64/timer.h b/include/arch/arm64/timer.h index 61a7367a0bc74eb870192e29b2636d380d3f1f19..18026981885d330028bd4f723e8f3dd9b57d7bc4 100644 --- a/include/arch/arm64/timer.h +++ b/include/arch/arm64/timer.h @@ -17,13 +17,10 @@ extern "C" { #endif #ifndef CONFIG_ZVM - #define ARM_ARCH_TIMER_IRQ ARM_TIMER_VIRTUAL_IRQ #define ARM_ARCH_TIMER_PRIO ARM_TIMER_VIRTUAL_PRIO #define ARM_ARCH_TIMER_FLAGS ARM_TIMER_VIRTUAL_FLAGS - #else - #ifdef CONFIG_HAS_ARM_VHE_EXTN #define ARM_ARCH_TIMER_IRQ ARM_TIMER_HYP_IRQ #define ARM_ARCH_TIMER_PRIO ARM_TIMER_HYP_PRIO @@ -33,17 +30,13 @@ extern "C" { #define ARM_ARCH_TIMER_PRIO ARM_TIMER_NON_SECURE_PRIO #define ARM_ARCH_TIMER_FLAGS ARM_TIMER_NON_SECURE_FLAGS #endif - #endif // !CONFIG_ZVM - static ALWAYS_INLINE void arm_arch_timer_init(void) { } - #ifndef CONFIG_ZVM - static ALWAYS_INLINE void arm_arch_timer_set_compare(uint64_t val) { write_cntv_cval_el0(val); @@ -85,7 +78,6 @@ static ALWAYS_INLINE uint64_t arm_arch_timer_count(void) } #else - static ALWAYS_INLINE void arm_arch_timer_set_compare(uint64_t val) { write_cntp_cval_el0(val); diff --git a/include/dt-bindings/interrupt-controller/arm-gic.h b/include/dt-bindings/interrupt-controller/arm-gic.h index 9ff217ec6b35b9ebebb88ea2f9c6bb963afd18f8..7f7c2bedab91c2ad02a5e1ae74e9ca7c7ddfbcca 100644 --- a/include/dt-bindings/interrupt-controller/arm-gic.h +++ b/include/dt-bindings/interrupt-controller/arm-gic.h @@ -26,7 +26,6 @@ #define IRQ_DEFAULT_PRIORITY 0xa0 - /* below code may have copyright risk * Interrupt specifier cell 2. * The flags in irq.h are valid, plus those below. @@ -34,5 +33,4 @@ #define GIC_CPU_MASK_RAW(x) ((x) << 8) #define GIC_CPU_MASK_SIMPLE(num) GIC_CPU_MASK_RAW((1 << (num)) - 1) - #endif diff --git a/include/kernel.h b/include/kernel.h index 58575e38575c3128c3bd35495f3e86adf2b24af9..e11ef09d7f9b3e1683338638f22cd9be7fa3e1ec 100644 --- a/include/kernel.h +++ b/include/kernel.h @@ -230,9 +230,7 @@ extern void k_thread_foreach_unlocked( * This option just used on zvm module */ #define K_VCPU (BIT(6)) - #endif - /* end - thread options */ #if !defined(_ASMLANGUAGE) diff --git a/include/kernel/sched_priq.h b/include/kernel/sched_priq.h index b594e5b275d4c8a83762f079bc58871e939e51e7..f995db1129c5e836fac5a09fbb37d9248da54a79 100644 --- a/include/kernel/sched_priq.h +++ b/include/kernel/sched_priq.h @@ -58,9 +58,7 @@ struct _priq_mq { struct k_thread *z_priq_mq_best(struct _priq_mq *pq); #ifdef CONFIG_ZVM - void z_vm_runq_add(struct k_thread *thread); - #endif /* CONFIG_ZVM */ #endif /* ZEPHYR_INCLUDE_SCHED_PRIQ_H_ */ diff --git a/include/kernel_structs.h b/include/kernel_structs.h index f3bf7696fdfa455d361fd2fb4ae4033820a97c4e..51351fa70a3cb8a67971aeda413d14b80a8810e2 100644 --- a/include/kernel_structs.h +++ b/include/kernel_structs.h @@ -68,7 +68,6 @@ extern "C" { /* Thread that for judging that whether vcpu need     to switch context */ #define _THREAD_VCPU_NO_SWITCH (BIT(6)) - #endif /* end - states */ diff --git a/kernel/include/kswap.h b/kernel/include/kswap.h index 931ef5fa606c4a48786087eee2f5fb1b6e5b8da7..3d6c5130ff929e08609d1b3e86ba79aaf066adea 100644 --- a/kernel/include/kswap.h +++ b/kernel/include/kswap.h @@ -137,13 +137,11 @@ static ALWAYS_INLINE unsigned int do_swap(unsigned int key, */ z_requeue_current(old_thread); #endif - #ifdef CONFIG_ZVM if(vcpu_need_switch(new_thread, old_thread)){ do_vcpu_swap(new_thread, old_thread); } #endif - void *newsh = new_thread->switch_handle; if (IS_ENABLED(CONFIG_SMP)) { diff --git a/kernel/sched.c b/kernel/sched.c index d48e4065ac80742db478253ba1540cd86351a999..b485fc71bde9e350efd6c1b04bf0297a40fbff3a 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -1467,11 +1467,9 @@ void z_sched_ipi(void) #ifdef CONFIG_TRACE_SCHED_IPI z_trace_sched_ipi(); #endif - #ifdef CONFIG_ZVM zvm_ipi_handler(); #endif - } #endif diff --git a/samples/_zvm/CMakeLists.txt b/samples/_zvm/CMakeLists.txt index 94050b7d86a68760391a965b3251560b8c29188b..b86ab63ce5f24cdbf981974f8144798930b7321a 100644 --- a/samples/_zvm/CMakeLists.txt +++ b/samples/_zvm/CMakeLists.txt @@ -1,3 +1,5 @@ +# Copyright 2021-2022 HNU + # SPDX-License-Identifier: Apache-2.0 cmake_minimum_required(VERSION 3.20.0) diff --git a/samples/_zvm/boards/fvp_cortex_a55.overlay b/samples/_zvm/boards/fvp_cortex_a55.overlay index 151d6a1320991e4db06f3b4fee23ff7576ad7ba6..35016b2632bf48bdabd2e956c98bec54b5c7d135 100644 --- a/samples/_zvm/boards/fvp_cortex_a55.overlay +++ b/samples/_zvm/boards/fvp_cortex_a55.overlay @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ @@ -56,7 +56,7 @@ #address-cells = <2>; #size-cells = <2>; compatible = "linux-vm"; - dtb_address = <0x7f000000>; + dtb_address = <0xc0000000>; dtb_size = ; memory@b0000000 { diff --git a/zvm_doc/5--Developing Help.md b/samples/_zvm/boards/fvp_cortex_a55x4_a75x2_smp.conf similarity index 100% rename from zvm_doc/5--Developing Help.md rename to samples/_zvm/boards/fvp_cortex_a55x4_a75x2_smp.conf diff --git a/samples/_zvm/boards/fvp_cortex_a55x4_a75x2_smp.overlay b/samples/_zvm/boards/fvp_cortex_a55x4_a75x2_smp.overlay new file mode 100644 index 0000000000000000000000000000000000000000..11d394cda82fae235c60fe6cfcb5e6aee4772d9c --- /dev/null +++ b/samples/_zvm/boards/fvp_cortex_a55x4_a75x2_smp.overlay @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2022 xcl + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/{ + soc { + + /* VM's uart0 here! */ + uart1: uart@1c0a0000 { + + compatible = "arm,pl011"; + reg = <0x0 0x1c0a0000 0x0 0x1000>; + status = "disabled"; + interrupts = ; // + interrupt-names = "irq_0"; + label = "UART_1"; + clocks = <&uartclk>; + }; + + /* VM's uart1 here! */ + uart2: uart@1c0b0000 { + + compatible = "arm,pl011"; + reg = <0x0 0x1c0b0000 0x0 0x1000>; + status = "disabled"; + interrupts = ; // + interrupt-names = "irq_0"; + label = "UART_2"; + clocks = <&uartclk>; + }; + }; + + /*TODO: The device that used by vm will be added below. */ + vm_zephyr_space { + #address-cells = <2>; + #size-cells = <2>; + compatible = "zephyr-vm"; + dtb_address = <0xa9000000>; + dtb_size = ; + + memory@a0000000 { + compatible = "vm-dram"; + + memmap_type = "dirct"; + address_type = "normal_memory"; + vm_reg = <0x88000000>; + reg = <0x0 0xa0000000 0x0 DT_SIZE_M(2)>; /* zephyr vm memory size (2M) */ + label = "VM0_MEM"; + }; + + }; + + vm_linux_space { + #address-cells = <2>; + #size-cells = <2>; + compatible = "linux-vm"; + dtb_address = <0xc0000000>; + dtb_size = ; + + memory@b0000000 { + compatible = "vm-dram"; + + memmap_type = "dirct"; + address_type = "normal_memory"; + vm_reg = <0x80000000>; + reg = <0x0 0xb0000000 0x0 DT_SIZE_M(1024)>; /* linux vm memory size (1G)*/ + label = "VM1_MEM"; + }; + }; + +}; + +&uart1 { + status = "okay"; + current-speed = <115200>; +}; + +&uart2 { + status = "okay"; + current-speed = <115200>; +}; diff --git a/samples/_zvm/boards/qemu_cortex_max_smp.overlay b/samples/_zvm/boards/qemu_cortex_max_smp.overlay index e956985bfc304e5da6d4b4b3ff7da401ba4ab7d2..380a5cba72a072b61a1ba29486fc3198dedc3ea0 100644 --- a/samples/_zvm/boards/qemu_cortex_max_smp.overlay +++ b/samples/_zvm/boards/qemu_cortex_max_smp.overlay @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/samples/_zvm/prj.conf b/samples/_zvm/prj.conf index d6cd4ff8d95959e1e1a832c218b9d9f7388f1f5a..0f998ce8b36afb15c3792bce981af96af0f35239 100644 --- a/samples/_zvm/prj.conf +++ b/samples/_zvm/prj.conf @@ -1,9 +1,9 @@ # Project configuration -# Copyright (c) 2021 Huang Jiajia -# Copyright (c) 2022 xcl +# Copyright 2021-2022 HNU # ZVM CONFIG_ZVM=y +CONFIG_NO_OPTIMIZATIONS=y # Shell CONFIG_SHELL=y diff --git a/samples/_zvm/src/main.c b/samples/_zvm/src/main.c index 193d44f1ab5464c77de9924eb05d3c41c6f587d2..a1b5600bff89b82217d6ec3e805e582a18e91528 100644 --- a/samples/_zvm/src/main.c +++ b/samples/_zvm/src/main.c @@ -1,6 +1,5 @@ /* - * Copyright (c) 2021 Huang Jiajia(Huangjj2020@hnu.edu.cn) - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/samples/synchronization/prj.conf b/samples/synchronization/prj.conf index 98ae159a4761a2d836cfc2467911721c8ddf7301..e6aa9b47dd6142f8059f57014d3eb1e082098006 100644 --- a/samples/synchronization/prj.conf +++ b/samples/synchronization/prj.conf @@ -3,5 +3,4 @@ CONFIG_STDOUT_CONSOLE=y CONFIG_THREAD_NAME=y CONFIG_SCHED_CPU_MASK=y - CONFIG_ARMV8_A_NS=y \ No newline at end of file diff --git a/soc/arm64/arm/fvp_aemv8a/CMakeLists.txt b/soc/arm64/arm/fvp_aemv8a/CMakeLists.txt index 54d06ad26a7d0c78a1859a9d2112b2d57e37dc17..3fd2a947f51171e5ffa000b16d0c196e4c3a99cd 100644 --- a/soc/arm64/arm/fvp_aemv8a/CMakeLists.txt +++ b/soc/arm64/arm/fvp_aemv8a/CMakeLists.txt @@ -6,5 +6,5 @@ zephyr_library_sources_ifdef(CONFIG_ARM_MMU mmu_regions.c) zephyr_library_sources_ifdef(CONFIG_SOC_FVP_BASE_REVC_2XAEMV8A plat_core.c) -zephyr_library_sources_ifdef(CONFIG_SOC_FVP_CORTEX_A55 plat_core.c) -zephyr_library_sources_ifdef(CONFIG_SOC_FVP_CORTEX_A55 soc.c) \ No newline at end of file +zephyr_library_sources_ifdef(CONFIG_SOC_FVP_BASE_A55X4_A75X2 plat_core.c) +zephyr_library_sources_ifdef(CONFIG_SOC_FVP_BASE_A55X4_A75X2 soc.c) \ No newline at end of file diff --git a/soc/arm64/arm/fvp_aemv8a/Kconfig.defconfig.series b/soc/arm64/arm/fvp_aemv8a/Kconfig.defconfig.series index 437040d80a04341b9e88a82f344fb34456f1ce23..00eb592da2ac74015d4184d7e8f2d994e45c667e 100644 --- a/soc/arm64/arm/fvp_aemv8a/Kconfig.defconfig.series +++ b/soc/arm64/arm/fvp_aemv8a/Kconfig.defconfig.series @@ -29,21 +29,4 @@ config FLASH_BASE_ADDRESS endif # SOC_FVP_BASE_REVC_2XAEMV8A -if SOC_FVP_CORTEX_A55 - -config SOC - default "fvp_cortex_a55" - -# Workaround for not being able to have commas in macro arguments -DT_CHOSEN_Z_FLASH := zephyr,flash - -config FLASH_SIZE - default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_FLASH),0,K) - -config FLASH_BASE_ADDRESS - default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH)) - -endif # SOC_FVP_CORTEX_A55 - - endif # SOC_SERIES_FVP_AEMV8A diff --git a/soc/arm64/arm/fvp_aemv8a/mmu_regions.c b/soc/arm64/arm/fvp_aemv8a/mmu_regions.c index a40ed8ae09c08325e3313316744787bc944e25e2..cc92f83bf5b86a7b7dafcbc69314b46d9e1027e4 100644 --- a/soc/arm64/arm/fvp_aemv8a/mmu_regions.c +++ b/soc/arm64/arm/fvp_aemv8a/mmu_regions.c @@ -23,28 +23,6 @@ static const struct arm_mmu_region mmu_regions[] = { DT_REG_SIZE(DT_INST(0, arm_pl011)), MT_DEVICE_nGnRnE | MT_P_RW_U_NA | MT_DEFAULT_SECURE_STATE), -#if defined(CONFIG_SOC_FVP_CORTEX_A55) && defined(CONFIG_ZVM) - MMU_REGION_FLAT_ENTRY("GIC", - DT_REG_ADDR_BY_IDX(DT_INST(0, arm_gic), 2), - DT_REG_SIZE_BY_IDX(DT_INST(0, arm_gic), 2), - MT_DEVICE_nGnRnE | MT_P_RW_U_NA | MT_DEFAULT_SECURE_STATE), - - MMU_REGION_FLAT_ENTRY("GIC", - DT_REG_ADDR_BY_IDX(DT_INST(0, arm_gic), 3), - DT_REG_SIZE_BY_IDX(DT_INST(0, arm_gic), 3), - MT_DEVICE_nGnRnE | MT_P_RW_U_NA | MT_DEFAULT_SECURE_STATE), - - MMU_REGION_FLAT_ENTRY("UART1", - DT_REG_ADDR(DT_INST(1, arm_pl011)), - DT_REG_SIZE(DT_INST(1, arm_pl011)), - MT_DEVICE_nGnRnE | MT_P_RW_U_NA | MT_DEFAULT_SECURE_STATE), - - MMU_REGION_FLAT_ENTRY("UART2", - DT_REG_ADDR(DT_INST(2, arm_pl011)), - DT_REG_SIZE(DT_INST(2, arm_pl011)), - MT_DEVICE_nGnRnE | MT_P_RW_U_NA | MT_DEFAULT_SECURE_STATE), -#endif - }; const struct arm_mmu_config mmu_config = { diff --git a/soc/arm64/arm/fvp_base_aarch64/CMakeLists.txt b/soc/arm64/arm/fvp_base_aarch64/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..ec08e1d5c967f8d8cfed4bc777f64cb78d22ac63 --- /dev/null +++ b/soc/arm64/arm/fvp_base_aarch64/CMakeLists.txt @@ -0,0 +1,7 @@ +# Copyright (c) 2019 Carlo Caione +# SPDX-License-Identifier: Apache-2.0 + +zephyr_library_sources_ifdef(CONFIG_ARM_MMU mmu_regions.c) + +zephyr_library_sources_ifdef(CONFIG_SOC_FVP_BASE_A55X4_A75X2 plat_core.c) +zephyr_library_sources_ifdef(CONFIG_SOC_FVP_BASE_A55X4_A75X2 soc.c) \ No newline at end of file diff --git a/soc/arm64/arm/fvp_base_aarch64/Kconfig.defconfig.series b/soc/arm64/arm/fvp_base_aarch64/Kconfig.defconfig.series new file mode 100644 index 0000000000000000000000000000000000000000..727dad2763ce465ac2e3e703518ac682f786eb40 --- /dev/null +++ b/soc/arm64/arm/fvp_base_aarch64/Kconfig.defconfig.series @@ -0,0 +1,32 @@ +# Copyright (c) 2021 Carlo Caione +# SPDX-License-Identifier: Apache-2.0 + +if SOC_SERIES_FVP_BASE_AARCH64 + +config SOC_SERIES + default "fvp_base_aarch64" + +config SYS_CLOCK_HW_CYCLES_PER_SEC + default 100000000 + +config NUM_IRQS + default 16384 if GIC_V3_ITS + default 128 if !GIC_V3_ITS + +if SOC_FVP_BASE_A55X4_A75X2 + +config SOC + default "fvp_base_a55x4_a75x2" + +# Workaround for not being able to have commas in macro arguments +DT_CHOSEN_Z_FLASH := zephyr,flash + +config FLASH_SIZE + default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_FLASH),0,K) + +config FLASH_BASE_ADDRESS + default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH)) + +endif # SOC_FVP_BASE_A55X4_A75X2 + +endif # SOC_SERIES_FVP_BASE_AARCH64 diff --git a/soc/arm64/arm/fvp_base_aarch64/Kconfig.series b/soc/arm64/arm/fvp_base_aarch64/Kconfig.series new file mode 100644 index 0000000000000000000000000000000000000000..497a49b35d53ab2663aed349a04eadc53deda9e8 --- /dev/null +++ b/soc/arm64/arm/fvp_base_aarch64/Kconfig.series @@ -0,0 +1,9 @@ +# Copyright (c) 2021 Carlo Caione +# SPDX-License-Identifier: Apache-2.0 + +config SOC_SERIES_FVP_BASE_AARCH64 + bool "ARM FVP Base AArch64 Series" + select ARM64 + select SOC_FAMILY_ARM64 + help + Enable support for ARM FVP Base_AArch64 Series diff --git a/soc/arm64/arm/fvp_base_aarch64/Kconfig.soc b/soc/arm64/arm/fvp_base_aarch64/Kconfig.soc new file mode 100644 index 0000000000000000000000000000000000000000..d2633450c197e85d35d9e76d8c21b0c8fd3d77e1 --- /dev/null +++ b/soc/arm64/arm/fvp_base_aarch64/Kconfig.soc @@ -0,0 +1,13 @@ +# Copyright (c) 2021 Carlo Caione +# SPDX-License-Identifier: Apache-2.0 + +choice + prompt "ARM FVP Base_A55x4_A75x2 SoCs" + depends on SOC_SERIES_FVP_BASE_AARCH64 + +config SOC_FVP_BASE_A55X4_A75X2 + bool "ARM FVP Base A55x4 A75x2 AArch64 simulation" + select CPU_CORTEX_A55 + select GIC_V3 + +endchoice diff --git a/soc/arm64/arm/fvp_base_aarch64/linker.ld b/soc/arm64/arm/fvp_base_aarch64/linker.ld new file mode 100644 index 0000000000000000000000000000000000000000..cb1100900b151385c2833b15ee6a5a5ee1eab118 --- /dev/null +++ b/soc/arm64/arm/fvp_base_aarch64/linker.ld @@ -0,0 +1,8 @@ +/* + * linker.ld - Linker command/script file + * + * Copyright (c) 2021 Carlo Caione + * SPDX-License-Identifier: Apache-2.0 + */ + +#include diff --git a/soc/arm64/arm/fvp_base_aarch64/mmu_regions.c b/soc/arm64/arm/fvp_base_aarch64/mmu_regions.c new file mode 100644 index 0000000000000000000000000000000000000000..aba26966c69ed0d72ff36b0be5bb11b4ad957f9b --- /dev/null +++ b/soc/arm64/arm/fvp_base_aarch64/mmu_regions.c @@ -0,0 +1,52 @@ +/* + * Copyright 2021 Carlo Caione + * + * SPDX-License-Identifier: Apache-2.0 + */ +#include +#include + +static const struct arm_mmu_region mmu_regions[] = { + + MMU_REGION_FLAT_ENTRY("GIC", + DT_REG_ADDR_BY_IDX(DT_INST(0, arm_gic), 0), + DT_REG_SIZE_BY_IDX(DT_INST(0, arm_gic), 0), + MT_DEVICE_nGnRnE | MT_P_RW_U_NA | MT_DEFAULT_SECURE_STATE), + + MMU_REGION_FLAT_ENTRY("GIC", + DT_REG_ADDR_BY_IDX(DT_INST(0, arm_gic), 1), + DT_REG_SIZE_BY_IDX(DT_INST(0, arm_gic), 1), + MT_DEVICE_nGnRnE | MT_P_RW_U_NA | MT_DEFAULT_SECURE_STATE), + + MMU_REGION_FLAT_ENTRY("UART0", + DT_REG_ADDR(DT_INST(0, arm_pl011)), + DT_REG_SIZE(DT_INST(0, arm_pl011)), + MT_DEVICE_nGnRnE | MT_P_RW_U_NA | MT_DEFAULT_SECURE_STATE), + +#if defined(CONFIG_SOC_FVP_BASE_A55X4_A75X2) && defined(CONFIG_ZVM) + MMU_REGION_FLAT_ENTRY("GIC", + DT_REG_ADDR_BY_IDX(DT_INST(0, arm_gic), 2), + DT_REG_SIZE_BY_IDX(DT_INST(0, arm_gic), 2), + MT_DEVICE_nGnRnE | MT_P_RW_U_NA | MT_DEFAULT_SECURE_STATE), + + MMU_REGION_FLAT_ENTRY("GIC", + DT_REG_ADDR_BY_IDX(DT_INST(0, arm_gic), 3), + DT_REG_SIZE_BY_IDX(DT_INST(0, arm_gic), 3), + MT_DEVICE_nGnRnE | MT_P_RW_U_NA | MT_DEFAULT_SECURE_STATE), + + MMU_REGION_FLAT_ENTRY("UART1", + DT_REG_ADDR(DT_INST(1, arm_pl011)), + DT_REG_SIZE(DT_INST(1, arm_pl011)), + MT_DEVICE_nGnRnE | MT_P_RW_U_NA | MT_DEFAULT_SECURE_STATE), + + MMU_REGION_FLAT_ENTRY("UART2", + DT_REG_ADDR(DT_INST(2, arm_pl011)), + DT_REG_SIZE(DT_INST(2, arm_pl011)), + MT_DEVICE_nGnRnE | MT_P_RW_U_NA | MT_DEFAULT_SECURE_STATE), +#endif +}; + +const struct arm_mmu_config mmu_config = { + .num_regions = ARRAY_SIZE(mmu_regions), + .mmu_regions = mmu_regions, +}; diff --git a/soc/arm64/arm/fvp_base_aarch64/plat_core.c b/soc/arm64/arm/fvp_base_aarch64/plat_core.c new file mode 100644 index 0000000000000000000000000000000000000000..6f26ba5778b621250018fd05215bfaaa4bc9b572 --- /dev/null +++ b/soc/arm64/arm/fvp_base_aarch64/plat_core.c @@ -0,0 +1,34 @@ +/* + * Copyright 2020 Carlo Caione + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include +#include +#include +#include +#include + +/* For get GICv3 address */ +#include "../../../../drivers/interrupt_controller/intc_gicv3_priv.h" + +void z_arm64_el3_plat_init(void) +{ + uint64_t reg = 0; + + reg = (ICC_SRE_ELx_DFB_BIT | ICC_SRE_ELx_DIB_BIT | + ICC_SRE_ELx_SRE_BIT | ICC_SRE_EL3_EN_BIT); + + write_sysreg(reg, ICC_SRE_EL3); + + /* Init GICv3 ctrl register for NS group1 route enable*/ +#ifdef CONFIG_ARMV8_A_NS + /* set DS bit to enable NS mode */ + sys_write32(BIT(GICD_CTRL_NS), GICD_CTLR); + + /* Direct write to GICD_CTRL_ARE_NS may have some unpredictable value */ + sys_write32(BIT(GICD_CTRL_NS)|BIT(GICD_CTRL_ARE_NS), GICD_CTLR); +#endif +} diff --git a/soc/arm64/arm/fvp_base_aarch64/soc.c b/soc/arm64/arm/fvp_base_aarch64/soc.c new file mode 100644 index 0000000000000000000000000000000000000000..ba6df961e11293bd0436e41c425e9a4145cce6e8 --- /dev/null +++ b/soc/arm64/arm/fvp_base_aarch64/soc.c @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. + * SPDX-License-Identifier: Apache-2.0 + */ +#include + +#ifdef CONFIG_SOC_FVP_BASE_A55X4_A75X2 + +/* + * fvp can work on the mode that all core run together when it start. + * So an implementation for FVP is needed. + */ +#ifndef CONFIG_PM_CPU_OPS_PSCI +int pm_cpu_on(unsigned long cpuid, uintptr_t entry_point) +{ + return 0; +} +#endif + +#endif diff --git a/soc/arm64/arm/fvp_base_aarch64/soc.h b/soc/arm64/arm/fvp_base_aarch64/soc.h new file mode 100644 index 0000000000000000000000000000000000000000..aeba7298aaf8d7452e64d7c4f1f00746d2322b25 --- /dev/null +++ b/soc/arm64/arm/fvp_base_aarch64/soc.h @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 Carlo Caione + * + * SPDX-License-Identifier: Apache-2.0 + * + */ + +#ifndef _SOC_H_ +#define _SOC_H_ + +#include + +#ifndef _ASMLANGUAGE + +#include + +#endif /* !_ASMLANGUAGE */ + +#endif /* _SOC_H_ */ diff --git a/subsys/_zvm/CMakeLists.txt b/subsys/_zvm/CMakeLists.txt index dfacdcd1dc039d6106ed779a04143aa0483ead7f..da1fb3a352e6bcb1c16fb22d10cc4eee2adf59c1 100644 --- a/subsys/_zvm/CMakeLists.txt +++ b/subsys/_zvm/CMakeLists.txt @@ -1,7 +1,5 @@ # SPDX-License-Identifier: Apache-2.0 -# Copyright (c) Huang Jiajia -# Email: Huangjj2020@hnu.edu.cn -# Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) +# Copyright 2021-2022 HNU add_subdirectory(os) add_subdirectory(tools) diff --git a/subsys/_zvm/Kconfig b/subsys/_zvm/Kconfig index 64486641cc40d95185e51a310b4720714c1b0295..186e4f895bb1a37c6165e917359bd6d0c2a33d36 100644 --- a/subsys/_zvm/Kconfig +++ b/subsys/_zvm/Kconfig @@ -1,5 +1,4 @@ -# Copyright (c) 2021 Huang Jiajia -# Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) +# Copyright 2021-2022 HNU # SPDX-License-Identifier: Apache-2.0 menuconfig ZVM @@ -42,13 +41,20 @@ config ZVM_INIT_PRIORITY config ZVM_TIME_MEASURE bool "ZVM measure system latency" help - ZVM's latency measure tools. + ZVM latency measure tools. config ZVM_ELF_LOADER bool "ZVM load elf image for vm" help For pharse elf header, and load elf vm image +config ZVM_EARLYPRINT_MSG + bool "ZVM's early consolo for printing system boot message." + default n + help + For debug hardware system, there must be a early printk mechanism to + output the system info, which is usefull for development. + config DTB_FILE_INPUT bool "ZVM system pharse dtb file for os like linux" help @@ -61,5 +67,4 @@ config VM_DYNAMIC_MEMORY ZVM uses dynamic memory allocate mechanism to reduce the memory allocate, but it will add some time cost. - endif # ZVM diff --git a/subsys/_zvm/os/CMakeLists.txt b/subsys/_zvm/os/CMakeLists.txt index 268839ef26dcd87e2c58e590ee3d765ba76f9f10..542554003b7bf5573c7c9929d3d78c430d2ae7e9 100644 --- a/subsys/_zvm/os/CMakeLists.txt +++ b/subsys/_zvm/os/CMakeLists.txt @@ -1,7 +1,5 @@ # SPDX-License-Identifier: Apache-2.0 -# Copyright (c) Huang Jiajia -# Email: Huangjj2020@hnu.edu.cn -# Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) +# Copyright 2021-2022 HNU zephyr_sources_ifdef( CONFIG_ZVM diff --git a/subsys/_zvm/os/os.c b/subsys/_zvm/os/os.c index b684298bf0802c7ae8aa3b0eb5e1903721080192..f7a6ade8bd46cf1252cefa4b3efa5bc246d51be1 100644 --- a/subsys/_zvm/os/os.c +++ b/subsys/_zvm/os/os.c @@ -1,6 +1,5 @@ /* - * Copyright (c) 2021 Huang Jiajia(Huangjj2020@hnu.edu.cn) - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ @@ -30,6 +29,10 @@ static int get_vm_mem_info(uint32_t *base, uint32_t *size, uint64_t virt_base) } +/** + * @brief Initialize OS basic information of a virtual machine + */ + int vm_os_create(struct vm* vm, struct z_vm_info *vm_info) { struct os* os = vm->os; diff --git a/subsys/_zvm/os/os_linux.c b/subsys/_zvm/os/os_linux.c index 696a9084a2e81f0db4fe46b7853f8e432c11c6dc..bb22f1a457ed8cc4a482f2fe4255fb807ddbca7d 100644 --- a/subsys/_zvm/os/os_linux.c +++ b/subsys/_zvm/os/os_linux.c @@ -1,6 +1,5 @@ /* - * Copyright (c) 2021 Huang Jiajia(Huangjj2020@hnu.edu.cn) - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/subsys/_zvm/os/os_zephyr.c b/subsys/_zvm/os/os_zephyr.c index 734d0c66f49c43f3eb76c9dab33a864b4fe27f6d..9fd95e345b1f091af559563ffc5a86f747965131 100644 --- a/subsys/_zvm/os/os_zephyr.c +++ b/subsys/_zvm/os/os_zephyr.c @@ -1,11 +1,10 @@ /* - * Copyright (c) 2021 Huang Jiajia(Huangjj2020@hnu.edu.cn) - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ -#include +#include <_zvm/os/os.h> #include #include <_zvm/zvm.h> #include <_zvm/arm/mm.h> diff --git a/subsys/_zvm/tools/elfloader.c b/subsys/_zvm/tools/elfloader.c index debcab446b4f5a272473287b6f083a6c62a3097f..b7ce18465ad7520bd1b2cb721b70c5705dd5bc8b 100644 --- a/subsys/_zvm/tools/elfloader.c +++ b/subsys/_zvm/tools/elfloader.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/subsys/_zvm/tools/latency_measure.c b/subsys/_zvm/tools/latency_measure.c index 02281a54700f36eb8853bf1818f0b2adedc71aeb..9f7ee46a4db96fc1b33a7ed7d98e6a90272138fb 100644 --- a/subsys/_zvm/tools/latency_measure.c +++ b/subsys/_zvm/tools/latency_measure.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/subsys/_zvm/vdev/CMakeLists.txt b/subsys/_zvm/vdev/CMakeLists.txt index b7a0255b57eaf13ac983dde3c58b9cf6dfb329e6..e30d085f2c0a2b374b8b026f5a98f20cae2aa2e3 100644 --- a/subsys/_zvm/vdev/CMakeLists.txt +++ b/subsys/_zvm/vdev/CMakeLists.txt @@ -1,7 +1,5 @@ # SPDX-License-Identifier: Apache-2.0 -# Copyright (c) Huang Jiajia -# Email: Huangjj2020@hnu.edu.cn -# Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) +# Copyright 2021-2022 HNU zephyr_sources_ifdef( diff --git a/subsys/_zvm/vdev/uart.c b/subsys/_zvm/vdev/uart.c index ce968caf42465baee51270d8c632e533791edd0f..c757f83e036c60c45f776d22b7c582c049bec86f 100644 --- a/subsys/_zvm/vdev/uart.c +++ b/subsys/_zvm/vdev/uart.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/subsys/_zvm/vm.c b/subsys/_zvm/vm.c index f8d2fe3b42ab32e8c59aeadf687ed4fa3a2b9203..2fcf3a900b34c6ab1a5e502503d6ccfd1866c6e4 100644 --- a/subsys/_zvm/vm.c +++ b/subsys/_zvm/vm.c @@ -1,6 +1,5 @@ /* - * Copyright (c) 2021 Huang Jiajia(Huangjj2020@hnu.edu.cn) - * Copyright (c) 2021 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ @@ -471,6 +470,7 @@ int vm_delete(struct vm *vm) k_free(vm); k_spin_unlock(&vm->spinlock, key); + zvm_overall_info->vm_total_num--; return 0; } diff --git a/subsys/_zvm/vm_console.c b/subsys/_zvm/vm_console.c index 7a3a28988829958d93f861661377dff413bdc72e..0d8af29997296c76b181028ef484a40912b27d0b 100644 --- a/subsys/_zvm/vm_console.c +++ b/subsys/_zvm/vm_console.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/subsys/_zvm/vm_cpu.c b/subsys/_zvm/vm_cpu.c index 137f1d7e699196569b8befa4d57742ef9485a5e9..56fb2372d30a978d5399c5a147ca3f926a13c994 100644 --- a/subsys/_zvm/vm_cpu.c +++ b/subsys/_zvm/vm_cpu.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/subsys/_zvm/vm_dev.c b/subsys/_zvm/vm_dev.c index abf8a3d8d8fb513978b316af43fe4c58d9f1c121..4f779963ce2da6cc03c3c7dba1f54760c5d80edc 100644 --- a/subsys/_zvm/vm_dev.c +++ b/subsys/_zvm/vm_dev.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/subsys/_zvm/vm_irq.c b/subsys/_zvm/vm_irq.c index 2c30b84eb7447b7913ce031578ed5bcb9d39b554..b4b6c4f51cf52fa0183887e0d7e4588d83554b03 100644 --- a/subsys/_zvm/vm_irq.c +++ b/subsys/_zvm/vm_irq.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/subsys/_zvm/vm_manager.c b/subsys/_zvm/vm_manager.c index 274be46c08d8ebfe3688b6e6b39fdfc72a7672bd..cc327a417ea49bf9b125199f54577110b1c6bf0c 100644 --- a/subsys/_zvm/vm_manager.c +++ b/subsys/_zvm/vm_manager.c @@ -1,6 +1,5 @@ /* - * Copyright (c) 2021 Huang Jiajia(Huangjj2020@hnu.edu.cn) - * Copyright (c) 2022 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ @@ -200,6 +199,7 @@ int zvm_delete_guest(size_t argc, char **argv) break; case VM_STATE_NEVER_RUN: ZVM_LOG_INFO("This vm is created but not run!\n Just delete it!\n"); + vm_delete(vm); break; default: ZVM_LOG_WARN("This vm status is invalid!\n"); diff --git a/subsys/_zvm/vm_mm.c b/subsys/_zvm/vm_mm.c index d710a594220def0271ecacb2c88995a168308b9f..d65d16e838729601983ac0e24f0cdae6c68e9431 100644 --- a/subsys/_zvm/vm_mm.c +++ b/subsys/_zvm/vm_mm.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 xcl + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ @@ -148,8 +148,9 @@ static int vm_dtb_mem_create(struct vm_mem_domain *vmem_domain) uint32_t vm_dtb_size = LINUX_DTB_MEM_SIZE; uint64_t vm_dtb_base = LINUX_DTB_MEM_BASE; + /* Attribute 'MT_VM_DEVICE_MEM' was occer a address size trap, replace with normal memory */ return create_vm_mem_vpart(vmem_domain, vm_dtb_base, vm_dtb_base, - vm_dtb_size, MT_VM_DEVICE_MEM); + vm_dtb_size, MT_VM_NORMAL_MEM); } /** diff --git a/subsys/_zvm/zvm.c b/subsys/_zvm/zvm.c index 169a6753da8624c1a51463edc4b6a289043f5a79..5909210780009ee9ffb997a59a4d08c4eb9aea9a 100644 --- a/subsys/_zvm/zvm.c +++ b/subsys/_zvm/zvm.c @@ -1,6 +1,5 @@ /* - * Copyright (c) 2021 Huang Jiajia(Huangjj2020@hnu.edu.cn) - * Copyright (c) 2021 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ diff --git a/subsys/_zvm/zvm_shell.c b/subsys/_zvm/zvm_shell.c index 179e5b4ea44a5eda1b9b6df0d24ff98d93521f4d..080a60894ff035fdbea94a87ea2e01d65707278c 100644 --- a/subsys/_zvm/zvm_shell.c +++ b/subsys/_zvm/zvm_shell.c @@ -1,6 +1,5 @@ /* - * Copyright (c) 2021 Huang Jiajia(Huangjj2020@hnu.edu.cn) - * Copyright (c) 2021 xcl (xiongcl@hnu.edu.cn) + * Copyright 2021-2022 HNU * * SPDX-License-Identifier: Apache-2.0 */ @@ -137,7 +136,7 @@ static int cmd_zvm_info(const struct shell *shell, size_t argc, char **argv) ret = zvm_info_guest(argc, argv); if (ret) { shell_fprintf(shell, SHELL_NORMAL, - "List vm failured, There may no vm in the system! \n"); + "List vm failured. \n There may no vm in the system! \n"); k_spin_unlock(&shell_vmops_lock, key); return ret; } diff --git a/subsys/shell/shell.c b/subsys/shell/shell.c index 458d2defe67c8f96b1573aeea14e5c25e4983b2b..47649b9c31a16412b700be0a550a199fb56fba02 100644 --- a/subsys/shell/shell.c +++ b/subsys/shell/shell.c @@ -1349,7 +1349,6 @@ void shell_thread(void *shell_handle, void *arg_log_backend, } } - struct k_thread *z_shell_thread_force; int shell_init(const struct shell *shell, const void *transport_config, @@ -1382,9 +1381,7 @@ int shell_init(const struct shell *shell, const void *transport_config, //try unable shell run on cpu1 k_thread_cpu_mask_disable(tid, 0x1); #endif - z_shell_thread_force = shell->thread; - return 0; } diff --git a/z_auto.sh b/z_auto.sh deleted file mode 100755 index cd470b52ed5ec32f97ad531b1c2dcb1520acd84d..0000000000000000000000000000000000000000 --- a/z_auto.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -# operation string and platform string -ops=$1 -plat=$2 - -ops_build="build" -ops_debug="debug" -plat_qemu="qemu" -plat_fvp="fvp" - -# Build system -if [ "$ops" = "$ops_build" ]; then - -rm -rf build/ - -if [ "$plat" = "$plat_qemu" ]; then - west build -b qemu_cortex_max_smp samples/_zvm -else -if [ "$plat" = "$plat_fvp" ]; then - west build -b fvp_cortex_a55 samples/_zvm -DARMFVP_BL1_FILE=/home/xiong/trusted-firmware-a/build/fvp/release/bl1.bin -DARMFVP_FIP_FILE=/home/xiong/trusted-firmware-a/build/fvp/release/fip.bin -else - echo "Error arguments for this auto.sh! Please input command like: ./z_auto.sh build qemu " -fi -fi -else - -# Debug system(Just run on qemu) -if [ "$ops" = "$ops_debug" ]; then - /home/xiong/zephyr-sdk-0.13.2/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-system-aarch64 -cpu max -nographic -machine virt,virtualization=on,gic-version=3 -net none -pidfile qemu.pid -chardev stdio,id=con,mux=on -serial chardev:con -mon chardev=con,mode=readline -s -S -smp cpus=4 -device loader,file=/home/yourpathname/ZephyrVisor/zephyr/build/zephyr/zephyr.bin,addr=0x45000000,force-raw=on -kernel /home/xiong/zvm_new/zephyr/build/zephyr/zephyr.elf -fi - - -fi diff --git a/zvm_config/fvp_platform/.config_fvp b/zvm_config/fvp_platform/.config_fvp index c604064922aba247ad46cb076482597afcd6e2c3..2a2c205e1da7bf119ed1fe4e713f54fa4075558f 100644 --- a/zvm_config/fvp_platform/.config_fvp +++ b/zvm_config/fvp_platform/.config_fvp @@ -2,18 +2,19 @@ # Automatically generated file; DO NOT EDIT. # Linux/arm64 5.16.12 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011" +CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=70201 +CONFIG_GCC_VERSION=90400 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=22802 +CONFIG_AS_VERSION=23400 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=22802 +CONFIG_LD_VERSION=23400 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_ASM_INLINE=y CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y @@ -184,7 +185,9 @@ CONFIG_SCHED_AUTOGROUP=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_RELAY is not set CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" +CONFIG_INITRAMFS_SOURCE="/home/xiong/project/fvp_platform/initramfs.cpio.gz" +CONFIG_INITRAMFS_ROOT_UID=0 +CONFIG_INITRAMFS_ROOT_GID=0 CONFIG_RD_GZIP=y CONFIG_RD_BZIP2=y CONFIG_RD_LZMA=y @@ -192,6 +195,14 @@ CONFIG_RD_XZ=y CONFIG_RD_LZO=y CONFIG_RD_LZ4=y CONFIG_RD_ZSTD=y +CONFIG_INITRAMFS_COMPRESSION_GZIP=y +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_ZSTD is not set +# CONFIG_INITRAMFS_COMPRESSION_NONE is not set # CONFIG_BOOT_CONFIG is not set CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set @@ -432,22 +443,29 @@ CONFIG_AS_HAS_LSE_ATOMICS=y # ARMv8.3 architectural features # # CONFIG_ARM64_PTR_AUTH is not set +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y CONFIG_AS_HAS_PAC=y +CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y # end of ARMv8.3 architectural features # # ARMv8.4 architectural features # # CONFIG_ARM64_AMU_EXTN is not set +CONFIG_AS_HAS_ARMV8_4=y +CONFIG_ARM64_TLB_RANGE=y # end of ARMv8.4 architectural features # # ARMv8.5 architectural features # +CONFIG_AS_HAS_ARMV8_5=y # CONFIG_ARM64_BTI is not set +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y # CONFIG_ARM64_E0PD is not set # CONFIG_ARCH_RANDOM is not set +CONFIG_ARM64_AS_HAS_MTE=y # end of ARMv8.5 architectural features # @@ -458,8 +476,9 @@ CONFIG_AS_HAS_PAC=y # CONFIG_ARM64_SVE is not set # CONFIG_ARM64_PSEUDO_NMI is not set CONFIG_RELOCATABLE=y -CONFIG_RANDOMIZE_BASE=y -CONFIG_RANDOMIZE_MODULE_REGION_FULL=y +# CONFIG_RANDOMIZE_BASE is not set +CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y +CONFIG_STACKPROTECTOR_PER_TASK=y # end of Kernel Features # @@ -690,7 +709,6 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y # end of GCOV-based kernel profiling CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set # end of General architecture-dependent options CONFIG_RT_MUTEXES=y @@ -8973,12 +8991,13 @@ CONFIG_DEBUG_BUGVERBOSE=y # Compile-time checks and compiler options # CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_INFO_REDUCED=y +# CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_COMPRESSED is not set # CONFIG_DEBUG_INFO_SPLIT is not set CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_DWARF5 is not set +CONFIG_PAHOLE_HAS_SPLIT_BTF=y CONFIG_GDB_SCRIPTS=y CONFIG_FRAME_WARN=2048 # CONFIG_STRIP_ASM_SYMS is not set @@ -9041,6 +9060,8 @@ CONFIG_HAVE_ARCH_KASAN=y CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y CONFIG_HAVE_ARCH_KASAN_VMALLOC=y CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y +# CONFIG_KASAN is not set CONFIG_HAVE_ARCH_KFENCE=y # CONFIG_KFENCE is not set # end of Memory Debugging @@ -9122,6 +9143,7 @@ CONFIG_RCU_TRACE=y CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_C_RECORDMCOUNT=y diff --git a/zvm_config/fvp_platform/fdts/fvp-base-gicv3-psci-simple.dtsi b/zvm_config/fvp_platform/fdts/fvp-base-gicv3-psci-simple.dtsi index d349a6dda83991f398aa7ca4bc74aba902db0637..f3c90c1f4801274893feb144d3d6ecfa6757fe38 100644 --- a/zvm_config/fvp_platform/fdts/fvp-base-gicv3-psci-simple.dtsi +++ b/zvm_config/fvp_platform/fdts/fvp-base-gicv3-psci-simple.dtsi @@ -16,15 +16,17 @@ #address-cells = <2>; #size-cells = <2>; - chosen { }; + chosen { + bootargs = "console=ttyAMA0 earlyprintk=pl011,0x1c090000"; + }; aliases { serial0 = &v2m_serial0; }; psci { - compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci"; - method = "smc"; + compatible = "arm,psci-0.2", "arm,psci"; + method = "svc"; cpu_suspend = <0xc4000001>; cpu_off = <0x84000002>; cpu_on = <0xc4000003>; @@ -82,7 +84,7 @@ memory@80000000 { device_type = "memory"; - reg = <0x00000000 0x80000000 0 0x40000000>; + reg = <0x00000000 0x80000000 0 0x20000000>; }; gic: interrupt-controller@2f000000 { diff --git a/zvm_config/fvp_platform/fdts/fvp-base-gicv3-psci.dts b/zvm_config/fvp_platform/fdts/fvp-base-gicv3-psci.dts index ee0a436ca5b16ae1d12e01966ff0ef2af20851e9..7a939e9da193442a7c1aae2dd2426e4b58496dd2 100644 --- a/zvm_config/fvp_platform/fdts/fvp-base-gicv3-psci.dts +++ b/zvm_config/fvp_platform/fdts/fvp-base-gicv3-psci.dts @@ -6,9 +6,5 @@ /dts-v1/; -/* -/include/ "fvp-base-gicv3-psci-common.dtsi" -*/ - - /include/ "fvp-base-gicv3-psci-simple.dtsi" + diff --git a/zvm_config/qemu_platform/.config_qemu b/zvm_config/qemu_platform/.config_qemu index fdc1f1bebb4c9f490b844a22f8ef553933831f64..2a2c205e1da7bf119ed1fe4e713f54fa4075558f 100644 --- a/zvm_config/qemu_platform/.config_qemu +++ b/zvm_config/qemu_platform/.config_qemu @@ -2,18 +2,19 @@ # Automatically generated file; DO NOT EDIT. # Linux/arm64 5.16.12 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011" +CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=70201 +CONFIG_GCC_VERSION=90400 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=22802 +CONFIG_AS_VERSION=23400 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=22802 +CONFIG_LD_VERSION=23400 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_ASM_INLINE=y CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y @@ -26,17 +27,21 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 # CONFIG_COMPILE_TEST is not set # CONFIG_WERROR is not set CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_LOCALVERSION_AUTO=y CONFIG_BUILD_SALT="" CONFIG_DEFAULT_INIT="" -CONFIG_DEFAULT_HOSTNAME="Linux-vm" +CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y # CONFIG_WATCH_QUEUE is not set CONFIG_CROSS_MEMORY_ATTACH=y # CONFIG_USELIB is not set +CONFIG_AUDIT=y CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_AUDITSYSCALL=y # # IRQ subsystem @@ -50,9 +55,11 @@ CONFIG_HARDIRQS_SW_RESEND=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y CONFIG_GENERIC_IRQ_IPI=y CONFIG_GENERIC_MSI_IRQ=y CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_IRQ_MSI_IOMMU=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y # CONFIG_GENERIC_IRQ_DEBUGFS is not set @@ -77,6 +84,7 @@ CONFIG_NO_HZ_IDLE=y CONFIG_HIGH_RES_TIMERS=y # end of Timers subsystem +CONFIG_BPF=y CONFIG_HAVE_EBPF_JIT=y CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y @@ -92,6 +100,7 @@ CONFIG_PREEMPT_BUILD=y CONFIG_PREEMPT=y CONFIG_PREEMPT_COUNT=y CONFIG_PREEMPTION=y +# CONFIG_SCHED_CORE is not set # # CPU/Task time and stats accounting @@ -103,10 +112,11 @@ CONFIG_HAVE_SCHED_AVG_IRQ=y CONFIG_SCHED_THERMAL_PRESSURE=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_TASKSTATS is not set # CONFIG_PSI is not set # end of CPU/Task time and stats accounting -# CONFIG_CPU_ISOLATION is not set +CONFIG_CPU_ISOLATION=y # # RCU Subsystem @@ -169,12 +179,13 @@ CONFIG_TIME_NS=y CONFIG_IPC_NS=y CONFIG_USER_NS=y CONFIG_PID_NS=y +CONFIG_NET_NS=y # CONFIG_CHECKPOINT_RESTORE is not set CONFIG_SCHED_AUTOGROUP=y # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_RELAY is not set CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="/proj/Linux/buildroot-2022.02.6/output/images/rootfs.cpio" +CONFIG_INITRAMFS_SOURCE="/home/xiong/project/fvp_platform/initramfs.cpio.gz" CONFIG_INITRAMFS_ROOT_UID=0 CONFIG_INITRAMFS_ROOT_GID=0 CONFIG_RD_GZIP=y @@ -184,21 +195,23 @@ CONFIG_RD_XZ=y CONFIG_RD_LZO=y CONFIG_RD_LZ4=y CONFIG_RD_ZSTD=y -# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +CONFIG_INITRAMFS_COMPRESSION_GZIP=y # CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set # CONFIG_INITRAMFS_COMPRESSION_LZMA is not set # CONFIG_INITRAMFS_COMPRESSION_XZ is not set # CONFIG_INITRAMFS_COMPRESSION_LZO is not set # CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set # CONFIG_INITRAMFS_COMPRESSION_ZSTD is not set -CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_NONE is not set # CONFIG_BOOT_CONFIG is not set CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_LD_ORPHAN_WARN=y CONFIG_SYSCTL=y +CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y # CONFIG_EXPERT is not set +CONFIG_UID16=y CONFIG_MULTIUSER=y CONFIG_SYSFS_SYSCALL=y CONFIG_FHANDLE=y @@ -246,6 +259,7 @@ CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLAB_FREELIST_HARDENED is not set # CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set CONFIG_SLUB_CPU_PARTIAL=y +CONFIG_SYSTEM_DATA_VERIFICATION=y CONFIG_PROFILING=y # end of General setup @@ -259,7 +273,6 @@ CONFIG_ARCH_MMAP_RND_BITS_MIN=18 CONFIG_ARCH_MMAP_RND_BITS_MAX=33 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 -CONFIG_NO_IOPORT_MAP=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_LOCKDEP_SUPPORT=y @@ -279,44 +292,44 @@ CONFIG_ARCH_PROC_KCORE_TEXT=y # # Platform selection # -# CONFIG_ARCH_ACTIONS is not set -# CONFIG_ARCH_SUNXI is not set -# CONFIG_ARCH_ALPINE is not set -# CONFIG_ARCH_APPLE is not set -# CONFIG_ARCH_BCM2835 is not set -# CONFIG_ARCH_BCM4908 is not set -# CONFIG_ARCH_BCM_IPROC is not set -# CONFIG_ARCH_BERLIN is not set +CONFIG_ARCH_ACTIONS=y +CONFIG_ARCH_SUNXI=y +CONFIG_ARCH_ALPINE=y +CONFIG_ARCH_APPLE=y +CONFIG_ARCH_BCM2835=y +CONFIG_ARCH_BCM4908=y +CONFIG_ARCH_BCM_IPROC=y +CONFIG_ARCH_BERLIN=y # CONFIG_ARCH_BITMAIN is not set -# CONFIG_ARCH_BRCMSTB is not set -# CONFIG_ARCH_EXYNOS is not set +CONFIG_ARCH_BRCMSTB=y +CONFIG_ARCH_EXYNOS=y # CONFIG_ARCH_SPARX5 is not set -# CONFIG_ARCH_K3 is not set -# CONFIG_ARCH_LAYERSCAPE is not set -# CONFIG_ARCH_LG1K is not set -# CONFIG_ARCH_HISI is not set -# CONFIG_ARCH_KEEMBAY is not set -# CONFIG_ARCH_MEDIATEK is not set -# CONFIG_ARCH_MESON is not set -# CONFIG_ARCH_MVEBU is not set -# CONFIG_ARCH_MXC is not set -# CONFIG_ARCH_QCOM is not set +CONFIG_ARCH_K3=y +CONFIG_ARCH_LAYERSCAPE=y +CONFIG_ARCH_LG1K=y +CONFIG_ARCH_HISI=y +CONFIG_ARCH_KEEMBAY=y +CONFIG_ARCH_MEDIATEK=y +CONFIG_ARCH_MESON=y +CONFIG_ARCH_MVEBU=y +CONFIG_ARCH_MXC=y +CONFIG_ARCH_QCOM=y # CONFIG_ARCH_REALTEK is not set -# CONFIG_ARCH_RENESAS is not set +CONFIG_ARCH_RENESAS=y CONFIG_ARCH_ROCKCHIP=y -# CONFIG_ARCH_S32 is not set -# CONFIG_ARCH_SEATTLE is not set -# CONFIG_ARCH_INTEL_SOCFPGA is not set -# CONFIG_ARCH_SYNQUACER is not set -# CONFIG_ARCH_TEGRA is not set -# CONFIG_ARCH_SPRD is not set -# CONFIG_ARCH_THUNDER is not set -# CONFIG_ARCH_THUNDER2 is not set -# CONFIG_ARCH_UNIPHIER is not set +CONFIG_ARCH_S32=y +CONFIG_ARCH_SEATTLE=y +CONFIG_ARCH_INTEL_SOCFPGA=y +CONFIG_ARCH_SYNQUACER=y +CONFIG_ARCH_TEGRA=y +CONFIG_ARCH_SPRD=y +CONFIG_ARCH_THUNDER=y +CONFIG_ARCH_THUNDER2=y +CONFIG_ARCH_UNIPHIER=y CONFIG_ARCH_VEXPRESS=y -# CONFIG_ARCH_VISCONTI is not set -# CONFIG_ARCH_XGENE is not set -# CONFIG_ARCH_ZYNQMP is not set +CONFIG_ARCH_VISCONTI=y +CONFIG_ARCH_XGENE=y +CONFIG_ARCH_ZYNQMP=y # end of Platform selection # @@ -332,9 +345,11 @@ CONFIG_ARM64_ERRATUM_827319=y CONFIG_ARM64_ERRATUM_824069=y CONFIG_ARM64_ERRATUM_819472=y CONFIG_ARM64_ERRATUM_832075=y +CONFIG_ARM64_ERRATUM_845719=y CONFIG_ARM64_ERRATUM_843419=y CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y CONFIG_ARM64_ERRATUM_1024718=y +CONFIG_ARM64_ERRATUM_1418040=y CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y CONFIG_ARM64_ERRATUM_1165522=y CONFIG_ARM64_ERRATUM_1319367=y @@ -342,24 +357,25 @@ CONFIG_ARM64_ERRATUM_1530923=y CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y CONFIG_ARM64_ERRATUM_1286807=y CONFIG_ARM64_ERRATUM_1463225=y -# CONFIG_ARM64_ERRATUM_1542419 is not set -# CONFIG_ARM64_ERRATUM_1508412 is not set -# CONFIG_ARM64_ERRATUM_2051678 is not set -# CONFIG_ARM64_ERRATUM_2054223 is not set -# CONFIG_ARM64_ERRATUM_2067961 is not set -# CONFIG_CAVIUM_ERRATUM_22375 is not set -# CONFIG_CAVIUM_ERRATUM_23154 is not set -# CONFIG_CAVIUM_ERRATUM_27456 is not set -# CONFIG_CAVIUM_ERRATUM_30115 is not set -# CONFIG_CAVIUM_TX2_ERRATUM_219 is not set -# CONFIG_FUJITSU_ERRATUM_010001 is not set -# CONFIG_HISILICON_ERRATUM_161600802 is not set -# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set -# CONFIG_QCOM_FALKOR_ERRATUM_1009 is not set -# CONFIG_QCOM_QDF2400_ERRATUM_0065 is not set -# CONFIG_QCOM_FALKOR_ERRATUM_E1041 is not set -# CONFIG_NVIDIA_CARMEL_CNP_ERRATUM is not set -# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set +CONFIG_ARM64_ERRATUM_1542419=y +CONFIG_ARM64_ERRATUM_1508412=y +CONFIG_ARM64_ERRATUM_2051678=y +CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y +CONFIG_ARM64_ERRATUM_2054223=y +CONFIG_ARM64_ERRATUM_2067961=y +CONFIG_CAVIUM_ERRATUM_22375=y +CONFIG_CAVIUM_ERRATUM_23154=y +CONFIG_CAVIUM_ERRATUM_27456=y +CONFIG_CAVIUM_ERRATUM_30115=y +CONFIG_CAVIUM_TX2_ERRATUM_219=y +CONFIG_FUJITSU_ERRATUM_010001=y +CONFIG_HISILICON_ERRATUM_161600802=y +CONFIG_QCOM_FALKOR_ERRATUM_1003=y +CONFIG_QCOM_FALKOR_ERRATUM_1009=y +CONFIG_QCOM_QDF2400_ERRATUM_0065=y +CONFIG_QCOM_FALKOR_ERRATUM_E1041=y +CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y +CONFIG_SOCIONEXT_SYNQUACER_PREITS=y # end of ARM errata workarounds via the alternatives framework CONFIG_ARM64_4K_PAGES=y @@ -374,8 +390,8 @@ CONFIG_ARM64_PA_BITS=48 CONFIG_CPU_LITTLE_ENDIAN=y # CONFIG_SCHED_MC is not set # CONFIG_SCHED_CLUSTER is not set -# CONFIG_SCHED_SMT is not set -CONFIG_NR_CPUS=64 +CONFIG_SCHED_SMT=y +CONFIG_NR_CPUS=256 CONFIG_HOTPLUG_CPU=y # CONFIG_NUMA is not set # CONFIG_HZ_100 is not set @@ -387,20 +403,23 @@ CONFIG_SCHED_HRTICK=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_HW_PERF_EVENTS=y CONFIG_ARCH_HAS_FILTER_PGPROT=y -# CONFIG_PARAVIRT is not set +CONFIG_PARAVIRT=y # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set CONFIG_KEXEC=y CONFIG_KEXEC_FILE=y # CONFIG_KEXEC_SIG is not set CONFIG_CRASH_DUMP=y CONFIG_TRANS_TABLE=y -# CONFIG_XEN is not set +CONFIG_XEN_DOM0=y +CONFIG_XEN=y CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_UNMAP_KERNEL_AT_EL0=y -# CONFIG_RODATA_FULL_DEFAULT_ENABLED is not set +CONFIG_RODATA_FULL_DEFAULT_ENABLED=y # CONFIG_ARM64_SW_TTBR0_PAN is not set CONFIG_ARM64_TAGGED_ADDR_ABI=y -# CONFIG_COMPAT is not set +CONFIG_COMPAT=y +CONFIG_KUSER_HELPERS=y +# CONFIG_ARMV8_DEPRECATED is not set # # ARMv8.1 architectural features @@ -424,22 +443,29 @@ CONFIG_AS_HAS_LSE_ATOMICS=y # ARMv8.3 architectural features # # CONFIG_ARM64_PTR_AUTH is not set +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y CONFIG_AS_HAS_PAC=y +CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y # end of ARMv8.3 architectural features # # ARMv8.4 architectural features # # CONFIG_ARM64_AMU_EXTN is not set +CONFIG_AS_HAS_ARMV8_4=y +CONFIG_ARM64_TLB_RANGE=y # end of ARMv8.4 architectural features # # ARMv8.5 architectural features # +CONFIG_AS_HAS_ARMV8_5=y # CONFIG_ARM64_BTI is not set +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y # CONFIG_ARM64_E0PD is not set # CONFIG_ARCH_RANDOM is not set +CONFIG_ARM64_AS_HAS_MTE=y # end of ARMv8.5 architectural features # @@ -448,11 +474,11 @@ CONFIG_AS_HAS_PAC=y # end of ARMv8.7 architectural features # CONFIG_ARM64_SVE is not set -CONFIG_ARM64_MODULE_PLTS=y # CONFIG_ARM64_PSEUDO_NMI is not set CONFIG_RELOCATABLE=y -CONFIG_RANDOMIZE_BASE=y -CONFIG_RANDOMIZE_MODULE_REGION_FULL=y +# CONFIG_RANDOMIZE_BASE is not set +CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y +CONFIG_STACKPROTECTOR_PER_TASK=y # end of Kernel Features # @@ -464,6 +490,8 @@ CONFIG_EFI=y CONFIG_DMI=y # end of Boot options +CONFIG_SYSVIPC_COMPAT=y + # # Power management options # @@ -528,10 +556,10 @@ CONFIG_CPU_FREQ_STAT=y # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y # @@ -539,42 +567,57 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y # CONFIG_CPUFREQ_DT=y CONFIG_CPUFREQ_DT_PLATDEV=y +CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=y +CONFIG_ARM_ARMADA_37XX_CPUFREQ=y +# CONFIG_ARM_ARMADA_8K_CPUFREQ is not set CONFIG_ARM_SCPI_CPUFREQ=y +CONFIG_ARM_BRCMSTB_AVS_CPUFREQ=y +CONFIG_ARM_IMX_CPUFREQ_DT=y +# CONFIG_ARM_MEDIATEK_CPUFREQ is not set +CONFIG_ARM_MEDIATEK_CPUFREQ_HW=y +CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y +CONFIG_ARM_QCOM_CPUFREQ_HW=y +CONFIG_ARM_RASPBERRYPI_CPUFREQ=y CONFIG_ARM_SCMI_CPUFREQ=y +CONFIG_ARM_TEGRA20_CPUFREQ=y +CONFIG_ARM_TEGRA124_CPUFREQ=y +CONFIG_ARM_TEGRA186_CPUFREQ=y +CONFIG_ARM_TEGRA194_CPUFREQ=y +CONFIG_QORIQ_CPUFREQ=y # end of CPU Frequency scaling # end of CPU Power Management CONFIG_ARCH_SUPPORTS_ACPI=y # CONFIG_ACPI is not set +CONFIG_IRQ_BYPASS_MANAGER=y CONFIG_HAVE_KVM=y # CONFIG_VIRTUALIZATION is not set CONFIG_ARM64_CRYPTO=y CONFIG_CRYPTO_SHA256_ARM64=y -CONFIG_CRYPTO_SHA512_ARM64=m +CONFIG_CRYPTO_SHA512_ARM64=y CONFIG_CRYPTO_SHA1_ARM64_CE=y CONFIG_CRYPTO_SHA2_ARM64_CE=y -CONFIG_CRYPTO_SHA512_ARM64_CE=m -CONFIG_CRYPTO_SHA3_ARM64=m -CONFIG_CRYPTO_SM3_ARM64_CE=m +CONFIG_CRYPTO_SHA512_ARM64_CE=y +CONFIG_CRYPTO_SHA3_ARM64=y +CONFIG_CRYPTO_SM3_ARM64_CE=y # CONFIG_CRYPTO_SM4_ARM64_CE is not set CONFIG_CRYPTO_GHASH_ARM64_CE=y -CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m +CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=y # CONFIG_CRYPTO_AES_ARM64 is not set CONFIG_CRYPTO_AES_ARM64_CE=y CONFIG_CRYPTO_AES_ARM64_CE_CCM=y CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m -# CONFIG_CRYPTO_CHACHA20_NEON is not set +CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y +CONFIG_CRYPTO_CHACHA20_NEON=y # CONFIG_CRYPTO_POLY1305_NEON is not set # CONFIG_CRYPTO_NHPOLY1305_NEON is not set -# CONFIG_CRYPTO_AES_ARM64_BS is not set +CONFIG_CRYPTO_AES_ARM64_BS=y # # General architecture-dependent options # CONFIG_CRASH_CORE=y CONFIG_KEXEC_CORE=y -# CONFIG_KPROBES is not set CONFIG_JUMP_LABEL=y # CONFIG_STATIC_KEYS_SELFTEST is not set CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y @@ -609,9 +652,12 @@ CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_CMPXCHG_LOCAL=y CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_HAVE_ARCH_SECCOMP=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +# CONFIG_SECCOMP_CACHE_DEBUG is not set CONFIG_HAVE_ARCH_STACKLEAK=y CONFIG_HAVE_STACKPROTECTOR=y CONFIG_STACKPROTECTOR=y @@ -628,14 +674,17 @@ CONFIG_HAVE_MOVE_PMD=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_HUGE_VMAP=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_MODULES_USE_ELF_RELA=y CONFIG_ARCH_HAS_ELF_RANDOMIZE=y CONFIG_HAVE_ARCH_MMAP_RND_BITS=y CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11 CONFIG_PAGE_SIZE_LESS_THAN_64KB=y CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_COMPAT_OLD_SIGACTION=y CONFIG_COMPAT_32BIT_TIME=y CONFIG_HAVE_ARCH_VMAP_STACK=y CONFIG_VMAP_STACK=y @@ -644,7 +693,6 @@ CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y -CONFIG_STRICT_MODULE_RWX=y CONFIG_HAVE_ARCH_COMPILER_H=y CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y CONFIG_ARCH_USE_MEMREMAP_PROT=y @@ -661,26 +709,11 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y # end of GCOV-based kernel profiling CONFIG_HAVE_GCC_PLUGINS=y -CONFIG_GCC_PLUGINS=y -# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set -# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set # end of General architecture-dependent options CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 -CONFIG_MODULES=y -# CONFIG_MODULE_FORCE_LOAD is not set -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_MODULE_SIG is not set -CONFIG_MODULE_COMPRESS_NONE=y -# CONFIG_MODULE_COMPRESS_GZIP is not set -# CONFIG_MODULE_COMPRESS_XZ is not set -# CONFIG_MODULE_COMPRESS_ZSTD is not set -# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set -CONFIG_MODPROBE_PATH="/sbin/modprobe" +# CONFIG_MODULES is not set CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y CONFIG_BLK_DEV_BSG_COMMON=y @@ -705,8 +738,11 @@ CONFIG_MSDOS_PARTITION=y CONFIG_EFI_PARTITION=y # end of Partition Types +CONFIG_BLOCK_COMPAT=y +CONFIG_BLK_MQ_PCI=y CONFIG_BLK_MQ_VIRTIO=y CONFIG_BLK_PM=y +CONFIG_BLOCK_HOLDER_DEPRECATED=y # # IO Schedulers @@ -734,6 +770,7 @@ CONFIG_FREEZER=y # Executable file formats # CONFIG_BINFMT_ELF=y +CONFIG_COMPAT_BINFMT_ELF=y CONFIG_ARCH_BINFMT_ELF_STATE=y CONFIG_ARCH_HAVE_ELF_PROT=y CONFIG_ARCH_USE_GNU_PROPERTY=y @@ -760,6 +797,8 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_MEMORY_BALLOON=y +CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_PAGE_REPORTING=y CONFIG_MIGRATION=y @@ -767,6 +806,7 @@ CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y CONFIG_ARCH_ENABLE_THP_MIGRATION=y CONFIG_CONTIG_ALLOC=y CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_MMU_NOTIFIER=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y @@ -804,15 +844,735 @@ CONFIG_SECRETMEM=y # end of Data Access Monitoring # end of Memory Management options -# CONFIG_NET is not set +CONFIG_NET=y +CONFIG_NET_INGRESS=y +CONFIG_NET_EGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +CONFIG_UNIX_SCM=y +CONFIG_AF_UNIX_OOB=y +# CONFIG_UNIX_DIAG is not set +# CONFIG_TLS is not set +# CONFIG_XFRM_USER is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_NET_IP_TUNNEL=y +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_FOU is not set +# CONFIG_NET_FOU_IP_TUNNELS is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +CONFIG_INET_TUNNEL=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_RAW_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +# CONFIG_IPV6_ROUTER_PREF is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +# CONFIG_INET6_AH is not set +# CONFIG_INET6_ESP is not set +# CONFIG_INET6_IPCOMP is not set +# CONFIG_IPV6_MIP6 is not set +# CONFIG_IPV6_ILA is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=y +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +# CONFIG_IPV6_SEG6_LWTUNNEL is not set +# CONFIG_IPV6_SEG6_HMAC is not set +# CONFIG_IPV6_RPL_LWTUNNEL is not set +# CONFIG_IPV6_IOAM6_LWTUNNEL is not set +# CONFIG_NETLABEL is not set +# CONFIG_MPTCP is not set +# CONFIG_NETWORK_SECMARK is not set +CONFIG_NET_PTP_CLASSIFY=y +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +# CONFIG_BRIDGE_NETFILTER is not set + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_EGRESS=y +CONFIG_NETFILTER_SKIP_EGRESS=y +# CONFIG_NETFILTER_NETLINK_ACCT is not set +# CONFIG_NETFILTER_NETLINK_QUEUE is not set +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NETFILTER_NETLINK_OSF is not set +CONFIG_NF_CONNTRACK=y +CONFIG_NF_LOG_SYSLOG=y +# CONFIG_NF_CONNTRACK_MARK is not set +# CONFIG_NF_CONNTRACK_ZONES is not set +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +# CONFIG_NF_CONNTRACK_TIMESTAMP is not set +# CONFIG_NF_CONNTRACK_LABELS is not set +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +# CONFIG_NF_CONNTRACK_AMANDA is not set +# CONFIG_NF_CONNTRACK_FTP is not set +# CONFIG_NF_CONNTRACK_H323 is not set +# CONFIG_NF_CONNTRACK_IRC is not set +# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set +# CONFIG_NF_CONNTRACK_SNMP is not set +# CONFIG_NF_CONNTRACK_PPTP is not set +# CONFIG_NF_CONNTRACK_SANE is not set +# CONFIG_NF_CONNTRACK_SIP is not set +# CONFIG_NF_CONNTRACK_TFTP is not set +# CONFIG_NF_CT_NETLINK is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_MASQUERADE=y +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y +CONFIG_NETFILTER_XTABLES_COMPAT=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set +# CONFIG_NETFILTER_XT_CONNMARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set +# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +# CONFIG_NETFILTER_XT_TARGET_HL is not set +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set +# CONFIG_NETFILTER_XT_TARGET_LED is not set +CONFIG_NETFILTER_XT_TARGET_LOG=y +# CONFIG_NETFILTER_XT_TARGET_MARK is not set +CONFIG_NETFILTER_XT_NAT=y +# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set +# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set +# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set +CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +# CONFIG_NETFILTER_XT_MATCH_CPU is not set +# CONFIG_NETFILTER_XT_MATCH_DCCP is not set +# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_DSCP is not set +# CONFIG_NETFILTER_XT_MATCH_ECN is not set +# CONFIG_NETFILTER_XT_MATCH_ESP is not set +# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_HELPER is not set +# CONFIG_NETFILTER_XT_MATCH_HL is not set +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set +# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_MAC is not set +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OSF is not set +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set +# CONFIG_NETFILTER_XT_MATCH_REALM is not set +# CONFIG_NETFILTER_XT_MATCH_RECENT is not set +# CONFIG_NETFILTER_XT_MATCH_SCTP is not set +# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set +# CONFIG_NETFILTER_XT_MATCH_STATE is not set +# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set +# CONFIG_NETFILTER_XT_MATCH_STRING is not set +# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set +# CONFIG_NETFILTER_XT_MATCH_TIME is not set +# CONFIG_NETFILTER_XT_MATCH_U32 is not set +# end of Core Netfilter Configuration + +# CONFIG_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +# CONFIG_NF_SOCKET_IPV4 is not set +# CONFIG_NF_TPROXY_IPV4 is not set +# CONFIG_NF_DUP_IPV4 is not set +# CONFIG_NF_LOG_ARP is not set +# CONFIG_NF_LOG_IPV4 is not set +CONFIG_NF_REJECT_IPV4=y +CONFIG_IP_NF_IPTABLES=y +# CONFIG_IP_NF_MATCH_AH is not set +# CONFIG_IP_NF_MATCH_ECN is not set +# CONFIG_IP_NF_MATCH_RPFILTER is not set +# CONFIG_IP_NF_MATCH_TTL is not set +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +# CONFIG_IP_NF_TARGET_SYNPROXY is not set +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +# CONFIG_IP_NF_TARGET_NETMAP is not set +# CONFIG_IP_NF_TARGET_REDIRECT is not set +CONFIG_IP_NF_MANGLE=y +# CONFIG_IP_NF_TARGET_CLUSTERIP is not set +# CONFIG_IP_NF_TARGET_ECN is not set +# CONFIG_IP_NF_TARGET_TTL is not set +# CONFIG_IP_NF_RAW is not set +# CONFIG_IP_NF_SECURITY is not set +# CONFIG_IP_NF_ARPTABLES is not set +# end of IP: Netfilter Configuration + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_SOCKET_IPV6 is not set +# CONFIG_NF_TPROXY_IPV6 is not set +# CONFIG_NF_DUP_IPV6 is not set +CONFIG_NF_REJECT_IPV6=y +CONFIG_NF_LOG_IPV6=y +CONFIG_IP6_NF_IPTABLES=y +# CONFIG_IP6_NF_MATCH_AH is not set +# CONFIG_IP6_NF_MATCH_EUI64 is not set +# CONFIG_IP6_NF_MATCH_FRAG is not set +# CONFIG_IP6_NF_MATCH_OPTS is not set +# CONFIG_IP6_NF_MATCH_HL is not set +# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set +# CONFIG_IP6_NF_MATCH_MH is not set +# CONFIG_IP6_NF_MATCH_RPFILTER is not set +# CONFIG_IP6_NF_MATCH_RT is not set +# CONFIG_IP6_NF_MATCH_SRH is not set +# CONFIG_IP6_NF_TARGET_HL is not set +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +# CONFIG_IP6_NF_TARGET_SYNPROXY is not set +CONFIG_IP6_NF_MANGLE=y +# CONFIG_IP6_NF_RAW is not set +# CONFIG_IP6_NF_SECURITY is not set +CONFIG_IP6_NF_NAT=y +CONFIG_IP6_NF_TARGET_MASQUERADE=y +# CONFIG_IP6_NF_TARGET_NPT is not set +# end of IPv6: Netfilter Configuration + +CONFIG_NF_DEFRAG_IPV6=y +# CONFIG_NF_CONNTRACK_BRIDGE is not set +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_BPFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_GARP=y +CONFIG_MRP=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_BRIDGE_VLAN_FILTERING=y +# CONFIG_BRIDGE_MRP is not set +# CONFIG_BRIDGE_CFM is not set +CONFIG_NET_DSA=y +# CONFIG_NET_DSA_TAG_AR9331 is not set +# CONFIG_NET_DSA_TAG_BRCM is not set +# CONFIG_NET_DSA_TAG_BRCM_LEGACY is not set +# CONFIG_NET_DSA_TAG_BRCM_PREPEND is not set +# CONFIG_NET_DSA_TAG_HELLCREEK is not set +# CONFIG_NET_DSA_TAG_GSWIP is not set +# CONFIG_NET_DSA_TAG_DSA is not set +# CONFIG_NET_DSA_TAG_EDSA is not set +# CONFIG_NET_DSA_TAG_MTK is not set +# CONFIG_NET_DSA_TAG_KSZ is not set +CONFIG_NET_DSA_TAG_OCELOT=y +CONFIG_NET_DSA_TAG_OCELOT_8021Q=y +# CONFIG_NET_DSA_TAG_QCA is not set +# CONFIG_NET_DSA_TAG_RTL4_A is not set +# CONFIG_NET_DSA_TAG_RTL8_4 is not set +# CONFIG_NET_DSA_TAG_LAN9303 is not set +# CONFIG_NET_DSA_TAG_SJA1105 is not set +# CONFIG_NET_DSA_TAG_TRAILER is not set +# CONFIG_NET_DSA_TAG_XRS700X is not set +CONFIG_VLAN_8021Q=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +# CONFIG_DECNET is not set +CONFIG_LLC=y +# CONFIG_LLC2 is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +# CONFIG_NET_SCH_CBQ is not set +# CONFIG_NET_SCH_HTB is not set +# CONFIG_NET_SCH_HFSC is not set +# CONFIG_NET_SCH_PRIO is not set +# CONFIG_NET_SCH_MULTIQ is not set +# CONFIG_NET_SCH_RED is not set +# CONFIG_NET_SCH_SFB is not set +# CONFIG_NET_SCH_SFQ is not set +# CONFIG_NET_SCH_TEQL is not set +# CONFIG_NET_SCH_TBF is not set +CONFIG_NET_SCH_CBS=y +CONFIG_NET_SCH_ETF=y +CONFIG_NET_SCH_TAPRIO=y +# CONFIG_NET_SCH_GRED is not set +# CONFIG_NET_SCH_DSMARK is not set +# CONFIG_NET_SCH_NETEM is not set +# CONFIG_NET_SCH_DRR is not set +CONFIG_NET_SCH_MQPRIO=y +# CONFIG_NET_SCH_SKBPRIO is not set +# CONFIG_NET_SCH_CHOKE is not set +# CONFIG_NET_SCH_QFQ is not set +# CONFIG_NET_SCH_CODEL is not set +# CONFIG_NET_SCH_FQ_CODEL is not set +# CONFIG_NET_SCH_CAKE is not set +# CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_HHF is not set +# CONFIG_NET_SCH_PIE is not set +CONFIG_NET_SCH_INGRESS=y +# CONFIG_NET_SCH_PLUG is not set +# CONFIG_NET_SCH_ETS is not set +# CONFIG_NET_SCH_DEFAULT is not set + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=y +# CONFIG_NET_CLS_TCINDEX is not set +# CONFIG_NET_CLS_ROUTE4 is not set +# CONFIG_NET_CLS_FW is not set +# CONFIG_NET_CLS_U32 is not set +# CONFIG_NET_CLS_RSVP is not set +# CONFIG_NET_CLS_RSVP6 is not set +# CONFIG_NET_CLS_FLOW is not set +# CONFIG_NET_CLS_CGROUP is not set +# CONFIG_NET_CLS_BPF is not set +CONFIG_NET_CLS_FLOWER=y +# CONFIG_NET_CLS_MATCHALL is not set +# CONFIG_NET_EMATCH is not set +CONFIG_NET_CLS_ACT=y +# CONFIG_NET_ACT_POLICE is not set +CONFIG_NET_ACT_GACT=y +# CONFIG_GACT_PROB is not set +CONFIG_NET_ACT_MIRRED=y +# CONFIG_NET_ACT_SAMPLE is not set +# CONFIG_NET_ACT_IPT is not set +# CONFIG_NET_ACT_NAT is not set +# CONFIG_NET_ACT_PEDIT is not set +# CONFIG_NET_ACT_SIMP is not set +# CONFIG_NET_ACT_SKBEDIT is not set +# CONFIG_NET_ACT_CSUM is not set +# CONFIG_NET_ACT_MPLS is not set +# CONFIG_NET_ACT_VLAN is not set +# CONFIG_NET_ACT_BPF is not set +# CONFIG_NET_ACT_SKBMOD is not set +# CONFIG_NET_ACT_IFE is not set +# CONFIG_NET_ACT_TUNNEL_KEY is not set +CONFIG_NET_ACT_GATE=y +# CONFIG_NET_TC_SKB_EXT is not set +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_NET_NSH is not set +# CONFIG_HSR is not set +CONFIG_NET_SWITCHDEV=y +# CONFIG_NET_L3_MASTER_DEV is not set +CONFIG_QRTR=y +CONFIG_QRTR_SMD=y +CONFIG_QRTR_TUN=y +# CONFIG_NET_NCSI is not set +CONFIG_PCPU_DEV_REFCNT=y +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +CONFIG_XPS=y +# CONFIG_CGROUP_NET_PRIO is not set +# CONFIG_CGROUP_NET_CLASSID is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +CONFIG_NET_FLOW_LIMIT=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# end of Network testing +# end of Networking options + +# CONFIG_HAMRADIO is not set +CONFIG_CAN=y +CONFIG_CAN_RAW=y +CONFIG_CAN_BCM=y +CONFIG_CAN_GW=y +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_ISOTP is not set + +# +# CAN Device Drivers +# +# CONFIG_CAN_VCAN is not set +# CONFIG_CAN_VXCAN is not set +# CONFIG_CAN_SLCAN is not set +CONFIG_CAN_DEV=y +CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_FLEXCAN=y +# CONFIG_CAN_GRCAN is not set +# CONFIG_CAN_KVASER_PCIEFD is not set +# CONFIG_CAN_XILINXCAN is not set +# CONFIG_CAN_C_CAN is not set +# CONFIG_CAN_CC770 is not set +# CONFIG_CAN_IFI_CANFD is not set +# CONFIG_CAN_M_CAN is not set +# CONFIG_CAN_PEAK_PCIEFD is not set +CONFIG_CAN_RCAR=y +CONFIG_CAN_RCAR_CANFD=y +# CONFIG_CAN_SJA1000 is not set +# CONFIG_CAN_SOFTING is not set + +# +# CAN SPI interfaces +# +# CONFIG_CAN_HI311X is not set +# CONFIG_CAN_MCP251X is not set +# CONFIG_CAN_MCP251XFD is not set +# end of CAN SPI interfaces + +# +# CAN USB interfaces +# +# CONFIG_CAN_8DEV_USB is not set +# CONFIG_CAN_EMS_USB is not set +# CONFIG_CAN_ESD_USB2 is not set +# CONFIG_CAN_ETAS_ES58X is not set +# CONFIG_CAN_GS_USB is not set +# CONFIG_CAN_KVASER_USB is not set +# CONFIG_CAN_MCBA_USB is not set +# CONFIG_CAN_PEAK_USB is not set +# CONFIG_CAN_UCAN is not set +# end of CAN USB interfaces + +# CONFIG_CAN_DEBUG_DEVICES is not set +# end of CAN Device Drivers + +CONFIG_BT=y +CONFIG_BT_BREDR=y +# CONFIG_BT_RFCOMM is not set +# CONFIG_BT_BNEP is not set +CONFIG_BT_HIDP=y +# CONFIG_BT_HS is not set +# CONFIG_BT_LE is not set +CONFIG_BT_LEDS=y +# CONFIG_BT_MSFTEXT is not set +# CONFIG_BT_AOSPEXT is not set +# CONFIG_BT_DEBUGFS is not set +# CONFIG_BT_SELFTEST is not set +# CONFIG_BT_FEATURE_DEBUG is not set + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=y +CONFIG_BT_BCM=y +CONFIG_BT_RTL=y +CONFIG_BT_QCA=y +CONFIG_BT_HCIBTUSB=y +# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set +CONFIG_BT_HCIBTUSB_BCM=y +# CONFIG_BT_HCIBTUSB_MTK is not set +CONFIG_BT_HCIBTUSB_RTL=y +# CONFIG_BT_HCIBTSDIO is not set +CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART_SERDEV=y +CONFIG_BT_HCIUART_H4=y +# CONFIG_BT_HCIUART_NOKIA is not set +# CONFIG_BT_HCIUART_BCSP is not set +# CONFIG_BT_HCIUART_ATH3K is not set +CONFIG_BT_HCIUART_LL=y +# CONFIG_BT_HCIUART_3WIRE is not set +# CONFIG_BT_HCIUART_INTEL is not set +CONFIG_BT_HCIUART_BCM=y +# CONFIG_BT_HCIUART_RTL is not set +CONFIG_BT_HCIUART_QCA=y +# CONFIG_BT_HCIUART_AG6XX is not set +# CONFIG_BT_HCIUART_MRVL is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_BT_MTKSDIO is not set +# CONFIG_BT_MTKUART is not set +CONFIG_BT_QCOMSMD=y +# CONFIG_BT_VIRTIO is not set +# end of Bluetooth device drivers + +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +# CONFIG_MCTP is not set +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +# CONFIG_CFG80211_WEXT is not set +CONFIG_MAC80211=y +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +CONFIG_RFKILL=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_GPIO is not set +CONFIG_NET_9P=y +CONFIG_NET_9P_VIRTIO=y +# CONFIG_NET_9P_XEN is not set +# CONFIG_NET_9P_DEBUG is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +CONFIG_NFC=y +# CONFIG_NFC_DIGITAL is not set +CONFIG_NFC_NCI=y +# CONFIG_NFC_NCI_SPI is not set +# CONFIG_NFC_NCI_UART is not set +# CONFIG_NFC_HCI is not set + +# +# Near Field Communication (NFC) devices +# +# CONFIG_NFC_VIRTUAL_NCI is not set +# CONFIG_NFC_FDP is not set +# CONFIG_NFC_PN533_USB is not set +# CONFIG_NFC_PN533_I2C is not set +# CONFIG_NFC_PN532_UART is not set +# CONFIG_NFC_MRVL_USB is not set +# CONFIG_NFC_ST_NCI_I2C is not set +# CONFIG_NFC_ST_NCI_SPI is not set +# CONFIG_NFC_NXP_NCI is not set +CONFIG_NFC_S3FWRN5=y +CONFIG_NFC_S3FWRN5_I2C=y +# CONFIG_NFC_S3FWRN82_UART is not set +# end of Near Field Communication (NFC) devices + +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set +# CONFIG_LWTUNNEL is not set +CONFIG_DST_CACHE=y +CONFIG_GRO_CELLS=y +CONFIG_NET_SELFTESTS=y +CONFIG_NET_DEVLINK=y +CONFIG_PAGE_POOL=y +CONFIG_FAILOVER=y +CONFIG_ETHTOOL_NETLINK=y # # Device Drivers # CONFIG_ARM_AMBA=y +CONFIG_TEGRA_AHB=y CONFIG_HAVE_PCI=y -# CONFIG_PCI is not set +CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_SYSCALL=y +CONFIG_PCIEPORTBUS=y +# CONFIG_HOTPLUG_PCI_PCIE is not set +# CONFIG_PCIEAER is not set +CONFIG_PCIEASPM=y +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCIE_PTM is not set +CONFIG_PCI_MSI=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y +CONFIG_PCI_QUIRKS=y +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_PF_STUB is not set +CONFIG_PCI_ATS=y +CONFIG_PCI_ECAM=y +CONFIG_PCI_BRIDGE_EMUL=y +CONFIG_PCI_IOV=y +# CONFIG_PCI_PRI is not set +CONFIG_PCI_PASID=y +CONFIG_PCI_LABEL=y +CONFIG_HOTPLUG_PCI=y +# CONFIG_HOTPLUG_PCI_CPCI is not set +# CONFIG_HOTPLUG_PCI_SHPC is not set + +# +# PCI controller drivers +# +CONFIG_PCI_AARDVARK=y +# CONFIG_PCIE_XILINX_NWL is not set +# CONFIG_PCI_FTPCI100 is not set +CONFIG_PCI_TEGRA=y +CONFIG_PCIE_RCAR_HOST=y +CONFIG_PCIE_RCAR_EP=y +CONFIG_PCI_HOST_COMMON=y +CONFIG_PCI_HOST_GENERIC=y +# CONFIG_PCIE_XILINX is not set +# CONFIG_PCIE_XILINX_CPM is not set +CONFIG_PCI_XGENE=y +CONFIG_PCI_XGENE_MSI=y +CONFIG_PCIE_IPROC=y +CONFIG_PCIE_IPROC_PLATFORM=y +CONFIG_PCIE_IPROC_MSI=y +CONFIG_PCIE_ALTERA=y +CONFIG_PCIE_ALTERA_MSI=y +CONFIG_PCI_HOST_THUNDER_PEM=y +CONFIG_PCI_HOST_THUNDER_ECAM=y +CONFIG_PCIE_ROCKCHIP=y +CONFIG_PCIE_ROCKCHIP_HOST=y +# CONFIG_PCIE_ROCKCHIP_EP is not set +# CONFIG_PCIE_MEDIATEK is not set +# CONFIG_PCIE_MEDIATEK_GEN3 is not set +CONFIG_PCIE_BRCMSTB=y +# CONFIG_PCIE_MICROCHIP_HOST is not set +# CONFIG_PCIE_APPLE is not set + +# +# DesignWare PCI Core Support +# +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_HOST=y +# CONFIG_PCIE_DW_PLAT_HOST is not set +# CONFIG_PCIE_DW_PLAT_EP is not set +# CONFIG_PCI_EXYNOS is not set +CONFIG_PCI_IMX6=y +# CONFIG_PCI_KEYSTONE_HOST is not set +# CONFIG_PCI_KEYSTONE_EP is not set +CONFIG_PCI_LAYERSCAPE=y +# CONFIG_PCI_LAYERSCAPE_EP is not set +CONFIG_PCI_HISI=y +CONFIG_PCIE_QCOM=y +# CONFIG_PCIE_QCOM_EP is not set +CONFIG_PCIE_ARMADA_8K=y +# CONFIG_PCIE_ROCKCHIP_DW_HOST is not set +# CONFIG_PCIE_KEEMBAY_HOST is not set +# CONFIG_PCIE_KEEMBAY_EP is not set +CONFIG_PCIE_KIRIN=y +CONFIG_PCIE_HISI_STB=y +CONFIG_PCI_MESON=y +CONFIG_PCIE_TEGRA194=y +CONFIG_PCIE_TEGRA194_HOST=y +# CONFIG_PCIE_TEGRA194_EP is not set +CONFIG_PCIE_VISCONTI_HOST=y +# CONFIG_PCIE_UNIPHIER is not set +# CONFIG_PCIE_UNIPHIER_EP is not set +# CONFIG_PCIE_AL is not set +# end of DesignWare PCI Core Support + +# +# Mobiveil PCIe Core Support +# +CONFIG_PCIE_MOBIVEIL=y +CONFIG_PCIE_MOBIVEIL_HOST=y +# CONFIG_PCIE_MOBIVEIL_PLAT is not set +CONFIG_PCIE_LAYERSCAPE_GEN4=y +# end of Mobiveil PCIe Core Support + +# +# Cadence PCIe controllers support +# +# CONFIG_PCIE_CADENCE_PLAT_HOST is not set +# CONFIG_PCIE_CADENCE_PLAT_EP is not set +# CONFIG_PCI_J721E_HOST is not set +# CONFIG_PCI_J721E_EP is not set +# end of Cadence PCIe controllers support +# end of PCI controller drivers + +# +# PCI Endpoint +# +CONFIG_PCI_ENDPOINT=y +CONFIG_PCI_ENDPOINT_CONFIGFS=y +CONFIG_PCI_EPF_TEST=y +# CONFIG_PCI_EPF_NTB is not set +# end of PCI Endpoint + +# +# PCI switch controller drivers +# +# CONFIG_PCI_SW_SWITCHTEC is not set +# end of PCI switch controller drivers + +# CONFIG_CXL_BUS is not set # CONFIG_PCCARD is not set +# CONFIG_RAPIDIO is not set # # Generic Driver Options @@ -842,13 +1602,18 @@ CONFIG_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set -# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +CONFIG_SYS_HYPERVISOR=y CONFIG_GENERIC_CPU_AUTOPROBE=y CONFIG_GENERIC_CPU_VULNERABILITIES=y CONFIG_SOC_BUS=y CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SLIMBUS=y +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_SPMI=y CONFIG_REGMAP_MMIO=y +CONFIG_REGMAP_IRQ=y +CONFIG_REGMAP_SOUNDWIRE=y CONFIG_DMA_SHARED_BUFFER=y # CONFIG_DMA_FENCE_TRACE is not set CONFIG_GENERIC_ARCH_TOPOLOGY=y @@ -858,10 +1623,23 @@ CONFIG_GENERIC_ARCH_TOPOLOGY=y # Bus devices # CONFIG_BRCMSTB_GISB_ARB=y +# CONFIG_MOXTET is not set +CONFIG_HISILICON_LPC=y +# CONFIG_IMX_WEIM is not set +CONFIG_QCOM_EBI2=y +CONFIG_SUN50I_DE2_BUS=y +CONFIG_SUNXI_RSB=y +CONFIG_TEGRA_ACONNECT=y +# CONFIG_TEGRA_GMI is not set +CONFIG_UNIPHIER_SYSTEM_BUS=y CONFIG_VEXPRESS_CONFIG=y +CONFIG_FSL_MC_BUS=y +# CONFIG_FSL_MC_UAPI_SUPPORT is not set # CONFIG_MHI_BUS is not set # end of Bus devices +# CONFIG_CONNECTOR is not set + # # Firmware Drivers # @@ -883,9 +1661,18 @@ CONFIG_ARM_SCPI_POWER_DOMAIN=y # CONFIG_ARM_SDE_INTERFACE is not set CONFIG_DMIID=y # CONFIG_DMI_SYSFS is not set +CONFIG_RASPBERRYPI_FIRMWARE=y +# CONFIG_FW_CFG_SYSFS is not set +CONFIG_INTEL_STRATIX10_SERVICE=y +CONFIG_INTEL_STRATIX10_RSU=y +CONFIG_QCOM_SCM=y +# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set CONFIG_SYSFB=y # CONFIG_SYSFB_SIMPLEFB is not set +CONFIG_TI_SCI_PROTOCOL=y +# CONFIG_TURRIS_MOX_RWTM is not set # CONFIG_ARM_FFA_TRANSPORT is not set +CONFIG_TEE_BNXT_FW=y # CONFIG_GOOGLE_FIRMWARE is not set # @@ -907,6 +1694,10 @@ CONFIG_EFI_CAPSULE_LOADER=y # end of EFI (Extensible Firmware Interface) Support CONFIG_EFI_EARLYCON=y +# CONFIG_IMX_DSP is not set +CONFIG_IMX_SCU=y +CONFIG_IMX_SCU_PD=y +CONFIG_MESON_SM=y CONFIG_ARM_PSCI_FW=y # CONFIG_ARM_PSCI_CHECKER is not set CONFIG_HAVE_ARM_SMCCC=y @@ -916,11 +1707,182 @@ CONFIG_ARM_SMCCC_SOC_ID=y # # Tegra firmware driver # +CONFIG_TEGRA_IVC=y +CONFIG_TEGRA_BPMP=y # end of Tegra firmware driver + +# +# Zynq MPSoC Firmware Drivers +# +CONFIG_ZYNQMP_FIRMWARE=y +# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set +# end of Zynq MPSoC Firmware Drivers # end of Firmware Drivers -# CONFIG_GNSS is not set -# CONFIG_MTD is not set +CONFIG_GNSS=y +CONFIG_GNSS_SERIAL=y +CONFIG_GNSS_MTK_SERIAL=y +# CONFIG_GNSS_SIRF_SERIAL is not set +# CONFIG_GNSS_UBX_SERIAL is not set +CONFIG_MTD=y + +# +# Partition parsers +# +# CONFIG_MTD_AR7_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +CONFIG_MTD_OF_PARTS=y +CONFIG_MTD_OF_PARTS_BCM4908=y +# CONFIG_MTD_OF_PARTS_LINKSYS_NS is not set +# CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_PARSER_TRX is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_QCOMSMEM_PARTS is not set +# end of Partition parsers + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y + +# +# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK. +# +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_GEN_PROBE=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_NOSWAP=y +# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_GEOMETRY is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_OTP is not set +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_CFI_AMDSTD=y +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_CFI_UTIL=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# end of RAM/ROM/Flash chip drivers + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +CONFIG_MTD_PHYSMAP=y +# CONFIG_MTD_PHYSMAP_COMPAT is not set +CONFIG_MTD_PHYSMAP_OF=y +# CONFIG_MTD_PHYSMAP_VERSATILE is not set +# CONFIG_MTD_PHYSMAP_GEMINI is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set +# end of Mapping drivers for chip access + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +CONFIG_MTD_DATAFLASH=y +# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set +# CONFIG_MTD_DATAFLASH_OTP is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_MCHP48L640 is not set +CONFIG_MTD_SST25L=y +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# end of Self-contained MTD device drivers + +# +# NAND +# +CONFIG_MTD_NAND_CORE=y +# CONFIG_MTD_ONENAND is not set +CONFIG_MTD_RAW_NAND=y + +# +# Raw/parallel NAND flash controllers +# +CONFIG_MTD_NAND_DENALI=y +# CONFIG_MTD_NAND_DENALI_PCI is not set +CONFIG_MTD_NAND_DENALI_DT=y +# CONFIG_MTD_NAND_CAFE is not set +CONFIG_MTD_NAND_MARVELL=y +# CONFIG_MTD_NAND_BRCMNAND is not set +CONFIG_MTD_NAND_FSL_IFC=y +# CONFIG_MTD_NAND_MXC is not set +# CONFIG_MTD_NAND_SUNXI is not set +# CONFIG_MTD_NAND_HISI504 is not set +CONFIG_MTD_NAND_QCOM=y +# CONFIG_MTD_NAND_MTK is not set +# CONFIG_MTD_NAND_MXIC is not set +# CONFIG_MTD_NAND_TEGRA is not set +# CONFIG_MTD_NAND_MESON is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_CADENCE is not set +# CONFIG_MTD_NAND_ARASAN is not set +# CONFIG_MTD_NAND_INTEL_LGM is not set +# CONFIG_MTD_NAND_ROCKCHIP is not set + +# +# Misc +# +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_RICOH is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_SPI_NAND is not set + +# +# ECC engine support +# +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_ECC_SW_HAMMING=y +# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set +# CONFIG_MTD_NAND_ECC_SW_BCH is not set +# end of ECC engine support +# end of NAND + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# end of LPDDR & LPDDR2 PCM memory drivers + +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set +CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y +# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set +# CONFIG_SPI_HISI_SFC is not set +# CONFIG_MTD_UBI is not set +# CONFIG_MTD_HYPERBUS is not set CONFIG_DTC=y CONFIG_OF=y # CONFIG_OF_UNITTEST is not set @@ -936,20 +1898,30 @@ CONFIG_OF_OVERLAY=y # CONFIG_PARPORT is not set CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 - -# -# DRBD disabled because PROC_FS or INET not selected -# +# CONFIG_BLK_DEV_DRBD is not set +CONFIG_BLK_DEV_NBD=y +# CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_XEN_BLKDEV_FRONTEND=y +# CONFIG_XEN_BLKDEV_BACKEND is not set CONFIG_VIRTIO_BLK=y +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set # # NVME Support # +CONFIG_NVME_CORE=y +CONFIG_BLK_DEV_NVME=y +# CONFIG_NVME_MULTIPATH is not set +# CONFIG_NVME_HWMON is not set # CONFIG_NVME_FC is not set +# CONFIG_NVME_TCP is not set # CONFIG_NVME_TARGET is not set # end of NVME Support @@ -958,8 +1930,14 @@ CONFIG_VIRTIO_BLK=y # # CONFIG_AD525X_DPOT is not set # CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_TIFM_CORE is not set # CONFIG_ICS932S401 is not set # CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HI6421V600_IRQ is not set +# CONFIG_HP_ILO is not set +# CONFIG_QCOM_COINCELL is not set +# CONFIG_QCOM_FASTRPC is not set # CONFIG_APDS9802ALS is not set # CONFIG_ISL29003 is not set # CONFIG_ISL29020 is not set @@ -968,29 +1946,46 @@ CONFIG_VIRTIO_BLK=y # CONFIG_SENSORS_APDS990X is not set # CONFIG_HMC6352 is not set # CONFIG_DS1682 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set CONFIG_SRAM=y +# CONFIG_DW_XDATA_PCIE is not set +CONFIG_PCI_ENDPOINT_TEST=y # CONFIG_XILINX_SDFEC is not set +# CONFIG_HISI_HIKEY_USB is not set # CONFIG_C2PORT is not set # # EEPROM support # -CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_AT24=y +CONFIG_EEPROM_AT25=y # CONFIG_EEPROM_LEGACY is not set # CONFIG_EEPROM_MAX6875 is not set # CONFIG_EEPROM_93CX6 is not set +# CONFIG_EEPROM_93XX46 is not set # CONFIG_EEPROM_IDT_89HPESX is not set # CONFIG_EEPROM_EE1004 is not set # end of EEPROM support +# CONFIG_CB710_CORE is not set + # # Texas Instruments shared transport line discipline # +# CONFIG_TI_ST is not set # end of Texas Instruments shared transport line discipline +# CONFIG_SENSORS_LIS3_SPI is not set # CONFIG_SENSORS_LIS3_I2C is not set # CONFIG_ALTERA_STAPL is not set +# CONFIG_GENWQE is not set # CONFIG_ECHO is not set +# CONFIG_BCM_VK is not set +# CONFIG_MISC_ALCOR_PCI is not set +# CONFIG_MISC_RTSX_PCI is not set +# CONFIG_MISC_RTSX_USB is not set +# CONFIG_HABANA_AI is not set +CONFIG_UACCE=y # CONFIG_PVPANIC is not set # end of Misc devices @@ -998,7 +1993,7 @@ CONFIG_EEPROM_AT24=m # SCSI device support # CONFIG_SCSI_MOD=y -CONFIG_RAID_ATTRS=m +CONFIG_RAID_ATTRS=y CONFIG_SCSI_COMMON=y CONFIG_SCSI=y CONFIG_SCSI_DMA=y @@ -1021,35 +2016,863 @@ CONFIG_BLK_DEV_BSG=y # SCSI Transports # # CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set CONFIG_SCSI_SAS_ATTRS=y CONFIG_SCSI_SAS_LIBSAS=y +CONFIG_SCSI_SAS_ATA=y CONFIG_SCSI_SAS_HOST_SMP=y # CONFIG_SCSI_SRP_ATTRS is not set # end of SCSI Transports CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set # CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +CONFIG_SCSI_HISI_SAS=y +# CONFIG_SCSI_HISI_SAS_DEBUGFS_DEFAULT_ENABLE is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +CONFIG_MEGARAID_SAS=y +CONFIG_SCSI_MPT3SAS=y +CONFIG_SCSI_MPT2SAS_MAX_SGE=128 +CONFIG_SCSI_MPT3SAS_MAX_SGE=128 +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_MPI3MR is not set +# CONFIG_SCSI_SMARTPQI is not set CONFIG_SCSI_UFSHCD=y +# CONFIG_SCSI_UFSHCD_PCI is not set CONFIG_SCSI_UFSHCD_PLATFORM=y # CONFIG_SCSI_UFS_CDNS_PLATFORM is not set # CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set +CONFIG_SCSI_UFS_QCOM=y +# CONFIG_SCSI_UFS_MEDIATEK is not set +CONFIG_SCSI_UFS_HISI=y +# CONFIG_SCSI_UFS_TI_J721E is not set # CONFIG_SCSI_UFS_BSG is not set +CONFIG_SCSI_UFS_EXYNOS=y # CONFIG_SCSI_UFS_HPB is not set # CONFIG_SCSI_UFS_HWMON is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_MYRB is not set +# CONFIG_SCSI_MYRS is not set +# CONFIG_XEN_SCSI_FRONTEND is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FDOMAIN_PCI is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_WD719X is not set # CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set # CONFIG_SCSI_VIRTIO is not set # CONFIG_SCSI_DH is not set # end of SCSI device support CONFIG_HAVE_PATA_PLATFORM=y -# CONFIG_ATA is not set -# CONFIG_MD is not set +CONFIG_ATA=y +CONFIG_SATA_HOST=y +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATA_FORCE=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +CONFIG_SATA_AHCI=y +CONFIG_SATA_MOBILE_LPM_POLICY=0 +CONFIG_SATA_AHCI_PLATFORM=y +# CONFIG_AHCI_BRCM is not set +# CONFIG_AHCI_IMX is not set +CONFIG_AHCI_CEVA=y +# CONFIG_AHCI_MTK is not set +CONFIG_AHCI_MVEBU=y +# CONFIG_AHCI_SUNXI is not set +# CONFIG_AHCI_TEGRA is not set +CONFIG_AHCI_XGENE=y +CONFIG_AHCI_QORIQ=y +# CONFIG_SATA_AHCI_SEATTLE is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +CONFIG_SATA_SIL24=y +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_DWC is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +CONFIG_SATA_RCAR=y +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IMX is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +CONFIG_PATA_PLATFORM=y +CONFIG_PATA_OF_PLATFORM=y +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +CONFIG_MD=y +CONFIG_BLK_DEV_MD=y +CONFIG_MD_AUTODETECT=y +# CONFIG_MD_LINEAR is not set +# CONFIG_MD_RAID0 is not set +# CONFIG_MD_RAID1 is not set +# CONFIG_MD_RAID10 is not set +# CONFIG_MD_RAID456 is not set +# CONFIG_MD_MULTIPATH is not set +# CONFIG_MD_FAULTY is not set +# CONFIG_BCACHE is not set +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=y +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_UNSTRIPED is not set +# CONFIG_DM_CRYPT is not set +# CONFIG_DM_SNAPSHOT is not set +# CONFIG_DM_THIN_PROVISIONING is not set +# CONFIG_DM_CACHE is not set +# CONFIG_DM_WRITECACHE is not set +# CONFIG_DM_EBS is not set +# CONFIG_DM_ERA is not set +# CONFIG_DM_CLONE is not set +CONFIG_DM_MIRROR=y +# CONFIG_DM_LOG_USERSPACE is not set +# CONFIG_DM_RAID is not set +CONFIG_DM_ZERO=y +# CONFIG_DM_MULTIPATH is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_DUST is not set +# CONFIG_DM_INIT is not set +# CONFIG_DM_UEVENT is not set +# CONFIG_DM_FLAKEY is not set +# CONFIG_DM_VERITY is not set +# CONFIG_DM_SWITCH is not set +# CONFIG_DM_LOG_WRITES is not set +# CONFIG_DM_INTEGRITY is not set +# CONFIG_DM_AUDIT is not set # CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +# end of IEEE 1394 (FireWire) support + +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_WIREGUARD is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC is not set +# CONFIG_IFB is not set +# CONFIG_NET_TEAM is not set +CONFIG_MACVLAN=y +CONFIG_MACVTAP=y +# CONFIG_IPVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_GENEVE is not set +# CONFIG_BAREUDP is not set +# CONFIG_GTP is not set +# CONFIG_AMT is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +CONFIG_TUN=y +CONFIG_TAP=y +# CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_VETH=y +CONFIG_VIRTIO_NET=y +# CONFIG_NLMON is not set +# CONFIG_ARCNET is not set + +# +# Distributed Switch Architecture drivers +# +# CONFIG_B53 is not set +# CONFIG_NET_DSA_BCM_SF2 is not set +# CONFIG_NET_DSA_LOOP is not set +# CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK is not set +# CONFIG_NET_DSA_LANTIQ_GSWIP is not set +# CONFIG_NET_DSA_MT7530 is not set +# CONFIG_NET_DSA_MV88E6060 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MV88E6XXX is not set +CONFIG_NET_DSA_MSCC_FELIX=y +# CONFIG_NET_DSA_MSCC_SEVILLE is not set +# CONFIG_NET_DSA_AR9331 is not set +# CONFIG_NET_DSA_SJA1105 is not set +# CONFIG_NET_DSA_XRS700X_I2C is not set +# CONFIG_NET_DSA_XRS700X_MDIO is not set +# CONFIG_NET_DSA_QCA8K is not set +# CONFIG_NET_DSA_REALTEK_SMI is not set +# CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set +# CONFIG_NET_DSA_SMSC_LAN9303_MDIO is not set +# CONFIG_NET_DSA_VITESSE_VSC73XX_SPI is not set +# CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM is not set +# end of Distributed Switch Architecture drivers + +CONFIG_ETHERNET=y +CONFIG_MDIO=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +CONFIG_NET_VENDOR_ACTIONS=y +# CONFIG_OWL_EMAC is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +# CONFIG_ET131X is not set +CONFIG_NET_VENDOR_ALACRITECH=y +# CONFIG_SLICOSS is not set +CONFIG_NET_VENDOR_ALLWINNER=y +# CONFIG_SUN4I_EMAC is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMAZON=y +# CONFIG_ENA_ETHERNET is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +CONFIG_AMD_XGBE=y +CONFIG_NET_XGENE=y +# CONFIG_NET_XGENE_V2 is not set +CONFIG_NET_VENDOR_AQUANTIA=y +# CONFIG_AQTION is not set +CONFIG_NET_VENDOR_ARC=y +# CONFIG_EMAC_ROCKCHIP is not set +CONFIG_NET_VENDOR_ASIX=y +# CONFIG_SPI_AX88796C is not set +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +CONFIG_ATL1C=y +# CONFIG_ALX is not set +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +CONFIG_BCM4908_ENET=y +CONFIG_BCMGENET=y +# CONFIG_BNX2 is not set +# CONFIG_CNIC is not set +# CONFIG_TIGON3 is not set +CONFIG_BNX2X=y +CONFIG_BNX2X_SRIOV=y +CONFIG_BGMAC=y +CONFIG_BGMAC_PLATFORM=y +# CONFIG_SYSTEMPORT is not set +# CONFIG_BNXT is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +CONFIG_NET_VENDOR_CADENCE=y +CONFIG_MACB=y +CONFIG_MACB_USE_HWSTAMP=y +# CONFIG_MACB_PCI is not set +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_THUNDER_NIC_PF=y +# CONFIG_THUNDER_NIC_VF is not set +CONFIG_THUNDER_NIC_BGX=y +CONFIG_THUNDER_NIC_RGX=y +# CONFIG_CAVIUM_PTP is not set +# CONFIG_LIQUIDIO is not set +# CONFIG_LIQUIDIO_VF is not set +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +CONFIG_NET_VENDOR_CORTINA=y +# CONFIG_GEMINI_ETHERNET is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_FREESCALE=y +CONFIG_FEC=y +CONFIG_FSL_FMAN=y +CONFIG_DPAA_ERRATUM_A050385=y +# CONFIG_FSL_PQ_MDIO is not set +CONFIG_FSL_XGMAC_MDIO=y +# CONFIG_GIANFAR is not set +CONFIG_FSL_DPAA_ETH=y +CONFIG_FSL_DPAA2_ETH=y +CONFIG_FSL_DPAA2_PTP_CLOCK=y +# CONFIG_FSL_DPAA2_SWITCH is not set +CONFIG_FSL_ENETC=y +CONFIG_FSL_ENETC_VF=y +CONFIG_FSL_ENETC_IERB=y +CONFIG_FSL_ENETC_MDIO=y +CONFIG_FSL_ENETC_PTP_CLOCK=y +CONFIG_FSL_ENETC_QOS=y +CONFIG_NET_VENDOR_GOOGLE=y +# CONFIG_GVE is not set +CONFIG_NET_VENDOR_HISILICON=y +CONFIG_HIX5HD2_GMAC=y +# CONFIG_HISI_FEMAC is not set +# CONFIG_HIP04_ETH is not set +CONFIG_HNS_MDIO=y +CONFIG_HNS=y +CONFIG_HNS_DSAF=y +CONFIG_HNS_ENET=y +CONFIG_HNS3=y +CONFIG_HNS3_HCLGE=y +# CONFIG_HNS3_HCLGEVF is not set +CONFIG_HNS3_ENET=y +CONFIG_NET_VENDOR_HUAWEI=y +# CONFIG_HINIC is not set +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_INTEL=y +# CONFIG_E100 is not set +CONFIG_E1000=y +CONFIG_E1000E=y +CONFIG_IGB=y +CONFIG_IGB_HWMON=y +CONFIG_IGBVF=y +# CONFIG_IXGB is not set +# CONFIG_IXGBE is not set +# CONFIG_IXGBEVF is not set +# CONFIG_I40E is not set +# CONFIG_I40EVF is not set +# CONFIG_ICE is not set +# CONFIG_FM10K is not set +# CONFIG_IGC is not set +CONFIG_NET_VENDOR_MICROSOFT=y +# CONFIG_JME is not set +CONFIG_NET_VENDOR_LITEX=y +# CONFIG_LITEX_LITEETH is not set +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_MVMDIO=y +CONFIG_MVNETA=y +CONFIG_MVPP2=y +# CONFIG_MVPP2_PTP is not set +# CONFIG_PXA168_ETH is not set +# CONFIG_SKGE is not set +CONFIG_SKY2=y +# CONFIG_SKY2_DEBUG is not set +# CONFIG_OCTEONTX2_AF is not set +# CONFIG_OCTEONTX2_PF is not set +# CONFIG_PRESTERA is not set +# CONFIG_NET_VENDOR_MEDIATEK is not set +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_MLX4_EN=y +CONFIG_MLX4_CORE=y +CONFIG_MLX4_DEBUG=y +CONFIG_MLX4_CORE_GEN2=y +CONFIG_MLX5_CORE=y +# CONFIG_MLX5_FPGA is not set +CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_EN_ARFS=y +CONFIG_MLX5_EN_RXNFC=y +CONFIG_MLX5_MPFS=y +CONFIG_MLX5_ESWITCH=y +CONFIG_MLX5_BRIDGE=y +CONFIG_MLX5_CLS_ACT=y +CONFIG_MLX5_TC_SAMPLE=y +# CONFIG_MLX5_CORE_IPOIB is not set +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_SF is not set +# CONFIG_MLXSW_CORE is not set +# CONFIG_MLXFW is not set +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8842 is not set +# CONFIG_KS8851 is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_KSZ884X_PCI is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +# CONFIG_LAN743X is not set +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_MSCC_OCELOT_SWITCH_LIB=y +# CONFIG_MSCC_OCELOT_SWITCH is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +CONFIG_NET_VENDOR_NATSEMI=y +# CONFIG_NATSEMI is not set +# CONFIG_NS83820 is not set +CONFIG_NET_VENDOR_NETERION=y +# CONFIG_S2IO is not set +# CONFIG_VXGE is not set +CONFIG_NET_VENDOR_NETRONOME=y +# CONFIG_NFP is not set +CONFIG_NET_VENDOR_NI=y +# CONFIG_NI_XGE_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_8390=y +# CONFIG_NE2K_PCI is not set +CONFIG_NET_VENDOR_NVIDIA=y +# CONFIG_FORCEDETH is not set +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +CONFIG_NET_VENDOR_PACKET_ENGINES=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_PENSANDO=y +# CONFIG_IONIC is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_QED is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000_SPI is not set +# CONFIG_QCA7000_UART is not set +CONFIG_QCOM_EMAC=y +CONFIG_RMNET=y +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_R8169 is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_SH_ETH=y +CONFIG_RAVB=y +CONFIG_NET_VENDOR_ROCKER=y +# CONFIG_ROCKER is not set +CONFIG_NET_VENDOR_SAMSUNG=y +# CONFIG_SXGBE_ETH is not set +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SOLARFLARE=y +# CONFIG_SFC is not set +# CONFIG_SFC_FALCON is not set +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +CONFIG_NET_VENDOR_SMSC=y +CONFIG_SMC91X=y +# CONFIG_EPIC100 is not set +CONFIG_SMSC911X=y +# CONFIG_SMSC9420 is not set +CONFIG_NET_VENDOR_SOCIONEXT=y +CONFIG_SNI_AVE=y +CONFIG_SNI_NETSEC=y +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_STMMAC_ETH=y +# CONFIG_STMMAC_SELFTESTS is not set +CONFIG_STMMAC_PLATFORM=y +# CONFIG_DWMAC_DWC_QOS_ETH is not set +CONFIG_DWMAC_GENERIC=y +CONFIG_DWMAC_IPQ806X=y +# CONFIG_DWMAC_MEDIATEK is not set +CONFIG_DWMAC_MESON=y +CONFIG_DWMAC_QCOM_ETHQOS=y +CONFIG_DWMAC_ROCKCHIP=y +CONFIG_DWMAC_SOCFPGA=y +CONFIG_DWMAC_SUNXI=y +CONFIG_DWMAC_SUN8I=y +CONFIG_DWMAC_IMX8=y +# CONFIG_DWMAC_INTEL_PLAT is not set +CONFIG_DWMAC_VISCONTI=y +# CONFIG_DWMAC_LOONGSON is not set +# CONFIG_STMMAC_PCI is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_DWC_XLGMAC is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +CONFIG_TI_DAVINCI_MDIO=y +# CONFIG_TI_CPSW_PHY_SEL is not set +CONFIG_TI_K3_AM65_CPSW_NUSS=y +# CONFIG_TI_K3_AM65_CPSW_SWITCHDEV is not set +# CONFIG_TI_K3_AM65_CPTS is not set +# CONFIG_TLAN is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +CONFIG_NET_VENDOR_XILINX=y +# CONFIG_XILINX_EMACLITE is not set +# CONFIG_XILINX_AXI_EMAC is not set +# CONFIG_XILINX_LL_TEMAC is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_QCOM_IPA=y +CONFIG_PHYLINK=y +CONFIG_PHYLIB=y +CONFIG_SWPHY=y +# CONFIG_LED_TRIGGER_PHY is not set +CONFIG_FIXED_PHY=y +# CONFIG_SFP is not set + +# +# MII PHY device drivers +# +# CONFIG_AMD_PHY is not set +CONFIG_MESON_GXL_PHY=y +# CONFIG_ADIN_PHY is not set +CONFIG_AQUANTIA_PHY=y +CONFIG_AX88796B_PHY=y +CONFIG_BROADCOM_PHY=y +CONFIG_BCM54140_PHY=y +CONFIG_BCM7XXX_PHY=y +# CONFIG_BCM84881_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_BCM_CYGNUS_PHY is not set +CONFIG_BCM_NET_PHYLIB=y +# CONFIG_CICADA_PHY is not set +# CONFIG_CORTINA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_INTEL_XWAY_PHY is not set +# CONFIG_LSI_ET1011C_PHY is not set +CONFIG_MARVELL_PHY=y +CONFIG_MARVELL_10G_PHY=y +# CONFIG_MARVELL_88X2222_PHY is not set +# CONFIG_MAXLINEAR_GPHY is not set +# CONFIG_MEDIATEK_GE_PHY is not set +CONFIG_MICREL_PHY=y +CONFIG_MICROCHIP_PHY=y +# CONFIG_MICROCHIP_T1_PHY is not set +CONFIG_MICROSEMI_PHY=y +# CONFIG_MOTORCOMM_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_NXP_C45_TJA11XX_PHY is not set +# CONFIG_NXP_TJA11XX_PHY is not set +CONFIG_AT803X_PHY=y +# CONFIG_QSEMI_PHY is not set +CONFIG_REALTEK_PHY=y +# CONFIG_RENESAS_PHY is not set +CONFIG_ROCKCHIP_PHY=y +CONFIG_SMSC_PHY=y +# CONFIG_STE10XP is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_DP83822_PHY is not set +# CONFIG_DP83TC811_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_DP83869_PHY is not set +CONFIG_VITESSE_PHY=y +# CONFIG_XILINX_GMII2RGMII is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_BUS=y +CONFIG_FWNODE_MDIO=y +CONFIG_OF_MDIO=y +CONFIG_MDIO_DEVRES=y +# CONFIG_MDIO_SUN4I is not set +CONFIG_MDIO_XGENE=y +CONFIG_MDIO_BITBANG=y +CONFIG_MDIO_BCM_IPROC=y +CONFIG_MDIO_BCM_UNIMAC=y +CONFIG_MDIO_CAVIUM=y +# CONFIG_MDIO_GPIO is not set +# CONFIG_MDIO_HISI_FEMAC is not set +# CONFIG_MDIO_MVUSB is not set +# CONFIG_MDIO_MSCC_MIIM is not set +# CONFIG_MDIO_OCTEON is not set +# CONFIG_MDIO_IPQ4019 is not set +# CONFIG_MDIO_IPQ8064 is not set +CONFIG_MDIO_THUNDER=y + +# +# MDIO Multiplexers +# +CONFIG_MDIO_BUS_MUX=y +CONFIG_MDIO_BUS_MUX_MESON_G12A=y +CONFIG_MDIO_BUS_MUX_BCM_IPROC=y +# CONFIG_MDIO_BUS_MUX_GPIO is not set +CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y +CONFIG_MDIO_BUS_MUX_MMIOREG=y + +# +# PCS device drivers +# +CONFIG_PCS_XPCS=y +CONFIG_PCS_LYNX=y +# end of PCS device drivers + +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +CONFIG_USB_PEGASUS=y +CONFIG_USB_RTL8150=y +CONFIG_USB_RTL8152=y +CONFIG_USB_LAN78XX=y +CONFIG_USB_USBNET=y +CONFIG_USB_NET_AX8817X=y +CONFIG_USB_NET_AX88179_178A=y +CONFIG_USB_NET_CDCETHER=y +# CONFIG_USB_NET_CDC_EEM is not set +CONFIG_USB_NET_CDC_NCM=y +# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set +# CONFIG_USB_NET_CDC_MBIM is not set +CONFIG_USB_NET_DM9601=y +# CONFIG_USB_NET_SR9700 is not set +CONFIG_USB_NET_SR9800=y +CONFIG_USB_NET_SMSC75XX=y +CONFIG_USB_NET_SMSC95XX=y +# CONFIG_USB_NET_GL620A is not set +CONFIG_USB_NET_NET1080=y +CONFIG_USB_NET_PLUSB=y +CONFIG_USB_NET_MCS7830=y +# CONFIG_USB_NET_RNDIS_HOST is not set +CONFIG_USB_NET_CDC_SUBSET_ENABLE=y +CONFIG_USB_NET_CDC_SUBSET=y +# CONFIG_USB_ALI_M5632 is not set +# CONFIG_USB_AN2720 is not set +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +# CONFIG_USB_EPSON2888 is not set +# CONFIG_USB_KC2190 is not set +CONFIG_USB_NET_ZAURUS=y +# CONFIG_USB_NET_CX82310_ETH is not set +# CONFIG_USB_NET_KALMIA is not set +# CONFIG_USB_NET_QMI_WWAN is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set +# CONFIG_USB_SIERRA_NET is not set +# CONFIG_USB_VL600 is not set +# CONFIG_USB_NET_CH9200 is not set +# CONFIG_USB_NET_AQC111 is not set +# CONFIG_USB_RTL8153_ECM is not set +CONFIG_WLAN=y +CONFIG_WLAN_VENDOR_ADMTEK=y +# CONFIG_ADM8211 is not set +CONFIG_ATH_COMMON=y +CONFIG_WLAN_VENDOR_ATH=y +# CONFIG_ATH_DEBUG is not set +# CONFIG_ATH5K is not set +# CONFIG_ATH5K_PCI is not set +# CONFIG_ATH9K is not set +# CONFIG_ATH9K_HTC is not set +# CONFIG_CARL9170 is not set +# CONFIG_ATH6KL is not set +# CONFIG_AR5523 is not set +# CONFIG_WIL6210 is not set +CONFIG_ATH10K=y +CONFIG_ATH10K_CE=y +CONFIG_ATH10K_PCI=y +# CONFIG_ATH10K_AHB is not set +# CONFIG_ATH10K_SDIO is not set +# CONFIG_ATH10K_USB is not set +CONFIG_ATH10K_SNOC=y +# CONFIG_ATH10K_DEBUG is not set +# CONFIG_ATH10K_DEBUGFS is not set +CONFIG_WCN36XX=y +# CONFIG_WCN36XX_DEBUGFS is not set +CONFIG_WLAN_VENDOR_ATMEL=y +# CONFIG_ATMEL is not set +# CONFIG_AT76C50X_USB is not set +CONFIG_WLAN_VENDOR_BROADCOM=y +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +CONFIG_BRCMUTIL=y +# CONFIG_BRCMSMAC is not set +CONFIG_BRCMFMAC=y +CONFIG_BRCMFMAC_PROTO_BCDC=y +CONFIG_BRCMFMAC_SDIO=y +# CONFIG_BRCMFMAC_USB is not set +# CONFIG_BRCMFMAC_PCIE is not set +# CONFIG_BRCM_TRACING is not set +# CONFIG_BRCMDBG is not set +CONFIG_WLAN_VENDOR_CISCO=y +CONFIG_WLAN_VENDOR_INTEL=y +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +# CONFIG_IWLWIFI is not set +CONFIG_WLAN_VENDOR_INTERSIL=y +# CONFIG_HOSTAP is not set +# CONFIG_HERMES is not set +# CONFIG_P54_COMMON is not set +CONFIG_WLAN_VENDOR_MARVELL=y +# CONFIG_LIBERTAS is not set +# CONFIG_LIBERTAS_THINFIRM is not set +CONFIG_MWIFIEX=y +# CONFIG_MWIFIEX_SDIO is not set +CONFIG_MWIFIEX_PCIE=y +# CONFIG_MWIFIEX_USB is not set +# CONFIG_MWL8K is not set +CONFIG_WLAN_VENDOR_MEDIATEK=y +# CONFIG_MT7601U is not set +# CONFIG_MT76x0U is not set +# CONFIG_MT76x0E is not set +# CONFIG_MT76x2E is not set +# CONFIG_MT76x2U is not set +# CONFIG_MT7603E is not set +# CONFIG_MT7615E is not set +# CONFIG_MT7663U is not set +# CONFIG_MT7663S is not set +# CONFIG_MT7915E is not set +# CONFIG_MT7921E is not set +# CONFIG_MT7921S is not set +CONFIG_WLAN_VENDOR_MICROCHIP=y +# CONFIG_WILC1000_SDIO is not set +# CONFIG_WILC1000_SPI is not set +CONFIG_WLAN_VENDOR_RALINK=y +# CONFIG_RT2X00 is not set +CONFIG_WLAN_VENDOR_REALTEK=y +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +CONFIG_RTL_CARDS=y +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_RTL8XXXU is not set +# CONFIG_RTW88 is not set +# CONFIG_RTW89 is not set +CONFIG_WLAN_VENDOR_RSI=y +# CONFIG_RSI_91X is not set +CONFIG_WLAN_VENDOR_ST=y +# CONFIG_CW1200 is not set +CONFIG_WLAN_VENDOR_TI=y +# CONFIG_WL1251 is not set +# CONFIG_WL12XX is not set +CONFIG_WL18XX=y +CONFIG_WLCORE=y +# CONFIG_WLCORE_SPI is not set +CONFIG_WLCORE_SDIO=y +CONFIG_WILINK_PLATFORM_DATA=y +CONFIG_WLAN_VENDOR_ZYDAS=y +# CONFIG_USB_ZD1201 is not set +# CONFIG_ZD1211RW is not set +CONFIG_WLAN_VENDOR_QUANTENNA=y +# CONFIG_QTNFMAC_PCIE is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_VIRT_WIFI is not set +# CONFIG_WAN is not set + +# +# Wireless WAN +# +# CONFIG_WWAN is not set +# end of Wireless WAN + +CONFIG_XEN_NETDEV_FRONTEND=y +# CONFIG_XEN_NETDEV_BACKEND is not set +# CONFIG_VMXNET3 is not set +# CONFIG_NETDEVSIM is not set +CONFIG_NET_FAILOVER=y +# CONFIG_ISDN is not set # # Input device support # CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y CONFIG_INPUT_FF_MEMLESS=y # CONFIG_INPUT_SPARSEKMAP is not set CONFIG_INPUT_MATRIXKMAP=y @@ -1066,7 +2889,7 @@ CONFIG_INPUT_EVDEV=y # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y -CONFIG_KEYBOARD_ADC=m +CONFIG_KEYBOARD_ADC=y # CONFIG_KEYBOARD_ADP5588 is not set # CONFIG_KEYBOARD_ADP5589 is not set CONFIG_KEYBOARD_ATKBD=y @@ -1080,19 +2903,28 @@ CONFIG_KEYBOARD_GPIO=y # CONFIG_KEYBOARD_TCA6416 is not set # CONFIG_KEYBOARD_TCA8418 is not set # CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_LM8323 is not set # CONFIG_KEYBOARD_LM8333 is not set # CONFIG_KEYBOARD_MAX7359 is not set # CONFIG_KEYBOARD_MCS is not set # CONFIG_KEYBOARD_MPR121 is not set +CONFIG_KEYBOARD_SNVS_PWRKEY=y +# CONFIG_KEYBOARD_IMX is not set +CONFIG_KEYBOARD_IMX_SC_KEY=y # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_TEGRA is not set # CONFIG_KEYBOARD_OPENCORES is not set # CONFIG_KEYBOARD_SAMSUNG is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_SUN4I_LRADC is not set # CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set # CONFIG_KEYBOARD_XTKBD is not set +CONFIG_KEYBOARD_CROS_EC=y # CONFIG_KEYBOARD_CAP11XX is not set # CONFIG_KEYBOARD_BCM is not set +# CONFIG_KEYBOARD_MTK_PMIC is not set # CONFIG_KEYBOARD_CYPRESS_SF is not set CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y @@ -1109,18 +2941,23 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_MOUSE_PS2_FOCALTECH=y CONFIG_MOUSE_PS2_SMBUS=y # CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set # CONFIG_MOUSE_CYAPA is not set # CONFIG_MOUSE_ELAN_I2C is not set # CONFIG_MOUSE_VSXXXAA is not set # CONFIG_MOUSE_GPIO is not set # CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set # CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_TABLET is not set CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +# CONFIG_TOUCHSCREEN_AD7877 is not set # CONFIG_TOUCHSCREEN_AD7879 is not set # CONFIG_TOUCHSCREEN_ADC is not set # CONFIG_TOUCHSCREEN_AR1021_I2C is not set -CONFIG_TOUCHSCREEN_ATMEL_MXT=m +CONFIG_TOUCHSCREEN_ATMEL_MXT=y # CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set # CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set # CONFIG_TOUCHSCREEN_BU21013 is not set @@ -1137,11 +2974,12 @@ CONFIG_TOUCHSCREEN_ATMEL_MXT=m # CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set # CONFIG_TOUCHSCREEN_EXC3000 is not set # CONFIG_TOUCHSCREEN_FUJITSU is not set -CONFIG_TOUCHSCREEN_GOODIX=m +CONFIG_TOUCHSCREEN_GOODIX=y # CONFIG_TOUCHSCREEN_HIDEEP is not set # CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set # CONFIG_TOUCHSCREEN_ILI210X is not set # CONFIG_TOUCHSCREEN_ILITEK is not set +# CONFIG_TOUCHSCREEN_IPROC is not set # CONFIG_TOUCHSCREEN_S6SY761 is not set # CONFIG_TOUCHSCREEN_GUNZE is not set # CONFIG_TOUCHSCREEN_EKTF2127 is not set @@ -1159,19 +2997,26 @@ CONFIG_TOUCHSCREEN_GOODIX=m # CONFIG_TOUCHSCREEN_INEXIO is not set # CONFIG_TOUCHSCREEN_MK712 is not set # CONFIG_TOUCHSCREEN_PENMOUNT is not set -CONFIG_TOUCHSCREEN_EDT_FT5X06=m +CONFIG_TOUCHSCREEN_EDT_FT5X06=y +# CONFIG_TOUCHSCREEN_RASPBERRYPI_FW is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set # CONFIG_TOUCHSCREEN_PIXCIR is not set # CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set # CONFIG_TOUCHSCREEN_TSC_SERIO is not set # CONFIG_TOUCHSCREEN_TSC2004 is not set +# CONFIG_TOUCHSCREEN_TSC2005 is not set # CONFIG_TOUCHSCREEN_TSC2007 is not set # CONFIG_TOUCHSCREEN_RM_TS is not set # CONFIG_TOUCHSCREEN_SILEAD is not set # CONFIG_TOUCHSCREEN_SIS_I2C is not set # CONFIG_TOUCHSCREEN_ST1232 is not set +# CONFIG_TOUCHSCREEN_STMFTS is not set +# CONFIG_TOUCHSCREEN_SUN4I is not set +# CONFIG_TOUCHSCREEN_SUR40 is not set +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set # CONFIG_TOUCHSCREEN_SX8654 is not set # CONFIG_TOUCHSCREEN_TPS6507X is not set # CONFIG_TOUCHSCREEN_ZET6223 is not set @@ -1184,23 +3029,37 @@ CONFIG_INPUT_MISC=y # CONFIG_INPUT_ATMEL_CAPTOUCH is not set # CONFIG_INPUT_BMA150 is not set # CONFIG_INPUT_E3X0_BUTTON is not set +CONFIG_INPUT_PM8941_PWRKEY=y +CONFIG_INPUT_PM8XXX_VIBRATOR=y # CONFIG_INPUT_MMA8450 is not set # CONFIG_INPUT_GPIO_BEEPER is not set # CONFIG_INPUT_GPIO_DECODER is not set # CONFIG_INPUT_GPIO_VIBRA is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYSPAN_REMOTE is not set # CONFIG_INPUT_KXTJ9 is not set +# CONFIG_INPUT_POWERMATE is not set +# CONFIG_INPUT_YEALINK is not set +# CONFIG_INPUT_CM109 is not set # CONFIG_INPUT_REGULATOR_HAPTIC is not set +# CONFIG_INPUT_AXP20X_PEK is not set # CONFIG_INPUT_UINPUT is not set # CONFIG_INPUT_PCF8574 is not set +# CONFIG_INPUT_PWM_BEEPER is not set +CONFIG_INPUT_PWM_VIBRA=y +# CONFIG_INPUT_RK805_PWRKEY is not set # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set # CONFIG_INPUT_DA7280_HAPTICS is not set # CONFIG_INPUT_ADXL34X is not set +# CONFIG_INPUT_IMS_PCU is not set # CONFIG_INPUT_IQS269A is not set # CONFIG_INPUT_IQS626A is not set # CONFIG_INPUT_CMA3000 is not set +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y # CONFIG_INPUT_DRV260X_HAPTICS is not set # CONFIG_INPUT_DRV2665_HAPTICS is not set # CONFIG_INPUT_DRV2667_HAPTICS is not set +CONFIG_INPUT_HISI_POWERKEY=y # CONFIG_RMI4_CORE is not set # @@ -1209,12 +3068,14 @@ CONFIG_INPUT_MISC=y CONFIG_SERIO=y # CONFIG_SERIO_SERPORT is not set CONFIG_SERIO_AMBAKMI=y +# CONFIG_SERIO_PCIPS2 is not set CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_RAW is not set # CONFIG_SERIO_ALTERA_PS2 is not set # CONFIG_SERIO_PS2MULT is not set # CONFIG_SERIO_ARC_PS2 is not set # CONFIG_SERIO_APBPS2 is not set +# CONFIG_SERIO_SUN4I_PS2 is not set # CONFIG_SERIO_GPIO_PS2 is not set # CONFIG_USERIO is not set # CONFIG_GAMEPORT is not set @@ -1246,6 +3107,8 @@ CONFIG_SERIAL_8250_16550A_VARIANTS=y # CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_DMA=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_EXAR=y CONFIG_SERIAL_8250_NR_UARTS=4 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y @@ -1255,9 +3118,16 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set # CONFIG_SERIAL_8250_RSA is not set CONFIG_SERIAL_8250_DWLIB=y +CONFIG_SERIAL_8250_BCM2835AUX=y CONFIG_SERIAL_8250_FSL=y CONFIG_SERIAL_8250_DW=y # CONFIG_SERIAL_8250_RT288X is not set +CONFIG_SERIAL_8250_OMAP=y +CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y +CONFIG_SERIAL_8250_MT6577=y +CONFIG_SERIAL_8250_UNIPHIER=y +CONFIG_SERIAL_8250_TEGRA=y +CONFIG_SERIAL_8250_BCM7271=y CONFIG_SERIAL_OF_PLATFORM=y # @@ -1267,9 +3137,33 @@ CONFIG_SERIAL_OF_PLATFORM=y CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y # CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +CONFIG_SERIAL_MESON=y +CONFIG_SERIAL_MESON_CONSOLE=y +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_UARTS_4=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_TEGRA=y +CONFIG_SERIAL_TEGRA_TCU=y +CONFIG_SERIAL_TEGRA_TCU_CONSOLE=y +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +CONFIG_SERIAL_IMX=y +CONFIG_SERIAL_IMX_CONSOLE=y +CONFIG_SERIAL_IMX_EARLYCON=y # CONFIG_SERIAL_UARTLITE is not set +CONFIG_SERIAL_SH_SCI=y +CONFIG_SERIAL_SH_SCI_NR_UARTS=18 +CONFIG_SERIAL_SH_SCI_CONSOLE=y +CONFIG_SERIAL_SH_SCI_EARLYCON=y +CONFIG_SERIAL_SH_SCI_DMA=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_JSM is not set +CONFIG_SERIAL_MSM=y +CONFIG_SERIAL_MSM_CONSOLE=y +CONFIG_SERIAL_QCOM_GENI=y +CONFIG_SERIAL_QCOM_GENI_CONSOLE=y # CONFIG_SERIAL_SIFIVE is not set # CONFIG_SERIAL_SCCNXP is not set # CONFIG_SERIAL_SC16IS7XX is not set @@ -1279,52 +3173,81 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_XILINX_PS_UART=y CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y # CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_RP2 is not set CONFIG_SERIAL_FSL_LPUART=y CONFIG_SERIAL_FSL_LPUART_CONSOLE=y CONFIG_SERIAL_FSL_LINFLEXUART=y CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set # CONFIG_SERIAL_SPRD is not set +CONFIG_SERIAL_MVEBU_UART=y +CONFIG_SERIAL_MVEBU_CONSOLE=y +CONFIG_SERIAL_OWL=y +CONFIG_SERIAL_OWL_CONSOLE=y # end of Serial drivers CONFIG_SERIAL_MCTRL_GPIO=y # CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_NOZOMI is not set # CONFIG_NULL_TTY is not set CONFIG_HVC_DRIVER=y +CONFIG_HVC_IRQ=y +CONFIG_HVC_XEN=y +CONFIG_HVC_XEN_FRONTEND=y # CONFIG_HVC_DCC is not set +# CONFIG_RPMSG_TTY is not set CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_VIRTIO_CONSOLE=y -CONFIG_IPMI_HANDLER=m +CONFIG_IPMI_HANDLER=y CONFIG_IPMI_DMI_DECODE=y CONFIG_IPMI_PLAT_DATA=y # CONFIG_IPMI_PANIC_EVENT is not set -CONFIG_IPMI_DEVICE_INTERFACE=m -CONFIG_IPMI_SI=m +CONFIG_IPMI_DEVICE_INTERFACE=y +CONFIG_IPMI_SI=y # CONFIG_IPMI_SSIF is not set # CONFIG_IPMI_IPMB is not set # CONFIG_IPMI_WATCHDOG is not set # CONFIG_IPMI_POWEROFF is not set # CONFIG_IPMB_DEVICE_INTERFACE is not set -CONFIG_HW_RANDOM=m +CONFIG_HW_RANDOM=y # CONFIG_HW_RANDOM_TIMERIOMEM is not set # CONFIG_HW_RANDOM_BA431 is not set +CONFIG_HW_RANDOM_BCM2835=y +CONFIG_HW_RANDOM_IPROC_RNG200=y +CONFIG_HW_RANDOM_OMAP=y # CONFIG_HW_RANDOM_VIRTIO is not set -CONFIG_HW_RANDOM_OPTEE=m +CONFIG_HW_RANDOM_HISI=y +CONFIG_HW_RANDOM_XGENE=y +CONFIG_HW_RANDOM_MESON=y +CONFIG_HW_RANDOM_CAVIUM=y +CONFIG_HW_RANDOM_MTK=y +CONFIG_HW_RANDOM_EXYNOS=y +CONFIG_HW_RANDOM_OPTEE=y # CONFIG_HW_RANDOM_CCTRNG is not set # CONFIG_HW_RANDOM_XIPHERA is not set -CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m +CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y +# CONFIG_APPLICOM is not set CONFIG_DEVMEM=y +CONFIG_DEVPORT=y CONFIG_TCG_TPM=y +CONFIG_HW_RANDOM_TPM=y # CONFIG_TCG_TIS is not set +# CONFIG_TCG_TIS_SPI is not set +# CONFIG_TCG_TIS_SYNQUACER is not set # CONFIG_TCG_TIS_I2C_CR50 is not set # CONFIG_TCG_TIS_I2C_ATMEL is not set CONFIG_TCG_TIS_I2C_INFINEON=y # CONFIG_TCG_TIS_I2C_NUVOTON is not set +# CONFIG_TCG_ATMEL is not set +# CONFIG_TCG_XEN is not set # CONFIG_TCG_VTPM_PROXY is not set # CONFIG_TCG_FTPM_TEE is not set # CONFIG_TCG_TIS_ST33ZP24_I2C is not set +# CONFIG_TCG_TIS_ST33ZP24_SPI is not set # CONFIG_XILLYBUS is not set +# CONFIG_XILLYUSB is not set # CONFIG_RANDOM_TRUST_BOOTLOADER is not set # end of Character devices @@ -1353,43 +3276,99 @@ CONFIG_I2C_MUX_PCA954x=y # end of Multiplexer I2C Chip support CONFIG_I2C_HELPER_AUTO=y -CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_SMBUS=y +CONFIG_I2C_ALGOBIT=y # # I2C Hardware Bus support # +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_HIX5HD2 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_NVIDIA_GPU is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + # # I2C system bus drivers (mostly embedded / system-on-chip) # +# CONFIG_I2C_ALTERA is not set +CONFIG_I2C_BCM2835=y +CONFIG_I2C_BCM_IPROC=y +CONFIG_I2C_BRCMSTB=y # CONFIG_I2C_CADENCE is not set # CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_DESIGNWARE_CORE=y # CONFIG_I2C_DESIGNWARE_SLAVE is not set CONFIG_I2C_DESIGNWARE_PLATFORM=y +# CONFIG_I2C_DESIGNWARE_PCI is not set # CONFIG_I2C_EMEV2 is not set -CONFIG_I2C_GPIO=m +CONFIG_I2C_EXYNOS5=y +CONFIG_I2C_GPIO=y # CONFIG_I2C_GPIO_FAULT_INJECTOR is not set +CONFIG_I2C_IMX=y +CONFIG_I2C_IMX_LPI2C=y +CONFIG_I2C_MESON=y +CONFIG_I2C_MT65XX=y +CONFIG_I2C_MV64XXX=y # CONFIG_I2C_NOMADIK is not set # CONFIG_I2C_OCORES is not set +CONFIG_I2C_OMAP=y +CONFIG_I2C_OWL=y +CONFIG_I2C_APPLE=y # CONFIG_I2C_PCA_PLATFORM is not set +CONFIG_I2C_PXA=y +# CONFIG_I2C_PXA_SLAVE is not set +CONFIG_I2C_QCOM_CCI=y +CONFIG_I2C_QCOM_GENI=y +CONFIG_I2C_QUP=y +CONFIG_I2C_RIIC=y CONFIG_I2C_RK3X=y +CONFIG_I2C_SH_MOBILE=y # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_SPRD is not set +# CONFIG_I2C_SYNQUACER is not set +CONFIG_I2C_TEGRA=y +CONFIG_I2C_TEGRA_BPMP=y +# CONFIG_I2C_UNIPHIER is not set +CONFIG_I2C_UNIPHIER_F=y # CONFIG_I2C_VERSATILE is not set +# CONFIG_I2C_THUNDERX is not set # CONFIG_I2C_XILINX is not set +# CONFIG_I2C_XLP9XX is not set +CONFIG_I2C_RCAR=y # # External I2C/SMBus adapter drivers # +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_CP2615 is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set # CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set # # Other I2C/SMBus bus drivers # +CONFIG_I2C_CROS_EC_TUNNEL=y +# CONFIG_I2C_XGENE_SLIMPRO is not set # CONFIG_I2C_VIRTIO is not set # end of I2C Hardware Bus support -# CONFIG_I2C_STUB is not set CONFIG_I2C_SLAVE=y # CONFIG_I2C_SLAVE_EEPROM is not set # CONFIG_I2C_SLAVE_TESTUNIT is not set @@ -1399,36 +3378,301 @@ CONFIG_I2C_SLAVE=y # end of I2C support # CONFIG_I3C is not set -# CONFIG_SPI is not set -# CONFIG_SPMI is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_ARMADA_3700=y +# CONFIG_SPI_AXI_SPI_ENGINE is not set +CONFIG_SPI_BCM2835=y +CONFIG_SPI_BCM2835AUX=y +CONFIG_SPI_BCM_QSPI=y +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +CONFIG_SPI_CADENCE_QUADSPI=y +# CONFIG_SPI_CADENCE_XSPI is not set +CONFIG_SPI_DESIGNWARE=y +CONFIG_SPI_DW_DMA=y +# CONFIG_SPI_DW_PCI is not set +CONFIG_SPI_DW_MMIO=y +CONFIG_SPI_FSL_LPSPI=y +CONFIG_SPI_FSL_QUADSPI=y +CONFIG_SPI_NXP_FLEXSPI=y +# CONFIG_SPI_GPIO is not set +CONFIG_SPI_IMX=y +# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_FSL_DSPI=y +CONFIG_SPI_MESON_SPICC=y +CONFIG_SPI_MESON_SPIFC=y +# CONFIG_SPI_MT65XX is not set +# CONFIG_SPI_MTK_NOR is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_OMAP24XX is not set +CONFIG_SPI_ORION=y +CONFIG_SPI_PL022=y +# CONFIG_SPI_PXA2XX is not set +CONFIG_SPI_ROCKCHIP=y +# CONFIG_SPI_ROCKCHIP_SFC is not set +CONFIG_SPI_RPCIF=y +# CONFIG_SPI_RSPI is not set +CONFIG_SPI_QCOM_QSPI=y +CONFIG_SPI_QUP=y +CONFIG_SPI_QCOM_GENI=y +CONFIG_SPI_S3C64XX=y +# CONFIG_SPI_SC18IS602 is not set +CONFIG_SPI_SH_MSIOF=y +# CONFIG_SPI_SH_HSPI is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SPRD is not set +# CONFIG_SPI_SPRD_ADI is not set +# CONFIG_SPI_SUN4I is not set +CONFIG_SPI_SUN6I=y +# CONFIG_SPI_SYNQUACER is not set +# CONFIG_SPI_MXIC is not set +# CONFIG_SPI_TEGRA210_QUAD is not set +# CONFIG_SPI_TEGRA114 is not set +# CONFIG_SPI_TEGRA20_SFLASH is not set +# CONFIG_SPI_TEGRA20_SLINK is not set +# CONFIG_SPI_THUNDERX is not set +# CONFIG_SPI_UNIPHIER is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_XLP is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_AMD is not set + +# +# SPI Multiplexer support +# +# CONFIG_SPI_MUX is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set +CONFIG_SPI_DYNAMIC=y +CONFIG_SPMI=y +# CONFIG_SPMI_HISI3670 is not set +CONFIG_SPMI_MSM_PMIC_ARB=y # CONFIG_HSI is not set -# CONFIG_PPS is not set +CONFIG_PPS=y +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +# CONFIG_PPS_CLIENT_KTIMER is not set +# CONFIG_PPS_CLIENT_LDISC is not set +# CONFIG_PPS_CLIENT_GPIO is not set + +# +# PPS generators support +# # # PTP clock support # +CONFIG_PTP_1588_CLOCK=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_PTP_1588_CLOCK_DTE=y +CONFIG_PTP_1588_CLOCK_QORIQ=y # # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # +CONFIG_PTP_1588_CLOCK_KVM=y +# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set +# CONFIG_PTP_1588_CLOCK_IDTCM is not set +# CONFIG_PTP_1588_CLOCK_OCP is not set # end of PTP clock support CONFIG_PINCTRL=y +CONFIG_GENERIC_PINCTRL_GROUPS=y +CONFIG_PINMUX=y +CONFIG_GENERIC_PINMUX_FUNCTIONS=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_APPLE_GPIO is not set +# CONFIG_PINCTRL_AXP209 is not set # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_ROCKCHIP is not set -# CONFIG_PINCTRL_SINGLE is not set +CONFIG_PINCTRL_ROCKCHIP=y +CONFIG_PINCTRL_SINGLE=y # CONFIG_PINCTRL_SX150X is not set # CONFIG_PINCTRL_STMFX is not set +CONFIG_PINCTRL_MAX77620=y +CONFIG_PINCTRL_ZYNQMP=y +# CONFIG_PINCTRL_RK805 is not set # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_MICROCHIP_SGPIO is not set +# CONFIG_PINCTRL_KEEMBAY is not set +CONFIG_PINCTRL_OWL=y +CONFIG_PINCTRL_S700=y +CONFIG_PINCTRL_S900=y +CONFIG_PINCTRL_BCM2835=y +CONFIG_PINCTRL_IPROC_GPIO=y +CONFIG_PINCTRL_NS2_MUX=y +# CONFIG_PINCTRL_AS370 is not set +# CONFIG_PINCTRL_BERLIN_BG4CT is not set +CONFIG_PINCTRL_IMX=y +CONFIG_PINCTRL_IMX_SCU=y +CONFIG_PINCTRL_IMX8MM=y +CONFIG_PINCTRL_IMX8MN=y +CONFIG_PINCTRL_IMX8MP=y +CONFIG_PINCTRL_IMX8MQ=y +CONFIG_PINCTRL_IMX8QM=y +CONFIG_PINCTRL_IMX8QXP=y +CONFIG_PINCTRL_IMX8DXL=y +# CONFIG_PINCTRL_IMX8ULP is not set +CONFIG_PINCTRL_MVEBU=y +CONFIG_PINCTRL_ARMADA_AP806=y +CONFIG_PINCTRL_ARMADA_CP110=y +CONFIG_PINCTRL_ARMADA_37XX=y +CONFIG_PINCTRL_MSM=y +# CONFIG_PINCTRL_APQ8064 is not set +# CONFIG_PINCTRL_APQ8084 is not set +# CONFIG_PINCTRL_IPQ4019 is not set +# CONFIG_PINCTRL_IPQ8064 is not set +CONFIG_PINCTRL_IPQ8074=y +CONFIG_PINCTRL_IPQ6018=y +# CONFIG_PINCTRL_MSM8226 is not set +# CONFIG_PINCTRL_MSM8660 is not set +# CONFIG_PINCTRL_MSM8960 is not set +# CONFIG_PINCTRL_MDM9607 is not set +# CONFIG_PINCTRL_MDM9615 is not set +# CONFIG_PINCTRL_MSM8X74 is not set +CONFIG_PINCTRL_MSM8916=y +# CONFIG_PINCTRL_MSM8953 is not set +# CONFIG_PINCTRL_MSM8976 is not set +CONFIG_PINCTRL_MSM8994=y +CONFIG_PINCTRL_MSM8996=y +CONFIG_PINCTRL_MSM8998=y +# CONFIG_PINCTRL_QCM2290 is not set +CONFIG_PINCTRL_QCS404=y +CONFIG_PINCTRL_QCOM_SPMI_PMIC=y +# CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set +CONFIG_PINCTRL_SC7180=y +CONFIG_PINCTRL_SC7280=y +# CONFIG_PINCTRL_SC8180X is not set +# CONFIG_PINCTRL_SDM660 is not set +CONFIG_PINCTRL_SDM845=y +# CONFIG_PINCTRL_SDX55 is not set +# CONFIG_PINCTRL_SM6115 is not set +# CONFIG_PINCTRL_SM6125 is not set +# CONFIG_PINCTRL_SM6350 is not set +CONFIG_PINCTRL_SM8150=y +CONFIG_PINCTRL_SM8250=y +CONFIG_PINCTRL_SM8350=y +CONFIG_PINCTRL_LPASS_LPI=y # # Renesas pinctrl drivers # +CONFIG_PINCTRL_RENESAS=y +CONFIG_PINCTRL_SH_PFC=y +CONFIG_PINCTRL_PFC_R8A77995=y +CONFIG_PINCTRL_PFC_R8A77990=y +CONFIG_PINCTRL_PFC_R8A77950=y +CONFIG_PINCTRL_PFC_R8A77951=y +CONFIG_PINCTRL_PFC_R8A77965=y +CONFIG_PINCTRL_PFC_R8A77960=y +CONFIG_PINCTRL_PFC_R8A77961=y +CONFIG_PINCTRL_PFC_R8A77980=y +CONFIG_PINCTRL_PFC_R8A77970=y +CONFIG_PINCTRL_PFC_R8A779A0=y +CONFIG_PINCTRL_RZG2L=y +CONFIG_PINCTRL_PFC_R8A774C0=y +CONFIG_PINCTRL_PFC_R8A774E1=y +CONFIG_PINCTRL_PFC_R8A774A1=y +CONFIG_PINCTRL_PFC_R8A774B1=y # end of Renesas pinctrl drivers +CONFIG_PINCTRL_SAMSUNG=y +CONFIG_PINCTRL_EXYNOS=y +CONFIG_PINCTRL_EXYNOS_ARM64=y +# CONFIG_PINCTRL_SPRD_SC9860 is not set +CONFIG_PINCTRL_SUNXI=y +# CONFIG_PINCTRL_SUN4I_A10 is not set +# CONFIG_PINCTRL_SUN5I is not set +# CONFIG_PINCTRL_SUN6I_A31 is not set +# CONFIG_PINCTRL_SUN6I_A31_R is not set +# CONFIG_PINCTRL_SUN8I_A23 is not set +# CONFIG_PINCTRL_SUN8I_A33 is not set +# CONFIG_PINCTRL_SUN8I_A83T is not set +# CONFIG_PINCTRL_SUN8I_A83T_R is not set +# CONFIG_PINCTRL_SUN8I_A23_R is not set +# CONFIG_PINCTRL_SUN8I_H3 is not set +CONFIG_PINCTRL_SUN8I_H3_R=y +# CONFIG_PINCTRL_SUN8I_V3S is not set +# CONFIG_PINCTRL_SUN9I_A80 is not set +# CONFIG_PINCTRL_SUN9I_A80_R is not set +CONFIG_PINCTRL_SUN50I_A64=y +CONFIG_PINCTRL_SUN50I_A64_R=y +CONFIG_PINCTRL_SUN50I_A100=y +CONFIG_PINCTRL_SUN50I_A100_R=y +CONFIG_PINCTRL_SUN50I_H5=y +CONFIG_PINCTRL_SUN50I_H6=y +CONFIG_PINCTRL_SUN50I_H6_R=y +CONFIG_PINCTRL_SUN50I_H616=y +CONFIG_PINCTRL_SUN50I_H616_R=y +CONFIG_PINCTRL_TEGRA=y +CONFIG_PINCTRL_TEGRA124=y +CONFIG_PINCTRL_TEGRA210=y +CONFIG_PINCTRL_TEGRA194=y +CONFIG_PINCTRL_TEGRA_XUSB=y +CONFIG_PINCTRL_UNIPHIER=y +# CONFIG_PINCTRL_UNIPHIER_LD4 is not set +# CONFIG_PINCTRL_UNIPHIER_PRO4 is not set +# CONFIG_PINCTRL_UNIPHIER_SLD8 is not set +# CONFIG_PINCTRL_UNIPHIER_PRO5 is not set +# CONFIG_PINCTRL_UNIPHIER_PXS2 is not set +# CONFIG_PINCTRL_UNIPHIER_LD6B is not set +CONFIG_PINCTRL_UNIPHIER_LD11=y +CONFIG_PINCTRL_UNIPHIER_LD20=y +CONFIG_PINCTRL_UNIPHIER_PXS3=y +CONFIG_PINCTRL_UNIPHIER_NX1=y + +# +# MediaTek pinctrl drivers +# +CONFIG_EINT_MTK=y +CONFIG_PINCTRL_MTK=y +CONFIG_PINCTRL_MTK_V2=y +CONFIG_PINCTRL_MTK_MOORE=y +CONFIG_PINCTRL_MTK_PARIS=y +CONFIG_PINCTRL_MT2712=y +CONFIG_PINCTRL_MT6765=y +CONFIG_PINCTRL_MT6779=y +CONFIG_PINCTRL_MT6797=y +CONFIG_PINCTRL_MT7622=y +CONFIG_PINCTRL_MT7986=y +CONFIG_PINCTRL_MT8167=y +CONFIG_PINCTRL_MT8173=y +CONFIG_PINCTRL_MT8183=y +CONFIG_PINCTRL_MT8192=y +# CONFIG_PINCTRL_MT8195 is not set +CONFIG_PINCTRL_MT8365=y +CONFIG_PINCTRL_MT8516=y +CONFIG_PINCTRL_MT6397=y +# end of MediaTek pinctrl drivers + +CONFIG_PINCTRL_MESON=y +CONFIG_PINCTRL_MESON_GXBB=y +CONFIG_PINCTRL_MESON_GXL=y +CONFIG_PINCTRL_MESON8_PMX=y +CONFIG_PINCTRL_MESON_AXG=y +CONFIG_PINCTRL_MESON_AXG_PMX=y +CONFIG_PINCTRL_MESON_G12A=y +CONFIG_PINCTRL_MESON_A1=y +CONFIG_PINCTRL_VISCONTI=y +CONFIG_PINCTRL_TMPV7700=y CONFIG_GPIOLIB=y CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_OF_GPIO=y @@ -1437,27 +3681,49 @@ CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_CDEV=y CONFIG_GPIO_CDEV_V1=y CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_REGMAP=y # # Memory mapped GPIO drivers # # CONFIG_GPIO_74XX_MMIO is not set -CONFIG_GPIO_ALTERA=m +CONFIG_GPIO_ALTERA=y +CONFIG_GPIO_RASPBERRYPI_EXP=y +CONFIG_GPIO_BCM_XGS_IPROC=y +CONFIG_GPIO_BRCMSTB=y # CONFIG_GPIO_CADENCE is not set +CONFIG_GPIO_DAVINCI=y CONFIG_GPIO_DWAPB=y +# CONFIG_GPIO_EIC_SPRD is not set +# CONFIG_GPIO_EXAR is not set # CONFIG_GPIO_FTGPIO010 is not set CONFIG_GPIO_GENERIC_PLATFORM=y # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_HLWD is not set # CONFIG_GPIO_LOGICVC is not set CONFIG_GPIO_MB86S7X=y +CONFIG_GPIO_MPC8XXX=y +CONFIG_GPIO_MVEBU=y +CONFIG_GPIO_MXC=y CONFIG_GPIO_PL061=y +CONFIG_GPIO_RCAR=y CONFIG_GPIO_ROCKCHIP=y # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SIFIVE is not set +# CONFIG_GPIO_SPRD is not set # CONFIG_GPIO_SYSCON is not set +CONFIG_GPIO_TEGRA=y +CONFIG_GPIO_TEGRA186=y +# CONFIG_GPIO_THUNDERX is not set +CONFIG_GPIO_UNIPHIER=y +CONFIG_GPIO_VISCONTI=y +CONFIG_GPIO_WCD934X=y CONFIG_GPIO_XGENE=y +CONFIG_GPIO_XGENE_SB=y # CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_XLP is not set +# CONFIG_GPIO_ZYNQ is not set +CONFIG_GPIO_ZYNQMP_MODEPIN=y # CONFIG_GPIO_AMD_FCH is not set # end of Memory mapped GPIO drivers @@ -1480,8 +3746,37 @@ CONFIG_GPIO_PCA953X_IRQ=y # # MFD GPIO expanders # +CONFIG_GPIO_BD9571MWV=y +CONFIG_GPIO_MAX77620=y +CONFIG_GPIO_SL28CPLD=y +# CONFIG_GPIO_WM8994 is not set # end of MFD GPIO expanders +# +# PCI GPIO expanders +# +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_PCI_IDIO_16 is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set +# CONFIG_GPIO_RDC321X is not set +# end of PCI GPIO expanders + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_XRA1403 is not set +# end of SPI GPIO expanders + +# +# USB GPIO expanders +# +# end of USB GPIO expanders + # # Virtual GPIO drivers # @@ -1495,7 +3790,12 @@ CONFIG_POWER_RESET=y CONFIG_POWER_RESET_BRCMSTB=y # CONFIG_POWER_RESET_GPIO is not set # CONFIG_POWER_RESET_GPIO_RESTART is not set +# CONFIG_POWER_RESET_HISI is not set +# CONFIG_POWER_RESET_LINKSTATION is not set +CONFIG_POWER_RESET_MSM=y +CONFIG_POWER_RESET_QCOM_PON=y # CONFIG_POWER_RESET_LTC2952 is not set +# CONFIG_POWER_RESET_MT6323 is not set # CONFIG_POWER_RESET_REGULATOR is not set # CONFIG_POWER_RESET_RESTART is not set # CONFIG_POWER_RESET_VEXPRESS is not set @@ -1507,7 +3807,7 @@ CONFIG_SYSCON_REBOOT_MODE=y # CONFIG_NVMEM_REBOOT_MODE is not set CONFIG_POWER_SUPPLY=y # CONFIG_POWER_SUPPLY_DEBUG is not set -# CONFIG_POWER_SUPPLY_HWMON is not set +CONFIG_POWER_SUPPLY_HWMON=y # CONFIG_PDA_POWER is not set # CONFIG_GENERIC_ADC_BATTERY is not set # CONFIG_TEST_POWER is not set @@ -1516,12 +3816,16 @@ CONFIG_POWER_SUPPLY=y # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_SBS is not set +CONFIG_BATTERY_SBS=y # CONFIG_CHARGER_SBS is not set # CONFIG_MANAGER_SBS is not set -# CONFIG_BATTERY_BQ27XXX is not set +CONFIG_BATTERY_BQ27XXX=y +CONFIG_BATTERY_BQ27XXX_I2C=y +# CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM is not set +# CONFIG_AXP20X_POWER is not set # CONFIG_BATTERY_MAX17040 is not set -# CONFIG_BATTERY_MAX17042 is not set +CONFIG_BATTERY_MAX17042=y +# CONFIG_CHARGER_ISP1704 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_LP8727 is not set # CONFIG_CHARGER_GPIO is not set @@ -1529,19 +3833,22 @@ CONFIG_POWER_SUPPLY=y # CONFIG_CHARGER_LT3651 is not set # CONFIG_CHARGER_LTC4162L is not set # CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_BQ2415X is not set # CONFIG_CHARGER_BQ24190 is not set # CONFIG_CHARGER_BQ24257 is not set # CONFIG_CHARGER_BQ24735 is not set # CONFIG_CHARGER_BQ2515X is not set -# CONFIG_CHARGER_BQ25890 is not set -# CONFIG_CHARGER_BQ25980 is not set +CONFIG_CHARGER_BQ25890=y +CONFIG_CHARGER_BQ25980=y # CONFIG_CHARGER_BQ256XX is not set # CONFIG_CHARGER_SMB347 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set # CONFIG_BATTERY_GOLDFISH is not set # CONFIG_BATTERY_RT5033 is not set # CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_CROS_USBPD is not set +CONFIG_CHARGER_CROS_PCHG=y # CONFIG_CHARGER_UCS1002 is not set # CONFIG_CHARGER_BD99954 is not set CONFIG_HWMON=y @@ -1550,6 +3857,7 @@ CONFIG_HWMON=y # # Native drivers # +# CONFIG_SENSORS_AD7314 is not set # CONFIG_SENSORS_AD7414 is not set # CONFIG_SENSORS_AD7418 is not set # CONFIG_SENSORS_ADM1021 is not set @@ -1559,12 +3867,14 @@ CONFIG_HWMON=y # CONFIG_SENSORS_ADM1031 is not set # CONFIG_SENSORS_ADM1177 is not set # CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7310 is not set # CONFIG_SENSORS_ADT7410 is not set # CONFIG_SENSORS_ADT7411 is not set # CONFIG_SENSORS_ADT7462 is not set # CONFIG_SENSORS_ADT7470 is not set # CONFIG_SENSORS_ADT7475 is not set # CONFIG_SENSORS_AHT10 is not set +# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set # CONFIG_SENSORS_AS370 is not set # CONFIG_SENSORS_ASC7621 is not set # CONFIG_SENSORS_AXI_FAN_CONTROL is not set @@ -1574,8 +3884,10 @@ CONFIG_SENSORS_ARM_SCPI=y # CONFIG_SENSORS_ATXP1 is not set # CONFIG_SENSORS_CORSAIR_CPRO is not set # CONFIG_SENSORS_CORSAIR_PSU is not set +# CONFIG_SENSORS_DRIVETEMP is not set # CONFIG_SENSORS_DS620 is not set # CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_I5K_AMB is not set # CONFIG_SENSORS_F71805F is not set # CONFIG_SENSORS_F71882FG is not set # CONFIG_SENSORS_F75375S is not set @@ -1595,6 +3907,7 @@ CONFIG_SENSORS_ARM_SCPI=y # CONFIG_SENSORS_LINEAGE is not set # CONFIG_SENSORS_LTC2945 is not set # CONFIG_SENSORS_LTC2947_I2C is not set +# CONFIG_SENSORS_LTC2947_SPI is not set # CONFIG_SENSORS_LTC2990 is not set # CONFIG_SENSORS_LTC2992 is not set # CONFIG_SENSORS_LTC4151 is not set @@ -1603,11 +3916,13 @@ CONFIG_SENSORS_ARM_SCPI=y # CONFIG_SENSORS_LTC4245 is not set # CONFIG_SENSORS_LTC4260 is not set # CONFIG_SENSORS_LTC4261 is not set +# CONFIG_SENSORS_MAX1111 is not set # CONFIG_SENSORS_MAX127 is not set # CONFIG_SENSORS_MAX16065 is not set # CONFIG_SENSORS_MAX1619 is not set # CONFIG_SENSORS_MAX1668 is not set # CONFIG_SENSORS_MAX197 is not set +# CONFIG_SENSORS_MAX31722 is not set # CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX6620 is not set # CONFIG_SENSORS_MAX6621 is not set @@ -1620,7 +3935,9 @@ CONFIG_SENSORS_ARM_SCPI=y # CONFIG_SENSORS_TC654 is not set # CONFIG_SENSORS_TPS23861 is not set # CONFIG_SENSORS_MR75203 is not set +# CONFIG_SENSORS_ADCXX is not set # CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set # CONFIG_SENSORS_LM73 is not set # CONFIG_SENSORS_LM75 is not set # CONFIG_SENSORS_LM77 is not set @@ -1629,7 +3946,7 @@ CONFIG_SENSORS_ARM_SCPI=y # CONFIG_SENSORS_LM83 is not set # CONFIG_SENSORS_LM85 is not set # CONFIG_SENSORS_LM87 is not set -CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_LM90=y # CONFIG_SENSORS_LM92 is not set # CONFIG_SENSORS_LM93 is not set # CONFIG_SENSORS_LM95234 is not set @@ -1643,9 +3960,13 @@ CONFIG_SENSORS_LM90=m # CONFIG_SENSORS_NCT7802 is not set # CONFIG_SENSORS_NCT7904 is not set # CONFIG_SENSORS_NPCM7XX is not set +# CONFIG_SENSORS_NZXT_KRAKEN2 is not set # CONFIG_SENSORS_OCC_P8_I2C is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_PMBUS is not set +CONFIG_SENSORS_PWM_FAN=y +CONFIG_SENSORS_RASPBERRYPI_HWMON=y +CONFIG_SENSORS_SL28CPLD=y # CONFIG_SENSORS_SBTSI is not set # CONFIG_SENSORS_SBRMI is not set # CONFIG_SENSORS_SHT15 is not set @@ -1653,6 +3974,7 @@ CONFIG_SENSORS_LM90=m # CONFIG_SENSORS_SHT3x is not set # CONFIG_SENSORS_SHT4x is not set # CONFIG_SENSORS_SHTC1 is not set +# CONFIG_SENSORS_SIS5595 is not set # CONFIG_SENSORS_DME1737 is not set # CONFIG_SENSORS_EMC1403 is not set # CONFIG_SENSORS_EMC2103 is not set @@ -1666,10 +3988,11 @@ CONFIG_SENSORS_LM90=m # CONFIG_SENSORS_SMM665 is not set # CONFIG_SENSORS_ADC128D818 is not set # CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_ADS7871 is not set # CONFIG_SENSORS_AMC6821 is not set # CONFIG_SENSORS_INA209 is not set -CONFIG_SENSORS_INA2XX=m -CONFIG_SENSORS_INA3221=m +CONFIG_SENSORS_INA2XX=y +CONFIG_SENSORS_INA3221=y # CONFIG_SENSORS_TC74 is not set # CONFIG_SENSORS_THMC50 is not set # CONFIG_SENSORS_TMP102 is not set @@ -1679,7 +4002,9 @@ CONFIG_SENSORS_INA3221=m # CONFIG_SENSORS_TMP421 is not set # CONFIG_SENSORS_TMP513 is not set # CONFIG_SENSORS_VEXPRESS is not set +# CONFIG_SENSORS_VIA686A is not set # CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_VT8231 is not set # CONFIG_SENSORS_W83773G is not set # CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83791D is not set @@ -1691,6 +4016,7 @@ CONFIG_SENSORS_INA3221=m # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set CONFIG_THERMAL=y +# CONFIG_THERMAL_NETLINK is not set # CONFIG_THERMAL_STATISTICS is not set CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_HWMON=y @@ -1710,8 +4036,57 @@ CONFIG_CPU_FREQ_THERMAL=y # CONFIG_DEVFREQ_THERMAL is not set CONFIG_THERMAL_EMULATION=y # CONFIG_THERMAL_MMIO is not set -CONFIG_ROCKCHIP_THERMAL=m +CONFIG_HISI_THERMAL=y +# CONFIG_IMX_THERMAL is not set +CONFIG_IMX_SC_THERMAL=y +CONFIG_IMX8MM_THERMAL=y +# CONFIG_K3_THERMAL is not set +# CONFIG_MAX77620_THERMAL is not set +CONFIG_QORIQ_THERMAL=y +CONFIG_SUN8I_THERMAL=y +CONFIG_ROCKCHIP_THERMAL=y +CONFIG_RCAR_THERMAL=y +CONFIG_RCAR_GEN3_THERMAL=y +CONFIG_ARMADA_THERMAL=y +CONFIG_MTK_THERMAL=y +CONFIG_AMLOGIC_THERMAL=y + +# +# Broadcom thermal drivers +# +CONFIG_BCM2711_THERMAL=y +CONFIG_BCM2835_THERMAL=y +CONFIG_BRCMSTB_THERMAL=y +CONFIG_BCM_NS_THERMAL=y +CONFIG_BCM_SR_THERMAL=y +# end of Broadcom thermal drivers + +# +# Samsung thermal drivers +# +CONFIG_EXYNOS_THERMAL=y +# end of Samsung thermal drivers + +# +# NVIDIA Tegra thermal drivers +# +CONFIG_TEGRA_SOCTHERM=y +CONFIG_TEGRA_BPMP_THERMAL=y +# end of NVIDIA Tegra thermal drivers + # CONFIG_GENERIC_ADC_THERMAL is not set + +# +# Qualcomm thermal drivers +# +CONFIG_QCOM_TSENS=y +# CONFIG_QCOM_SPMI_ADC_TM5 is not set +CONFIG_QCOM_SPMI_TEMP_ALARM=y +CONFIG_QCOM_LMH=y +# end of Qualcomm thermal drivers + +CONFIG_UNIPHIER_THERMAL=y +# CONFIG_SPRD_THERMAL is not set CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y # CONFIG_WATCHDOG_NOWAYOUT is not set @@ -1732,13 +4107,50 @@ CONFIG_WATCHDOG_OPEN_TIMEOUT=0 # CONFIG_GPIO_WATCHDOG is not set # CONFIG_XILINX_WATCHDOG is not set # CONFIG_ZIIRAVE_WATCHDOG is not set +CONFIG_SL28CPLD_WATCHDOG=y CONFIG_ARM_SP805_WATCHDOG=y CONFIG_ARM_SBSA_WATCHDOG=y +# CONFIG_ARMADA_37XX_WATCHDOG is not set # CONFIG_CADENCE_WATCHDOG is not set +CONFIG_S3C2410_WATCHDOG=y CONFIG_DW_WATCHDOG=y +# CONFIG_K3_RTI_WATCHDOG is not set +CONFIG_SUNXI_WATCHDOG=y # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX77620_WATCHDOG is not set +CONFIG_IMX2_WDT=y +CONFIG_IMX_SC_WDT=y +# CONFIG_IMX7ULP_WDT is not set +# CONFIG_TEGRA_WATCHDOG is not set +CONFIG_QCOM_WDT=y +CONFIG_MESON_GXBB_WATCHDOG=y +CONFIG_MESON_WATCHDOG=y +# CONFIG_MEDIATEK_WATCHDOG is not set CONFIG_ARM_SMC_WATCHDOG=y +CONFIG_RENESAS_WDT=y +# CONFIG_RENESAS_RZAWDT is not set +CONFIG_UNIPHIER_WATCHDOG=y +# CONFIG_SPRD_WATCHDOG is not set +# CONFIG_PM8916_WATCHDOG is not set +# CONFIG_VISCONTI_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +CONFIG_BCM2835_WDT=y +# CONFIG_BCM7038_WDT is not set # CONFIG_MEN_A21_WDT is not set +# CONFIG_XEN_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +# CONFIG_KEEMBAY_WATCHDOG is not set CONFIG_SSB_POSSIBLE=y # CONFIG_SSB is not set CONFIG_BCMA_POSSIBLE=y @@ -1748,7 +4160,10 @@ CONFIG_BCMA_POSSIBLE=y # Multifunction device drivers # CONFIG_MFD_CORE=y +# CONFIG_MFD_ALTERA_A10SR is not set +CONFIG_MFD_ALTERA_SYSMGR=y # CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_SUN4I_GPADC is not set # CONFIG_MFD_AS3711 is not set # CONFIG_MFD_AS3722 is not set # CONFIG_PMIC_ADP5520 is not set @@ -1756,28 +4171,41 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_ATMEL_FLEXCOM is not set # CONFIG_MFD_ATMEL_HLCDC is not set # CONFIG_MFD_BCM590XX is not set -# CONFIG_MFD_BD9571MWV is not set -# CONFIG_MFD_AXP20X_I2C is not set +CONFIG_MFD_BD9571MWV=y +# CONFIG_MFD_AC100 is not set +CONFIG_MFD_AXP20X=y +CONFIG_MFD_AXP20X_I2C=y +CONFIG_MFD_AXP20X_RSB=y +CONFIG_MFD_CROS_EC_DEV=y # CONFIG_MFD_MADERA is not set # CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set # CONFIG_MFD_DA9052_I2C is not set # CONFIG_MFD_DA9055 is not set # CONFIG_MFD_DA9062 is not set # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set +# CONFIG_MFD_DLN2 is not set +CONFIG_MFD_EXYNOS_LPASS=y # CONFIG_MFD_GATEWORKS_GSC is not set +# CONFIG_MFD_MC13XXX_SPI is not set # CONFIG_MFD_MC13XXX_I2C is not set # CONFIG_MFD_MP2629 is not set -# CONFIG_MFD_HI6421_PMIC is not set +CONFIG_MFD_HI6421_PMIC=y +# CONFIG_MFD_HI6421_SPMI is not set +CONFIG_MFD_HI655X_PMIC=y # CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set # CONFIG_MFD_IQS62X is not set +# CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_KEMPLD is not set # CONFIG_MFD_88PM800 is not set # CONFIG_MFD_88PM805 is not set # CONFIG_MFD_88PM860X is not set # CONFIG_MFD_MAX14577 is not set -# CONFIG_MFD_MAX77620 is not set +CONFIG_MFD_MAX77620=y # CONFIG_MFD_MAX77650 is not set # CONFIG_MFD_MAX77686 is not set # CONFIG_MFD_MAX77693 is not set @@ -1787,21 +4215,31 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_MAX8997 is not set # CONFIG_MFD_MAX8998 is not set # CONFIG_MFD_MT6360 is not set -# CONFIG_MFD_MT6397 is not set +CONFIG_MFD_MT6397=y # CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set # CONFIG_MFD_NTXEC is not set # CONFIG_MFD_RETU is not set # CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_QCOM_RPM is not set +CONFIG_MFD_SPMI_PMIC=y +# CONFIG_MFD_RDC321X is not set # CONFIG_MFD_RT4831 is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_RC5T583 is not set -# CONFIG_MFD_RK808 is not set +CONFIG_MFD_RK808=y # CONFIG_MFD_RN5T618 is not set -# CONFIG_MFD_SEC_CORE is not set +CONFIG_MFD_SEC_CORE=y # CONFIG_MFD_SI476X_CORE is not set +CONFIG_MFD_SIMPLE_MFD_I2C=y +CONFIG_MFD_SL28CPLD=y # CONFIG_MFD_SM501 is not set # CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SC27XX_PMIC is not set # CONFIG_MFD_STMPE is not set +CONFIG_MFD_SUN6I_PRCM=y CONFIG_MFD_SYSCON=y # CONFIG_MFD_TI_AM335X_TSCADC is not set # CONFIG_MFD_LP3943 is not set @@ -1820,31 +4258,37 @@ CONFIG_MFD_SYSCON=y # CONFIG_MFD_TPS6586X is not set # CONFIG_MFD_TPS65910 is not set # CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set # CONFIG_MFD_WL1273_CORE is not set # CONFIG_MFD_LM3533 is not set # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TQMX86 is not set +# CONFIG_MFD_VX855 is not set # CONFIG_MFD_LOCHNAGAR is not set # CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set # CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set # CONFIG_MFD_WM8350_I2C is not set -# CONFIG_MFD_WM8994 is not set -# CONFIG_MFD_ROHM_BD718XX is not set +CONFIG_MFD_WM8994=y +CONFIG_MFD_ROHM_BD718XX=y # CONFIG_MFD_ROHM_BD70528 is not set # CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD957XMUF is not set # CONFIG_MFD_STPMIC1 is not set # CONFIG_MFD_STMFX is not set -# CONFIG_MFD_WCD934X is not set +CONFIG_MFD_WCD934X=y # CONFIG_MFD_ATC260X_I2C is not set # CONFIG_MFD_KHADAS_MCU is not set # CONFIG_MFD_QCOM_PM8008 is not set CONFIG_MFD_VEXPRESS_SYSREG=y # CONFIG_RAVE_SP_CORE is not set +# CONFIG_MFD_INTEL_M10_BMC is not set # CONFIG_MFD_RSMU_I2C is not set +# CONFIG_MFD_RSMU_SPI is not set # end of Multifunction device drivers CONFIG_REGULATOR=y @@ -1855,13 +4299,21 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y # CONFIG_REGULATOR_88PG86X is not set # CONFIG_REGULATOR_ACT8865 is not set # CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_ANATOP is not set # CONFIG_REGULATOR_ARM_SCMI is not set +CONFIG_REGULATOR_AXP20X=y +CONFIG_REGULATOR_BD718XX=y +CONFIG_REGULATOR_BD9571MWV=y +# CONFIG_REGULATOR_CROS_EC is not set # CONFIG_REGULATOR_DA9121 is not set # CONFIG_REGULATOR_DA9210 is not set # CONFIG_REGULATOR_DA9211 is not set -# CONFIG_REGULATOR_FAN53555 is not set +CONFIG_REGULATOR_FAN53555=y # CONFIG_REGULATOR_FAN53880 is not set CONFIG_REGULATOR_GPIO=y +# CONFIG_REGULATOR_HI6421 is not set +CONFIG_REGULATOR_HI6421V530=y +CONFIG_REGULATOR_HI655X=y # CONFIG_REGULATOR_ISL9305 is not set # CONFIG_REGULATOR_ISL6271A is not set # CONFIG_REGULATOR_LP3971 is not set @@ -1871,31 +4323,48 @@ CONFIG_REGULATOR_GPIO=y # CONFIG_REGULATOR_LTC3589 is not set # CONFIG_REGULATOR_LTC3676 is not set # CONFIG_REGULATOR_MAX1586 is not set +CONFIG_REGULATOR_MAX77620=y # CONFIG_REGULATOR_MAX8649 is not set # CONFIG_REGULATOR_MAX8660 is not set # CONFIG_REGULATOR_MAX8893 is not set # CONFIG_REGULATOR_MAX8952 is not set -# CONFIG_REGULATOR_MAX8973 is not set +CONFIG_REGULATOR_MAX8973=y # CONFIG_REGULATOR_MAX77826 is not set # CONFIG_REGULATOR_MCP16502 is not set # CONFIG_REGULATOR_MP5416 is not set -# CONFIG_REGULATOR_MP8859 is not set +CONFIG_REGULATOR_MP8859=y # CONFIG_REGULATOR_MP886X is not set # CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set -# CONFIG_REGULATOR_PCA9450 is not set -# CONFIG_REGULATOR_PF8X00 is not set -# CONFIG_REGULATOR_PFUZE100 is not set +# CONFIG_REGULATOR_MT6315 is not set +# CONFIG_REGULATOR_MT6323 is not set +CONFIG_REGULATOR_MT6358=y +# CONFIG_REGULATOR_MT6359 is not set +# CONFIG_REGULATOR_MT6380 is not set +CONFIG_REGULATOR_MT6397=y +CONFIG_REGULATOR_PCA9450=y +CONFIG_REGULATOR_PF8X00=y +CONFIG_REGULATOR_PFUZE100=y # CONFIG_REGULATOR_PV88060 is not set # CONFIG_REGULATOR_PV88080 is not set # CONFIG_REGULATOR_PV88090 is not set +CONFIG_REGULATOR_PWM=y +CONFIG_REGULATOR_QCOM_RPMH=y +CONFIG_REGULATOR_QCOM_SMD_RPM=y +CONFIG_REGULATOR_QCOM_SPMI=y +# CONFIG_REGULATOR_QCOM_USB_VBUS is not set # CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set +CONFIG_REGULATOR_RK808=y +CONFIG_REGULATOR_ROHM=y # CONFIG_REGULATOR_RT4801 is not set # CONFIG_REGULATOR_RT6160 is not set # CONFIG_REGULATOR_RT6245 is not set # CONFIG_REGULATOR_RTQ2134 is not set # CONFIG_REGULATOR_RTMV20 is not set # CONFIG_REGULATOR_RTQ6752 is not set +# CONFIG_REGULATOR_S2MPA01 is not set +CONFIG_REGULATOR_S2MPS11=y +# CONFIG_REGULATOR_S5M8767 is not set # CONFIG_REGULATOR_SLG51000 is not set # CONFIG_REGULATOR_SY8106A is not set # CONFIG_REGULATOR_SY8824X is not set @@ -1904,11 +4373,16 @@ CONFIG_REGULATOR_GPIO=y # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set # CONFIG_REGULATOR_TPS6507X is not set -# CONFIG_REGULATOR_TPS65132 is not set -CONFIG_REGULATOR_VCTRL=m +CONFIG_REGULATOR_TPS65132=y +# CONFIG_REGULATOR_TPS6524X is not set +CONFIG_REGULATOR_UNIPHIER=y +CONFIG_REGULATOR_VCTRL=y # CONFIG_REGULATOR_VEXPRESS is not set -CONFIG_RC_CORE=m -CONFIG_RC_MAP=m +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set +# CONFIG_REGULATOR_WM8994 is not set +# CONFIG_REGULATOR_QCOM_LABIBB is not set +CONFIG_RC_CORE=y +CONFIG_RC_MAP=y # CONFIG_LIRC is not set CONFIG_RC_DECODERS=y # CONFIG_IR_NEC_DECODER is not set @@ -1923,11 +4397,27 @@ CONFIG_RC_DECODERS=y # CONFIG_IR_IMON_DECODER is not set # CONFIG_IR_RCMM_DECODER is not set CONFIG_RC_DEVICES=y +# CONFIG_RC_ATI_REMOTE is not set # CONFIG_IR_HIX5HD2 is not set +# CONFIG_IR_IMON is not set +# CONFIG_IR_IMON_RAW is not set +# CONFIG_IR_MCEUSB is not set +CONFIG_IR_MESON=y +# CONFIG_IR_MESON_TX is not set +# CONFIG_IR_MTK is not set +# CONFIG_IR_REDRAT3 is not set +# CONFIG_IR_STREAMZAP is not set +# CONFIG_IR_IGORPLUGUSB is not set +# CONFIG_IR_IGUANA is not set +# CONFIG_IR_TTUSBIR is not set # CONFIG_RC_LOOPBACK is not set # CONFIG_IR_GPIO_CIR is not set +CONFIG_IR_SUNXI=y # CONFIG_IR_SERIAL is not set -CONFIG_CEC_CORE=m +# CONFIG_RC_XBOX_DVD is not set +# CONFIG_IR_TOY is not set +CONFIG_CEC_CORE=y +CONFIG_CEC_NOTIFIER=y # # CEC support @@ -1936,9 +4426,9 @@ CONFIG_CEC_CORE=m # CONFIG_MEDIA_CEC_SUPPORT is not set # end of CEC support -CONFIG_MEDIA_SUPPORT=m -# CONFIG_MEDIA_SUPPORT_FILTER is not set -# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_SUPPORT_FILTER=y +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y # # Media device types @@ -1946,32 +4436,28 @@ CONFIG_MEDIA_SUPPORT=m CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y -CONFIG_MEDIA_RADIO_SUPPORT=y +# CONFIG_MEDIA_RADIO_SUPPORT is not set CONFIG_MEDIA_SDR_SUPPORT=y CONFIG_MEDIA_PLATFORM_SUPPORT=y -CONFIG_MEDIA_TEST_SUPPORT=y +# CONFIG_MEDIA_TEST_SUPPORT is not set # end of Media device types -# -# Media core support -# -CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_DEV=y CONFIG_MEDIA_CONTROLLER=y -CONFIG_DVB_CORE=m -# end of Media core support +CONFIG_DVB_CORE=y # # Video4Linux options # -CONFIG_VIDEO_V4L2=m +CONFIG_VIDEO_V4L2=y CONFIG_VIDEO_V4L2_I2C=y CONFIG_VIDEO_V4L2_SUBDEV_API=y # CONFIG_VIDEO_ADV_DEBUG is not set # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -CONFIG_V4L2_H264=m -CONFIG_V4L2_MEM2MEM_DEV=m -CONFIG_V4L2_FWNODE=m -CONFIG_V4L2_ASYNC=m +CONFIG_V4L2_H264=y +CONFIG_V4L2_MEM2MEM_DEV=y +CONFIG_V4L2_FWNODE=y +CONFIG_V4L2_ASYNC=y # end of Video4Linux options # @@ -1985,6 +4471,7 @@ CONFIG_MEDIA_CONTROLLER_REQUEST_API=y # Digital TV options # # CONFIG_DVB_MMAP is not set +# CONFIG_DVB_NET is not set CONFIG_DVB_MAX_ADAPTERS=16 CONFIG_DVB_DYNAMIC_MINORS=y # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set @@ -1994,144 +4481,134 @@ CONFIG_DVB_DYNAMIC_MINORS=y # # Media drivers # -CONFIG_RADIO_ADAPTERS=y -# CONFIG_RADIO_SI470X is not set -# CONFIG_RADIO_SI4713 is not set -# CONFIG_RADIO_TEA5764 is not set -# CONFIG_RADIO_SAA7706H is not set -# CONFIG_RADIO_TEF6862 is not set -# CONFIG_RADIO_WL1273 is not set -CONFIG_VIDEOBUF2_CORE=m -CONFIG_VIDEOBUF2_V4L2=m -CONFIG_VIDEOBUF2_MEMOPS=m -CONFIG_VIDEOBUF2_DMA_CONTIG=m -CONFIG_VIDEOBUF2_VMALLOC=m + +# +# Drivers filtered as selected at 'Filter media drivers' +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +# CONFIG_USB_GSPCA is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set + +# +# Analog TV USB devices +# +# CONFIG_VIDEO_PVRUSB2 is not set +# CONFIG_VIDEO_HDPVR is not set +# CONFIG_VIDEO_STK1160_COMMON is not set +# CONFIG_VIDEO_GO7007 is not set + +# +# Analog/digital TV USB devices +# +# CONFIG_VIDEO_AU0828 is not set +# CONFIG_VIDEO_CX231XX is not set +# CONFIG_VIDEO_TM6000 is not set + +# +# Digital TV USB devices +# +# CONFIG_DVB_USB is not set +# CONFIG_DVB_USB_V2 is not set +# CONFIG_DVB_TTUSB_BUDGET is not set +# CONFIG_DVB_TTUSB_DEC is not set +# CONFIG_SMS_USB_DRV is not set +# CONFIG_DVB_B2C2_FLEXCOP_USB is not set +# CONFIG_DVB_AS102 is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set + +# +# Software defined radio USB devices +# +# CONFIG_USB_AIRSPY is not set +# CONFIG_USB_HACKRF is not set +# CONFIG_USB_MSI2500 is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_V4L2=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_DMA_CONTIG=y +CONFIG_VIDEOBUF2_VMALLOC=y +CONFIG_VIDEOBUF2_DMA_SG=y CONFIG_V4L_PLATFORM_DRIVERS=y +# CONFIG_VIDEO_CAFE_CCIC is not set # CONFIG_VIDEO_CADENCE is not set # CONFIG_VIDEO_ASPEED is not set # CONFIG_VIDEO_MUX is not set +CONFIG_VIDEO_QCOM_CAMSS=y # CONFIG_VIDEO_ROCKCHIP_ISP1 is not set +# CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS is not set # CONFIG_VIDEO_XILINX is not set +CONFIG_VIDEO_RCAR_CSI2=y +CONFIG_VIDEO_RCAR_VIN=y +# CONFIG_VIDEO_SUN4I_CSI is not set +CONFIG_VIDEO_SUN6I_CSI=y +# CONFIG_VIDEO_TI_CAL is not set +# CONFIG_VIDEO_RCAR_ISP is not set CONFIG_V4L_MEM2MEM_DRIVERS=y +# CONFIG_VIDEO_ALLEGRO_DVT is not set +# CONFIG_VIDEO_CODA is not set +# CONFIG_VIDEO_IMX_PXP is not set +# CONFIG_VIDEO_IMX8_JPEG is not set +# CONFIG_VIDEO_MEDIATEK_JPEG is not set +# CONFIG_VIDEO_MEDIATEK_VPU is not set +# CONFIG_VIDEO_MEDIATEK_MDP is not set # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set +# CONFIG_VIDEO_MESON_GE2D is not set +# CONFIG_VIDEO_SAMSUNG_S5P_G2D is not set +CONFIG_VIDEO_SAMSUNG_S5P_JPEG=y +CONFIG_VIDEO_SAMSUNG_S5P_MFC=y +CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=y +CONFIG_VIDEO_RENESAS_FDP1=y +# CONFIG_VIDEO_RENESAS_JPU is not set +CONFIG_VIDEO_RENESAS_FCP=y +CONFIG_VIDEO_RENESAS_VSP1=y # CONFIG_VIDEO_ROCKCHIP_RGA is not set +CONFIG_VIDEO_QCOM_VENUS=y +# CONFIG_VIDEO_SUN8I_DEINTERLACE is not set +# CONFIG_VIDEO_SUN8I_ROTATE is not set # CONFIG_DVB_PLATFORM_DRIVERS is not set CONFIG_SDR_PLATFORM_DRIVERS=y +CONFIG_VIDEO_RCAR_DRIF=y # # MMC/SDIO DVB adapters # # CONFIG_SMS_SDIO_DRV is not set -# CONFIG_V4L_TEST_DRIVERS is not set -# CONFIG_DVB_TEST_DRIVERS is not set # end of Media drivers -# -# Media ancillary drivers -# -CONFIG_MEDIA_ATTACH=y -CONFIG_VIDEO_IR_I2C=m - -# -# Audio decoders, processors and mixers -# -# CONFIG_VIDEO_TVAUDIO is not set -# CONFIG_VIDEO_TDA7432 is not set -# CONFIG_VIDEO_TDA9840 is not set -# CONFIG_VIDEO_TEA6415C is not set -# CONFIG_VIDEO_TEA6420 is not set -# CONFIG_VIDEO_MSP3400 is not set -# CONFIG_VIDEO_CS3308 is not set -# CONFIG_VIDEO_CS5345 is not set -# CONFIG_VIDEO_CS53L32A is not set -# CONFIG_VIDEO_TLV320AIC23B is not set -# CONFIG_VIDEO_UDA1342 is not set -# CONFIG_VIDEO_WM8775 is not set -# CONFIG_VIDEO_WM8739 is not set -# CONFIG_VIDEO_VP27SMPX is not set -# CONFIG_VIDEO_SONY_BTF_MPX is not set -# end of Audio decoders, processors and mixers - -# -# RDS decoders -# -# CONFIG_VIDEO_SAA6588 is not set -# end of RDS decoders - -# -# Video decoders -# -# CONFIG_VIDEO_ADV7180 is not set -# CONFIG_VIDEO_ADV7183 is not set -# CONFIG_VIDEO_ADV748X is not set -# CONFIG_VIDEO_ADV7604 is not set -# CONFIG_VIDEO_ADV7842 is not set -# CONFIG_VIDEO_BT819 is not set -# CONFIG_VIDEO_BT856 is not set -# CONFIG_VIDEO_BT866 is not set -# CONFIG_VIDEO_KS0127 is not set -# CONFIG_VIDEO_ML86V7667 is not set -# CONFIG_VIDEO_SAA7110 is not set -# CONFIG_VIDEO_SAA711X is not set -# CONFIG_VIDEO_TC358743 is not set -# CONFIG_VIDEO_TVP514X is not set -# CONFIG_VIDEO_TVP5150 is not set -# CONFIG_VIDEO_TVP7002 is not set -# CONFIG_VIDEO_TW2804 is not set -# CONFIG_VIDEO_TW9903 is not set -# CONFIG_VIDEO_TW9906 is not set -# CONFIG_VIDEO_TW9910 is not set -# CONFIG_VIDEO_VPX3220 is not set -# CONFIG_VIDEO_MAX9286 is not set - -# -# Video and audio decoders -# -# CONFIG_VIDEO_SAA717X is not set -# CONFIG_VIDEO_CX25840 is not set -# end of Video decoders +CONFIG_MEDIA_HIDE_ANCILLARY_SUBDRV=y # -# Video encoders -# -# CONFIG_VIDEO_SAA7127 is not set -# CONFIG_VIDEO_SAA7185 is not set -# CONFIG_VIDEO_ADV7170 is not set -# CONFIG_VIDEO_ADV7175 is not set -# CONFIG_VIDEO_ADV7343 is not set -# CONFIG_VIDEO_ADV7393 is not set -# CONFIG_VIDEO_AD9389B is not set -# CONFIG_VIDEO_AK881X is not set -# CONFIG_VIDEO_THS8200 is not set -# end of Video encoders - -# -# Video improvement chips +# Media ancillary drivers # -# CONFIG_VIDEO_UPD64031A is not set -# CONFIG_VIDEO_UPD64083 is not set -# end of Video improvement chips # -# Audio/Video compression chips +# IR I2C driver auto-selected by 'Autoselect ancillary drivers' # -# CONFIG_VIDEO_SAA6752HS is not set -# end of Audio/Video compression chips +CONFIG_VIDEO_IR_I2C=y # -# SDR tuner chips +# audio, video and radio I2C drivers auto-selected by 'Autoselect ancillary drivers' # -# CONFIG_SDR_MAX2175 is not set -# end of SDR tuner chips # -# Miscellaneous helper chips +# Video and audio decoders # -# CONFIG_VIDEO_THS7303 is not set -# CONFIG_VIDEO_M52790 is not set -# CONFIG_VIDEO_I2C is not set -# CONFIG_VIDEO_ST_MIPID02 is not set -# end of Miscellaneous helper chips # # Camera sensor devices @@ -2140,7 +4617,7 @@ CONFIG_VIDEO_IR_I2C=m # CONFIG_VIDEO_HI846 is not set # CONFIG_VIDEO_IMX208 is not set # CONFIG_VIDEO_IMX214 is not set -CONFIG_VIDEO_IMX219=m +CONFIG_VIDEO_IMX219=y # CONFIG_VIDEO_IMX258 is not set # CONFIG_VIDEO_IMX274 is not set # CONFIG_VIDEO_IMX290 is not set @@ -2155,7 +4632,7 @@ CONFIG_VIDEO_IMX219=m # CONFIG_VIDEO_OV2680 is not set # CONFIG_VIDEO_OV2685 is not set # CONFIG_VIDEO_OV5640 is not set -CONFIG_VIDEO_OV5645=m +CONFIG_VIDEO_OV5645=y # CONFIG_VIDEO_OV5647 is not set # CONFIG_VIDEO_OV5648 is not set # CONFIG_VIDEO_OV6650 is not set @@ -2196,6 +4673,7 @@ CONFIG_VIDEO_OV5645=m # CONFIG_VIDEO_S5K5BAF is not set # CONFIG_VIDEO_CCS is not set # CONFIG_VIDEO_ET8EK8 is not set +# CONFIG_VIDEO_S5C73M3 is not set # end of Camera sensor devices # @@ -2217,241 +4695,112 @@ CONFIG_VIDEO_OV5645=m # end of Flash devices # -# SPI helper chips -# -# end of SPI helper chips - -CONFIG_MEDIA_TUNER=m - -# -# Customize TV tuners -# -CONFIG_MEDIA_TUNER_SIMPLE=m -CONFIG_MEDIA_TUNER_TDA18250=m -CONFIG_MEDIA_TUNER_TDA8290=m -CONFIG_MEDIA_TUNER_TDA827X=m -CONFIG_MEDIA_TUNER_TDA18271=m -CONFIG_MEDIA_TUNER_TDA9887=m -CONFIG_MEDIA_TUNER_TEA5761=m -CONFIG_MEDIA_TUNER_TEA5767=m -CONFIG_MEDIA_TUNER_MT20XX=m -CONFIG_MEDIA_TUNER_MT2060=m -CONFIG_MEDIA_TUNER_MT2063=m -CONFIG_MEDIA_TUNER_MT2266=m -CONFIG_MEDIA_TUNER_MT2131=m -CONFIG_MEDIA_TUNER_QT1010=m -CONFIG_MEDIA_TUNER_XC2028=m -CONFIG_MEDIA_TUNER_XC5000=m -CONFIG_MEDIA_TUNER_XC4000=m -CONFIG_MEDIA_TUNER_MXL5005S=m -CONFIG_MEDIA_TUNER_MXL5007T=m -CONFIG_MEDIA_TUNER_MC44S803=m -CONFIG_MEDIA_TUNER_MAX2165=m -CONFIG_MEDIA_TUNER_TDA18218=m -CONFIG_MEDIA_TUNER_FC0011=m -CONFIG_MEDIA_TUNER_FC0012=m -CONFIG_MEDIA_TUNER_FC0013=m -CONFIG_MEDIA_TUNER_TDA18212=m -CONFIG_MEDIA_TUNER_E4000=m -CONFIG_MEDIA_TUNER_FC2580=m -CONFIG_MEDIA_TUNER_M88RS6000T=m -CONFIG_MEDIA_TUNER_TUA9001=m -CONFIG_MEDIA_TUNER_SI2157=m -CONFIG_MEDIA_TUNER_IT913X=m -CONFIG_MEDIA_TUNER_R820T=m -CONFIG_MEDIA_TUNER_MXL301RF=m -CONFIG_MEDIA_TUNER_QM1D1C0042=m -CONFIG_MEDIA_TUNER_QM1D1B0004=m -# end of Customize TV tuners - -# -# Customise DVB Frontends +# SPI I2C drivers auto-selected by 'Autoselect ancillary drivers' +# + +# +# Media SPI Adapters +# +# CONFIG_CXD2880_SPI_DRV is not set +# end of Media SPI Adapters + +CONFIG_MEDIA_TUNER=y + +# +# Tuner drivers auto-selected by 'Autoselect ancillary drivers' +# +CONFIG_MEDIA_TUNER_SIMPLE=y +CONFIG_MEDIA_TUNER_TDA8290=y +CONFIG_MEDIA_TUNER_TDA827X=y +CONFIG_MEDIA_TUNER_TDA18271=y +CONFIG_MEDIA_TUNER_TDA9887=y +CONFIG_MEDIA_TUNER_MT20XX=y +CONFIG_MEDIA_TUNER_XC2028=y +CONFIG_MEDIA_TUNER_XC5000=y +CONFIG_MEDIA_TUNER_XC4000=y +CONFIG_MEDIA_TUNER_MC44S803=y + +# +# DVB Frontend drivers auto-selected by 'Autoselect ancillary drivers' # # # Multistandard (satellite) frontends # -CONFIG_DVB_STB0899=m -CONFIG_DVB_STB6100=m -CONFIG_DVB_STV090x=m -CONFIG_DVB_STV0910=m -CONFIG_DVB_STV6110x=m -CONFIG_DVB_STV6111=m -CONFIG_DVB_MXL5XX=m -CONFIG_DVB_M88DS3103=m # # Multistandard (cable + terrestrial) frontends # -CONFIG_DVB_DRXK=m -CONFIG_DVB_TDA18271C2DD=m -CONFIG_DVB_SI2165=m -CONFIG_DVB_MN88472=m -CONFIG_DVB_MN88473=m # # DVB-S (satellite) frontends # -CONFIG_DVB_CX24110=m -CONFIG_DVB_CX24123=m -CONFIG_DVB_MT312=m -CONFIG_DVB_ZL10036=m -CONFIG_DVB_ZL10039=m -CONFIG_DVB_S5H1420=m -CONFIG_DVB_STV0288=m -CONFIG_DVB_STB6000=m -CONFIG_DVB_STV0299=m -CONFIG_DVB_STV6110=m -CONFIG_DVB_STV0900=m -CONFIG_DVB_TDA8083=m -CONFIG_DVB_TDA10086=m -CONFIG_DVB_TDA8261=m -CONFIG_DVB_VES1X93=m -CONFIG_DVB_TUNER_ITD1000=m -CONFIG_DVB_TUNER_CX24113=m -CONFIG_DVB_TDA826X=m -CONFIG_DVB_TUA6100=m -CONFIG_DVB_CX24116=m -CONFIG_DVB_CX24117=m -CONFIG_DVB_CX24120=m -CONFIG_DVB_SI21XX=m -CONFIG_DVB_TS2020=m -CONFIG_DVB_DS3000=m -CONFIG_DVB_MB86A16=m -CONFIG_DVB_TDA10071=m # # DVB-T (terrestrial) frontends # -CONFIG_DVB_SP887X=m -CONFIG_DVB_CX22700=m -CONFIG_DVB_CX22702=m -CONFIG_DVB_S5H1432=m -CONFIG_DVB_DRXD=m -CONFIG_DVB_L64781=m -CONFIG_DVB_TDA1004X=m -CONFIG_DVB_NXT6000=m -CONFIG_DVB_MT352=m -CONFIG_DVB_ZL10353=m -CONFIG_DVB_DIB3000MB=m -CONFIG_DVB_DIB3000MC=m -CONFIG_DVB_DIB7000M=m -CONFIG_DVB_DIB7000P=m -CONFIG_DVB_DIB9000=m -CONFIG_DVB_TDA10048=m -CONFIG_DVB_AF9013=m -CONFIG_DVB_EC100=m -CONFIG_DVB_STV0367=m -CONFIG_DVB_CXD2820R=m -CONFIG_DVB_CXD2841ER=m -CONFIG_DVB_RTL2830=m -CONFIG_DVB_RTL2832=m -CONFIG_DVB_SI2168=m -CONFIG_DVB_ZD1301_DEMOD=m # # DVB-C (cable) frontends # -CONFIG_DVB_VES1820=m -CONFIG_DVB_TDA10021=m -CONFIG_DVB_TDA10023=m -CONFIG_DVB_STV0297=m # # ATSC (North American/Korean Terrestrial/Cable DTV) frontends # -CONFIG_DVB_NXT200X=m -CONFIG_DVB_OR51211=m -CONFIG_DVB_OR51132=m -CONFIG_DVB_BCM3510=m -CONFIG_DVB_LGDT330X=m -CONFIG_DVB_LGDT3305=m -CONFIG_DVB_LGDT3306A=m -CONFIG_DVB_LG2160=m -CONFIG_DVB_S5H1409=m -CONFIG_DVB_AU8522=m -CONFIG_DVB_AU8522_DTV=m -CONFIG_DVB_AU8522_V4L=m -CONFIG_DVB_S5H1411=m -CONFIG_DVB_MXL692=m # # ISDB-T (terrestrial) frontends # -CONFIG_DVB_S921=m -CONFIG_DVB_DIB8000=m -CONFIG_DVB_MB86A20S=m # # ISDB-S (satellite) & ISDB-T (terrestrial) frontends # -CONFIG_DVB_TC90522=m -CONFIG_DVB_MN88443X=m # # Digital terrestrial only tuners/PLL # -CONFIG_DVB_PLL=m -CONFIG_DVB_TUNER_DIB0070=m -CONFIG_DVB_TUNER_DIB0090=m # # SEC control devices for DVB-S # -CONFIG_DVB_DRX39XYJ=m -CONFIG_DVB_LNBH25=m -CONFIG_DVB_LNBH29=m -CONFIG_DVB_LNBP21=m -CONFIG_DVB_LNBP22=m -CONFIG_DVB_ISL6405=m -CONFIG_DVB_ISL6421=m -CONFIG_DVB_ISL6423=m -CONFIG_DVB_A8293=m -CONFIG_DVB_LGS8GL5=m -CONFIG_DVB_LGS8GXX=m -CONFIG_DVB_ATBM8830=m -CONFIG_DVB_TDA665x=m -CONFIG_DVB_IX2505V=m -CONFIG_DVB_M88RS2000=m -CONFIG_DVB_AF9033=m -CONFIG_DVB_HORUS3A=m -CONFIG_DVB_ASCOT2E=m -CONFIG_DVB_HELENE=m # # Common Interface (EN50221) controller drivers # -CONFIG_DVB_CXD2099=m -CONFIG_DVB_SP2=m -# end of Customise DVB Frontends - -# -# Tools to develop new frontends -# -# CONFIG_DVB_DUMMY_FE is not set # end of Media ancillary drivers # # Graphics support # -CONFIG_DRM=m +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_TEGRA_HOST1X=y +CONFIG_TEGRA_HOST1X_FIREWALL=y +CONFIG_DRM=y CONFIG_DRM_MIPI_DSI=y -CONFIG_DRM_DP_AUX_BUS=m +CONFIG_DRM_DP_AUX_BUS=y # CONFIG_DRM_DP_AUX_CHARDEV is not set +# CONFIG_DRM_DEBUG_MM is not set # CONFIG_DRM_DEBUG_SELFTEST is not set -CONFIG_DRM_KMS_HELPER=m -# CONFIG_DRM_FBDEV_EMULATION is not set +CONFIG_DRM_KMS_HELPER=y +CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set # CONFIG_DRM_DP_CEC is not set +CONFIG_DRM_TTM=y +CONFIG_DRM_VRAM_HELPER=y +CONFIG_DRM_TTM_HELPER=y CONFIG_DRM_GEM_CMA_HELPER=y CONFIG_DRM_KMS_CMA_HELPER=y +CONFIG_DRM_GEM_SHMEM_HELPER=y +CONFIG_DRM_SCHED=y # # I2C encoder or helper chips # -CONFIG_DRM_I2C_CH7006=m -CONFIG_DRM_I2C_SIL164=m -CONFIG_DRM_I2C_NXP_TDA998X=m +CONFIG_DRM_I2C_CH7006=y +CONFIG_DRM_I2C_SIL164=y +CONFIG_DRM_I2C_NXP_TDA998X=y # CONFIG_DRM_I2C_NXP_TDA9950 is not set # end of I2C encoder or helper chips @@ -2459,50 +4808,140 @@ CONFIG_DRM_I2C_NXP_TDA998X=m # ARM devices # # CONFIG_DRM_HDLCD is not set -CONFIG_DRM_MALI_DISPLAY=m +CONFIG_DRM_MALI_DISPLAY=y # CONFIG_DRM_KOMEDA is not set # end of ARM devices +# CONFIG_DRM_RADEON is not set +# CONFIG_DRM_AMDGPU is not set +CONFIG_DRM_NOUVEAU=y +CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT=y +CONFIG_NOUVEAU_PLATFORM_DRIVER=y +CONFIG_NOUVEAU_DEBUG=5 +CONFIG_NOUVEAU_DEBUG_DEFAULT=3 +# CONFIG_NOUVEAU_DEBUG_MMU is not set +# CONFIG_NOUVEAU_DEBUG_PUSH is not set +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +# CONFIG_DRM_KMB_DISPLAY is not set # CONFIG_DRM_VGEM is not set # CONFIG_DRM_VKMS is not set -# CONFIG_DRM_RCAR_DW_HDMI is not set -# CONFIG_DRM_RCAR_LVDS is not set +CONFIG_DRM_EXYNOS=y + +# +# CRTCs +# +# CONFIG_DRM_EXYNOS_FIMD is not set +CONFIG_DRM_EXYNOS5433_DECON=y +CONFIG_DRM_EXYNOS7_DECON=y +# CONFIG_DRM_EXYNOS_MIXER is not set +# CONFIG_DRM_EXYNOS_VIDI is not set + +# +# Encoders and Bridges +# +CONFIG_DRM_EXYNOS_DSI=y +# CONFIG_DRM_EXYNOS_DP is not set +CONFIG_DRM_EXYNOS_HDMI=y +CONFIG_DRM_EXYNOS_MIC=y + +# +# Sub-drivers +# +# CONFIG_DRM_EXYNOS_G2D is not set +# CONFIG_DRM_EXYNOS_FIMC is not set +# CONFIG_DRM_EXYNOS_ROTATOR is not set +# CONFIG_DRM_EXYNOS_SCALER is not set +CONFIG_DRM_ROCKCHIP=y +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +CONFIG_ROCKCHIP_DW_HDMI=y +CONFIG_ROCKCHIP_DW_MIPI_DSI=y +CONFIG_ROCKCHIP_INNO_HDMI=y +CONFIG_ROCKCHIP_LVDS=y +# CONFIG_ROCKCHIP_RGB is not set +# CONFIG_ROCKCHIP_RK3066_HDMI is not set +# CONFIG_DRM_VMWGFX is not set +# CONFIG_DRM_UDL is not set +# CONFIG_DRM_AST is not set +# CONFIG_DRM_MGAG200 is not set +CONFIG_DRM_RCAR_DU=y +CONFIG_DRM_RCAR_CMM=y +CONFIG_DRM_RCAR_DW_HDMI=y +CONFIG_DRM_RCAR_LVDS=y +CONFIG_DRM_RCAR_VSP=y +CONFIG_DRM_RCAR_WRITEBACK=y +CONFIG_DRM_SUN4I=y +CONFIG_DRM_SUN4I_HDMI=y +# CONFIG_DRM_SUN4I_HDMI_CEC is not set +CONFIG_DRM_SUN4I_BACKEND=y +CONFIG_DRM_SUN6I_DSI=y +CONFIG_DRM_SUN8I_DW_HDMI=y +CONFIG_DRM_SUN8I_MIXER=y +CONFIG_DRM_SUN8I_TCON_TOP=y +# CONFIG_DRM_QXL is not set +# CONFIG_DRM_VIRTIO_GPU is not set +CONFIG_DRM_MSM=y +CONFIG_DRM_MSM_GPU_STATE=y +# CONFIG_DRM_MSM_REGISTER_LOGGING is not set +CONFIG_DRM_MSM_HDMI_HDCP=y +CONFIG_DRM_MSM_DP=y +CONFIG_DRM_MSM_DSI=y +CONFIG_DRM_MSM_DSI_28NM_PHY=y +CONFIG_DRM_MSM_DSI_20NM_PHY=y +CONFIG_DRM_MSM_DSI_28NM_8960_PHY=y +CONFIG_DRM_MSM_DSI_14NM_PHY=y +CONFIG_DRM_MSM_DSI_10NM_PHY=y +CONFIG_DRM_MSM_DSI_7NM_PHY=y +CONFIG_DRM_TEGRA=y +# CONFIG_DRM_TEGRA_DEBUG is not set +# CONFIG_DRM_TEGRA_STAGING is not set CONFIG_DRM_PANEL=y # # Display Panels # +# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set # CONFIG_DRM_PANEL_ARM_VERSATILE is not set # CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set # CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set -CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m +CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=y # CONFIG_DRM_PANEL_DSI_CM is not set -CONFIG_DRM_PANEL_LVDS=m -CONFIG_DRM_PANEL_SIMPLE=m -CONFIG_DRM_PANEL_EDP=m +CONFIG_DRM_PANEL_LVDS=y +CONFIG_DRM_PANEL_SIMPLE=y +CONFIG_DRM_PANEL_EDP=y # CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set # CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set # CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set +# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set # CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set +# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KHADAS_TS050 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set # CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set # CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set +# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set +# CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set # CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set # CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set -CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set +CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=y # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set # CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set -CONFIG_DRM_PANEL_RAYDIUM_RM67191=m +CONFIG_DRM_PANEL_RAYDIUM_RM67191=y # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set # CONFIG_DRM_PANEL_RONBO_RB070D30 is not set # CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set +# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set @@ -2515,11 +4954,17 @@ CONFIG_DRM_PANEL_RAYDIUM_RM67191=m # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set -CONFIG_DRM_PANEL_SITRONIX_ST7703=m +CONFIG_DRM_PANEL_SITRONIX_ST7703=y +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set # CONFIG_DRM_PANEL_SONY_ACX424AKP is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set -CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set +# CONFIG_DRM_PANEL_TPO_TPG110 is not set +CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=y # CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set +# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set # CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set # end of Display Panels @@ -2532,22 +4977,23 @@ CONFIG_DRM_PANEL_BRIDGE=y # CONFIG_DRM_CDNS_DSI is not set # CONFIG_DRM_CHIPONE_ICN6211 is not set # CONFIG_DRM_CHRONTEL_CH7033 is not set -CONFIG_DRM_DISPLAY_CONNECTOR=m -CONFIG_DRM_LONTIUM_LT8912B=m -CONFIG_DRM_LONTIUM_LT9611=m -CONFIG_DRM_LONTIUM_LT9611UXC=m +# CONFIG_DRM_CROS_EC_ANX7688 is not set +CONFIG_DRM_DISPLAY_CONNECTOR=y +CONFIG_DRM_LONTIUM_LT8912B=y +CONFIG_DRM_LONTIUM_LT9611=y +CONFIG_DRM_LONTIUM_LT9611UXC=y # CONFIG_DRM_ITE_IT66121 is not set # CONFIG_DRM_LVDS_CODEC is not set # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set -CONFIG_DRM_NWL_MIPI_DSI=m +CONFIG_DRM_NWL_MIPI_DSI=y # CONFIG_DRM_NXP_PTN3460 is not set # CONFIG_DRM_PARADE_PS8622 is not set -CONFIG_DRM_PARADE_PS8640=m +CONFIG_DRM_PARADE_PS8640=y # CONFIG_DRM_SIL_SII8620 is not set -CONFIG_DRM_SII902X=m +CONFIG_DRM_SII902X=y # CONFIG_DRM_SII9234 is not set -CONFIG_DRM_SIMPLE_BRIDGE=m -CONFIG_DRM_THINE_THC63LVD1024=m +CONFIG_DRM_SIMPLE_BRIDGE=y +CONFIG_DRM_THINE_THC63LVD1024=y # CONFIG_DRM_TOSHIBA_TC358762 is not set # CONFIG_DRM_TOSHIBA_TC358764 is not set # CONFIG_DRM_TOSHIBA_TC358767 is not set @@ -2555,26 +5001,62 @@ CONFIG_DRM_THINE_THC63LVD1024=m # CONFIG_DRM_TOSHIBA_TC358775 is not set # CONFIG_DRM_TI_TFP410 is not set # CONFIG_DRM_TI_SN65DSI83 is not set -CONFIG_DRM_TI_SN65DSI86=m +CONFIG_DRM_TI_SN65DSI86=y # CONFIG_DRM_TI_TPD12S015 is not set # CONFIG_DRM_ANALOGIX_ANX6345 is not set # CONFIG_DRM_ANALOGIX_ANX78XX is not set +CONFIG_DRM_ANALOGIX_DP=y # CONFIG_DRM_ANALOGIX_ANX7625 is not set -CONFIG_DRM_I2C_ADV7511=m +CONFIG_DRM_I2C_ADV7511=y +CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_I2C_ADV7511_CEC=y # CONFIG_DRM_CDNS_MHDP8546 is not set +CONFIG_DRM_DW_HDMI=y +CONFIG_DRM_DW_HDMI_AHB_AUDIO=y +CONFIG_DRM_DW_HDMI_I2S_AUDIO=y +CONFIG_DRM_DW_HDMI_CEC=y +CONFIG_DRM_DW_MIPI_DSI=y # end of Display Interface Bridges -# CONFIG_DRM_ETNAVIV is not set -# CONFIG_DRM_HISI_KIRIN is not set -# CONFIG_DRM_MXSFB is not set +CONFIG_DRM_IMX_DCSS=y +# CONFIG_DRM_V3D is not set +CONFIG_DRM_VC4=y +# CONFIG_DRM_VC4_HDMI_CEC is not set +CONFIG_DRM_ETNAVIV=y +CONFIG_DRM_ETNAVIV_THERMAL=y +CONFIG_DRM_HISI_HIBMC=y +CONFIG_DRM_HISI_KIRIN=y +CONFIG_DRM_MEDIATEK=y +CONFIG_DRM_MEDIATEK_HDMI=y +CONFIG_DRM_MXS=y +CONFIG_DRM_MXSFB=y +CONFIG_DRM_MESON=y +CONFIG_DRM_MESON_DW_HDMI=y # CONFIG_DRM_ARCPGU is not set +# CONFIG_DRM_BOCHS is not set +# CONFIG_DRM_CIRRUS_QEMU is not set +# CONFIG_DRM_GM12U320 is not set # CONFIG_DRM_SIMPLEDRM is not set -# CONFIG_DRM_PL111 is not set -# CONFIG_DRM_LIMA is not set -# CONFIG_DRM_PANFROST is not set +# CONFIG_TINYDRM_HX8357D is not set +# CONFIG_TINYDRM_ILI9225 is not set +# CONFIG_TINYDRM_ILI9341 is not set +# CONFIG_TINYDRM_ILI9486 is not set +# CONFIG_TINYDRM_MI0283QT is not set +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set +# CONFIG_TINYDRM_ST7735R is not set +CONFIG_DRM_PL111=y +# CONFIG_DRM_XEN_FRONTEND is not set +CONFIG_DRM_LIMA=y +CONFIG_DRM_PANFROST=y # CONFIG_DRM_TIDSS is not set +# CONFIG_DRM_GUD is not set CONFIG_DRM_LEGACY=y +# CONFIG_DRM_TDFX is not set +# CONFIG_DRM_R128 is not set +# CONFIG_DRM_MGA is not set +# CONFIG_DRM_VIA is not set +# CONFIG_DRM_SAVAGE is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y # @@ -2587,22 +5069,60 @@ CONFIG_FB=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y # CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_DEFERRED_IO=y CONFIG_FB_MODE_HELPERS=y # CONFIG_FB_TILEBLITTING is not set # # Frame buffer hardware drivers # +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set # CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_IMX is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set CONFIG_FB_EFI=y # CONFIG_FB_OPENCORES is not set # CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SH_MOBILE_LCDC is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set # CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_XILINX is not set # CONFIG_FB_VIRTUAL is not set +CONFIG_XEN_FBDEV_FRONTEND=y # CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +CONFIG_FB_MX3=y # CONFIG_FB_SIMPLE is not set # CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set # end of Frame buffer Devices # @@ -2611,14 +5131,18 @@ CONFIG_FB_EFI=y # CONFIG_LCD_CLASS_DEVICE is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_KTD253 is not set +CONFIG_BACKLIGHT_PWM=y # CONFIG_BACKLIGHT_QCOM_WLED is not set # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set +CONFIG_BACKLIGHT_LP855X=y # CONFIG_BACKLIGHT_GPIO is not set # CONFIG_BACKLIGHT_LV5207LP is not set # CONFIG_BACKLIGHT_BD6107 is not set # CONFIG_BACKLIGHT_ARCXCNN is not set +# CONFIG_BACKLIGHT_LED is not set # end of Backlight & LCD device support CONFIG_VIDEOMODE_HELPERS=y @@ -2643,7 +5167,545 @@ CONFIG_LOGO=y CONFIG_LOGO_LINUX_CLUT224=y # end of Graphics support -# CONFIG_SOUND is not set +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_PCM_ELD=y +CONFIG_SND_PCM_IEC958=y +CONFIG_SND_DMAENGINE_PCM=y +CONFIG_SND_COMPRESS_OFFLOAD=y +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +# CONFIG_SND_OSSEMUL is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_MAX_CARDS=32 +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_VMASTER=y +# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_PCI=y +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ALS300 is not set +# CONFIG_SND_ALI5451 is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_AZT3328 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_EMU10K1 is not set +# CONFIG_SND_EMU10K1X is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_ES1938 is not set +# CONFIG_SND_ES1968 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1712 is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MAESTRO3 is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SE6X is not set +# CONFIG_SND_SONICVIBES is not set +# CONFIG_SND_TRIDENT is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +CONFIG_SND_HDA=y +# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_HDA_TEGRA=y +# CONFIG_SND_HDA_HWDEP is not set +# CONFIG_SND_HDA_RECONFIG is not set +# CONFIG_SND_HDA_INPUT_BEEP is not set +# CONFIG_SND_HDA_PATCH_LOADER is not set +# CONFIG_SND_HDA_CODEC_REALTEK is not set +# CONFIG_SND_HDA_CODEC_ANALOG is not set +# CONFIG_SND_HDA_CODEC_SIGMATEL is not set +# CONFIG_SND_HDA_CODEC_VIA is not set +CONFIG_SND_HDA_CODEC_HDMI=y +# CONFIG_SND_HDA_CODEC_CIRRUS is not set +# CONFIG_SND_HDA_CODEC_CS8409 is not set +# CONFIG_SND_HDA_CODEC_CONEXANT is not set +# CONFIG_SND_HDA_CODEC_CA0110 is not set +# CONFIG_SND_HDA_CODEC_CA0132 is not set +# CONFIG_SND_HDA_CODEC_CMEDIA is not set +# CONFIG_SND_HDA_CODEC_SI3054 is not set +# CONFIG_SND_HDA_GENERIC is not set +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +# end of HD-Audio + +CONFIG_SND_HDA_CORE=y +CONFIG_SND_HDA_ALIGNED_MMIO=y +CONFIG_SND_HDA_COMPONENT=y +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +# CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y +CONFIG_SND_SOC_COMPRESS=y +CONFIG_SND_SOC_TOPOLOGY=y +# CONFIG_SND_SOC_ADI is not set +# CONFIG_SND_SOC_AMD_ACP is not set +# CONFIG_SND_ATMEL_SOC is not set +CONFIG_SND_BCM2835_SOC_I2S=y +# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +CONFIG_SND_SOC_FSL_ASRC=y +CONFIG_SND_SOC_FSL_SAI=y +# CONFIG_SND_SOC_FSL_MQS is not set +CONFIG_SND_SOC_FSL_AUDMIX=y +CONFIG_SND_SOC_FSL_SSI=y +CONFIG_SND_SOC_FSL_SPDIF=y +CONFIG_SND_SOC_FSL_ESAI=y +CONFIG_SND_SOC_FSL_MICFIL=y +CONFIG_SND_SOC_FSL_EASRC=y +# CONFIG_SND_SOC_FSL_XCVR is not set +# CONFIG_SND_SOC_FSL_AUD2HTX is not set +# CONFIG_SND_SOC_FSL_RPMSG is not set +CONFIG_SND_SOC_IMX_PCM_DMA=y +CONFIG_SND_SOC_IMX_AUDMUX=y +CONFIG_SND_IMX_SOC=y + +# +# SoC Audio support for Freescale i.MX boards: +# +# CONFIG_SND_SOC_IMX_ES8328 is not set +CONFIG_SND_SOC_IMX_SGTL5000=y +CONFIG_SND_SOC_IMX_SPDIF=y +CONFIG_SND_SOC_FSL_ASOC_CARD=y +CONFIG_SND_SOC_IMX_AUDMIX=y +# CONFIG_SND_SOC_IMX_HDMI is not set +# CONFIG_SND_SOC_IMX_RPMSG is not set +# CONFIG_SND_SOC_IMX_CARD is not set +# end of SoC Audio for Freescale CPUs + +# CONFIG_SND_I2S_HI6210_I2S is not set +# CONFIG_SND_KIRKWOOD_SOC is not set +# CONFIG_SND_SOC_IMG is not set +# CONFIG_SND_SOC_INTEL_KEEMBAY is not set +# CONFIG_SND_SOC_MT2701 is not set +# CONFIG_SND_SOC_MT6797 is not set +# CONFIG_SND_SOC_MT8173 is not set +# CONFIG_SND_SOC_MT8183 is not set +# CONFIG_SND_SOC_MTK_BTCVSD is not set +# CONFIG_SND_SOC_MT8192 is not set +# CONFIG_SND_SOC_MT8195 is not set + +# +# ASoC support for Amlogic platforms +# +CONFIG_SND_MESON_AIU=y +CONFIG_SND_MESON_AXG_FIFO=y +CONFIG_SND_MESON_AXG_FRDDR=y +CONFIG_SND_MESON_AXG_TODDR=y +CONFIG_SND_MESON_AXG_TDM_FORMATTER=y +CONFIG_SND_MESON_AXG_TDM_INTERFACE=y +CONFIG_SND_MESON_AXG_TDMIN=y +CONFIG_SND_MESON_AXG_TDMOUT=y +CONFIG_SND_MESON_AXG_SOUND_CARD=y +CONFIG_SND_MESON_AXG_SPDIFOUT=y +CONFIG_SND_MESON_AXG_SPDIFIN=y +CONFIG_SND_MESON_AXG_PDM=y +CONFIG_SND_MESON_CARD_UTILS=y +CONFIG_SND_MESON_CODEC_GLUE=y +CONFIG_SND_MESON_GX_SOUND_CARD=y +CONFIG_SND_MESON_G12A_TOACODEC=y +CONFIG_SND_MESON_G12A_TOHDMITX=y +CONFIG_SND_SOC_MESON_T9015=y +# end of ASoC support for Amlogic platforms + +CONFIG_SND_SOC_QCOM=y +CONFIG_SND_SOC_LPASS_CPU=y +CONFIG_SND_SOC_LPASS_PLATFORM=y +CONFIG_SND_SOC_LPASS_APQ8016=y +# CONFIG_SND_SOC_STORM is not set +CONFIG_SND_SOC_APQ8016_SBC=y +CONFIG_SND_SOC_QCOM_COMMON=y +CONFIG_SND_SOC_QDSP6_COMMON=y +CONFIG_SND_SOC_QDSP6_CORE=y +CONFIG_SND_SOC_QDSP6_AFE=y +CONFIG_SND_SOC_QDSP6_AFE_DAI=y +CONFIG_SND_SOC_QDSP6_AFE_CLOCKS=y +CONFIG_SND_SOC_QDSP6_ADM=y +CONFIG_SND_SOC_QDSP6_ROUTING=y +CONFIG_SND_SOC_QDSP6_ASM=y +CONFIG_SND_SOC_QDSP6_ASM_DAI=y +CONFIG_SND_SOC_QDSP6_APM_DAI=y +CONFIG_SND_SOC_QDSP6_APM_LPASS_DAI=y +CONFIG_SND_SOC_QDSP6_APM=y +CONFIG_SND_SOC_QDSP6_PRM_LPASS_CLOCKS=y +CONFIG_SND_SOC_QDSP6_PRM=y +CONFIG_SND_SOC_QDSP6=y +CONFIG_SND_SOC_MSM8996=y +CONFIG_SND_SOC_SDM845=y +CONFIG_SND_SOC_SM8250=y +# CONFIG_SND_SOC_SC7180 is not set +CONFIG_SND_SOC_ROCKCHIP=y +CONFIG_SND_SOC_ROCKCHIP_I2S=y +# CONFIG_SND_SOC_ROCKCHIP_I2S_TDM is not set +# CONFIG_SND_SOC_ROCKCHIP_PDM is not set +CONFIG_SND_SOC_ROCKCHIP_SPDIF=y +# CONFIG_SND_SOC_ROCKCHIP_MAX98090 is not set +CONFIG_SND_SOC_ROCKCHIP_RT5645=y +# CONFIG_SND_SOC_RK3288_HDMI_ANALOG is not set +CONFIG_SND_SOC_RK3399_GRU_SOUND=y +CONFIG_SND_SOC_SAMSUNG=y +# CONFIG_SND_SAMSUNG_PCM is not set +# CONFIG_SND_SAMSUNG_SPDIF is not set +# CONFIG_SND_SAMSUNG_I2S is not set +# CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994 is not set +# CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF is not set +# CONFIG_SND_SOC_SMDK_WM8994_PCM is not set +# CONFIG_SND_SOC_SNOW is not set +# CONFIG_SND_SOC_ODROID is not set +# CONFIG_SND_SOC_ARNDALE is not set +# CONFIG_SND_SOC_SAMSUNG_ARIES_WM8994 is not set +# CONFIG_SND_SOC_SAMSUNG_MIDAS_WM1811 is not set + +# +# SoC Audio support for Renesas SoCs +# +# CONFIG_SND_SOC_SH4_FSI is not set +CONFIG_SND_SOC_RCAR=y +CONFIG_SND_SOC_RZ=y +# end of SoC Audio support for Renesas SoCs + +# CONFIG_SND_SOC_SOF_TOPLEVEL is not set +# CONFIG_SND_SOC_SPRD is not set + +# +# STMicroelectronics STM32 SOC audio support +# +# end of STMicroelectronics STM32 SOC audio support + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SUN8I_CODEC is not set +# CONFIG_SND_SUN8I_CODEC_ANALOG is not set +# CONFIG_SND_SUN50I_CODEC_ANALOG is not set +CONFIG_SND_SUN4I_I2S=y +CONFIG_SND_SUN4I_SPDIF=y +# end of Allwinner SoC Audio support + +CONFIG_SND_SOC_TEGRA=y +# CONFIG_SND_SOC_TEGRA20_AC97 is not set +# CONFIG_SND_SOC_TEGRA20_DAS is not set +# CONFIG_SND_SOC_TEGRA20_I2S is not set +# CONFIG_SND_SOC_TEGRA20_SPDIF is not set +# CONFIG_SND_SOC_TEGRA30_AHUB is not set +# CONFIG_SND_SOC_TEGRA30_I2S is not set +CONFIG_SND_SOC_TEGRA210_AHUB=y +CONFIG_SND_SOC_TEGRA210_DMIC=y +CONFIG_SND_SOC_TEGRA210_I2S=y +CONFIG_SND_SOC_TEGRA186_DSPK=y +CONFIG_SND_SOC_TEGRA210_ADMAIF=y +CONFIG_SND_SOC_TEGRA210_MVC=y +CONFIG_SND_SOC_TEGRA210_SFC=y +CONFIG_SND_SOC_TEGRA210_AMX=y +CONFIG_SND_SOC_TEGRA210_ADX=y +CONFIG_SND_SOC_TEGRA210_MIXER=y +CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD=y +# CONFIG_SND_SOC_TEGRA_RT5640 is not set +# CONFIG_SND_SOC_TEGRA_WM8753 is not set +# CONFIG_SND_SOC_TEGRA_WM8903 is not set +# CONFIG_SND_SOC_TEGRA_WM9712 is not set +# CONFIG_SND_SOC_TEGRA_TRIMSLICE is not set +# CONFIG_SND_SOC_TEGRA_ALC5632 is not set +# CONFIG_SND_SOC_TEGRA_MAX98090 is not set +# CONFIG_SND_SOC_TEGRA_RT5677 is not set +# CONFIG_SND_SOC_TEGRA_SGTL5000 is not set + +# +# Audio support for Texas Instruments SoCs +# + +# +# Texas Instruments DAI support for: +# +# CONFIG_SND_SOC_DAVINCI_MCASP is not set + +# +# Audio support for boards with Texas Instruments SoCs +# +# CONFIG_SND_SOC_J721E_EVM is not set +# end of Audio support for Texas Instruments SoCs + +# CONFIG_SND_SOC_UNIPHIER is not set +# CONFIG_SND_SOC_XILINX_I2S is not set +# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set +# CONFIG_SND_SOC_XILINX_SPDIF is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +CONFIG_SND_SOC_WM_HUBS=y +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1372_I2C is not set +# CONFIG_SND_SOC_ADAU1372_SPI is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_ADAU1761_I2C is not set +# CONFIG_SND_SOC_ADAU1761_SPI is not set +# CONFIG_SND_SOC_ADAU7002 is not set +# CONFIG_SND_SOC_ADAU7118_HW is not set +# CONFIG_SND_SOC_ADAU7118_I2C is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4118 is not set +# CONFIG_SND_SOC_AK4458 is not set +# CONFIG_SND_SOC_AK4554 is not set +CONFIG_SND_SOC_AK4613=y +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_AK5558 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_BD28623 is not set +# CONFIG_SND_SOC_BT_SCO is not set +CONFIG_SND_SOC_CROS_EC_CODEC=y +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS35L33 is not set +# CONFIG_SND_SOC_CS35L34 is not set +# CONFIG_SND_SOC_CS35L35 is not set +# CONFIG_SND_SOC_CS35L36 is not set +# CONFIG_SND_SOC_CS35L41_SPI is not set +# CONFIG_SND_SOC_CS35L41_I2C is not set +# CONFIG_SND_SOC_CS42L42 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4234 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS43130 is not set +# CONFIG_SND_SOC_CS4341 is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_CS53L30 is not set +# CONFIG_SND_SOC_CX2072X is not set +# CONFIG_SND_SOC_DA7213 is not set +CONFIG_SND_SOC_DA7219=y +CONFIG_SND_SOC_DMIC=y +CONFIG_SND_SOC_HDMI_CODEC=y +CONFIG_SND_SOC_ES7134=y +CONFIG_SND_SOC_ES7241=y +# CONFIG_SND_SOC_ES8316 is not set +# CONFIG_SND_SOC_ES8328_I2C is not set +# CONFIG_SND_SOC_ES8328_SPI is not set +CONFIG_SND_SOC_GTM601=y +# CONFIG_SND_SOC_ICS43432 is not set +# CONFIG_SND_SOC_INNO_RK3036 is not set +# CONFIG_SND_SOC_MAX98088 is not set +CONFIG_SND_SOC_MAX98357A=y +# CONFIG_SND_SOC_MAX98504 is not set +# CONFIG_SND_SOC_MAX9867 is not set +CONFIG_SND_SOC_MAX98927=y +# CONFIG_SND_SOC_MAX98520 is not set +# CONFIG_SND_SOC_MAX98373_I2C is not set +# CONFIG_SND_SOC_MAX98373_SDW is not set +# CONFIG_SND_SOC_MAX98390 is not set +# CONFIG_SND_SOC_MAX9860 is not set +CONFIG_SND_SOC_MSM8916_WCD_ANALOG=y +CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=y +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1789_I2C is not set +# CONFIG_SND_SOC_PCM179X_I2C is not set +# CONFIG_SND_SOC_PCM179X_SPI is not set +# CONFIG_SND_SOC_PCM186X_I2C is not set +# CONFIG_SND_SOC_PCM186X_SPI is not set +# CONFIG_SND_SOC_PCM3060_I2C is not set +# CONFIG_SND_SOC_PCM3060_SPI is not set +CONFIG_SND_SOC_PCM3168A=y +CONFIG_SND_SOC_PCM3168A_I2C=y +# CONFIG_SND_SOC_PCM3168A_SPI is not set +# CONFIG_SND_SOC_PCM5102A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RK3328 is not set +# CONFIG_SND_SOC_RK817 is not set +CONFIG_SND_SOC_RL6231=y +# CONFIG_SND_SOC_RT1308_SDW is not set +# CONFIG_SND_SOC_RT1316_SDW is not set +CONFIG_SND_SOC_RT5514=y +CONFIG_SND_SOC_RT5514_SPI=y +# CONFIG_SND_SOC_RT5616 is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5640 is not set +CONFIG_SND_SOC_RT5645=y +CONFIG_SND_SOC_RT5659=y +CONFIG_SND_SOC_RT5663=y +# CONFIG_SND_SOC_RT5682_SDW is not set +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT711_SDCA_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set +# CONFIG_SND_SOC_RT715_SDCA_SDW is not set +# CONFIG_SND_SOC_RT9120 is not set +CONFIG_SND_SOC_SGTL5000=y +CONFIG_SND_SOC_SIMPLE_AMPLIFIER=y +CONFIG_SND_SOC_SIMPLE_MUX=y +CONFIG_SND_SOC_SPDIF=y +# CONFIG_SND_SOC_SSM2305 is not set +# CONFIG_SND_SOC_SSM2518 is not set +# CONFIG_SND_SOC_SSM2602_SPI is not set +# CONFIG_SND_SOC_SSM2602_I2C is not set +# CONFIG_SND_SOC_SSM4567 is not set +# CONFIG_SND_SOC_STA32X is not set +# CONFIG_SND_SOC_STA350 is not set +# CONFIG_SND_SOC_STI_SAS is not set +# CONFIG_SND_SOC_TAS2552 is not set +# CONFIG_SND_SOC_TAS2562 is not set +# CONFIG_SND_SOC_TAS2764 is not set +# CONFIG_SND_SOC_TAS2770 is not set +# CONFIG_SND_SOC_TAS5086 is not set +CONFIG_SND_SOC_TAS571X=y +# CONFIG_SND_SOC_TAS5720 is not set +# CONFIG_SND_SOC_TAS6424 is not set +# CONFIG_SND_SOC_TDA7419 is not set +# CONFIG_SND_SOC_TFA9879 is not set +# CONFIG_SND_SOC_TFA989X is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set +# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set +# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set +# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set +# CONFIG_SND_SOC_TLV320ADCX140 is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_TSCS42XX is not set +# CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set +# CONFIG_SND_SOC_WCD9335 is not set +CONFIG_SND_SOC_WCD_MBHC=y +CONFIG_SND_SOC_WCD934X=y +# CONFIG_SND_SOC_WCD938X_SDW is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8524 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8782 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +CONFIG_SND_SOC_WM8904=y +CONFIG_SND_SOC_WM8960=y +CONFIG_SND_SOC_WM8962=y +# CONFIG_SND_SOC_WM8974 is not set +CONFIG_SND_SOC_WM8978=y +# CONFIG_SND_SOC_WM8985 is not set +CONFIG_SND_SOC_WM8994=y +CONFIG_SND_SOC_WSA881X=y +# CONFIG_SND_SOC_ZL38060 is not set +# CONFIG_SND_SOC_MAX9759 is not set +# CONFIG_SND_SOC_MT6351 is not set +# CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6359 is not set +# CONFIG_SND_SOC_MT6359_ACCDET is not set +# CONFIG_SND_SOC_MT6660 is not set +# CONFIG_SND_SOC_NAU8315 is not set +# CONFIG_SND_SOC_NAU8540 is not set +# CONFIG_SND_SOC_NAU8810 is not set +# CONFIG_SND_SOC_NAU8821 is not set +# CONFIG_SND_SOC_NAU8822 is not set +# CONFIG_SND_SOC_NAU8824 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +CONFIG_SND_SOC_LPASS_WSA_MACRO=y +CONFIG_SND_SOC_LPASS_VA_MACRO=y +# CONFIG_SND_SOC_LPASS_RX_MACRO is not set +# CONFIG_SND_SOC_LPASS_TX_MACRO is not set +# end of CODEC drivers + +CONFIG_SND_SIMPLE_CARD_UTILS=y +CONFIG_SND_SIMPLE_CARD=y +CONFIG_SND_AUDIO_GRAPH_CARD=y +# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set +# CONFIG_SND_TEST_COMPONENT is not set +# CONFIG_SND_XEN_FRONTEND is not set +# CONFIG_SND_VIRTIO is not set # # HID support @@ -2658,25 +5720,40 @@ CONFIG_HID_GENERIC=y # Special HID drivers # CONFIG_HID_A4TECH=y +# CONFIG_HID_ACCUTOUCH is not set # CONFIG_HID_ACRUX is not set CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_ASUS is not set # CONFIG_HID_AUREAL is not set CONFIG_HID_BELKIN=y +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_BIGBEN_FF is not set CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_CORSAIR is not set # CONFIG_HID_COUGAR is not set # CONFIG_HID_MACALLY is not set +# CONFIG_HID_PRODIKEYS is not set # CONFIG_HID_CMEDIA is not set +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=y # CONFIG_HID_DRAGONRISE is not set # CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELAN is not set # CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set CONFIG_HID_EZKEY=y # CONFIG_HID_GEMBIRD is not set # CONFIG_HID_GFRM is not set # CONFIG_HID_GLORIOUS is not set +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_GOOGLE_HAMMER is not set # CONFIG_HID_VIVALDI is not set +# CONFIG_HID_GT683R is not set # CONFIG_HID_KEYTOUCH is not set # CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set # CONFIG_HID_WALTOP is not set # CONFIG_HID_VIEWSONIC is not set # CONFIG_HID_XIAOMI is not set @@ -2687,23 +5764,37 @@ CONFIG_HID_ITE=y # CONFIG_HID_TWINHAN is not set CONFIG_HID_KENSINGTON=y # CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LED is not set # CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_HIDPP is not set +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set +# CONFIG_LOGIWHEELS_FF is not set # CONFIG_HID_MAGICMOUSE is not set # CONFIG_HID_MALTRON is not set # CONFIG_HID_MAYFLASH is not set CONFIG_HID_REDRAGON=y CONFIG_HID_MICROSOFT=y CONFIG_HID_MONTEREY=y -CONFIG_HID_MULTITOUCH=m +CONFIG_HID_MULTITOUCH=y +# CONFIG_HID_NINTENDO is not set # CONFIG_HID_NTI is not set +# CONFIG_HID_NTRIG is not set # CONFIG_HID_ORTEK is not set # CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PENMOUNT is not set # CONFIG_HID_PETALYNX is not set # CONFIG_HID_PICOLCD is not set # CONFIG_HID_PLANTRONICS is not set # CONFIG_HID_PRIMAX is not set +# CONFIG_HID_RETRODE is not set +# CONFIG_HID_ROCCAT is not set # CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set # CONFIG_HID_SEMITEK is not set +# CONFIG_HID_SONY is not set # CONFIG_HID_SPEEDLINK is not set # CONFIG_HID_STEAM is not set # CONFIG_HID_STEELSERIES is not set @@ -2713,28 +5804,424 @@ CONFIG_HID_MULTITOUCH=m # CONFIG_HID_SMARTJOYPLUS is not set # CONFIG_HID_TIVO is not set # CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THINGM is not set +# CONFIG_HID_THRUSTMASTER is not set # CONFIG_HID_UDRAW_PS3 is not set +# CONFIG_HID_U2FZERO is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_WIIMOTE is not set # CONFIG_HID_XINMO is not set # CONFIG_HID_ZEROPLUS is not set # CONFIG_HID_ZYDACRON is not set # CONFIG_HID_SENSOR_HUB is not set # CONFIG_HID_ALPS is not set +# CONFIG_HID_MCP2221 is not set # end of Special HID drivers +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set +# end of USB HID support + # # I2C HID support # -CONFIG_I2C_HID_OF=m +CONFIG_I2C_HID_OF=y # CONFIG_I2C_HID_OF_GOODIX is not set # end of I2C HID support -CONFIG_I2C_HID_CORE=m +CONFIG_I2C_HID_CORE=y # end of HID support CONFIG_USB_OHCI_LITTLE_ENDIAN=y -# CONFIG_USB_SUPPORT is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +# CONFIG_USB_LED_TRIG is not set +CONFIG_USB_ULPI_BUS=y +CONFIG_USB_CONN_GPIO=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +CONFIG_USB_PCI=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_FEW_INIT_RETRIES is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +CONFIG_USB_OTG=y +# CONFIG_USB_OTG_PRODUCTLIST is not set +# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set +# CONFIG_USB_OTG_FSM is not set +# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set +CONFIG_USB_AUTOSUSPEND_DELAY=2 +# CONFIG_USB_MON is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +# CONFIG_USB_XHCI_DBGCAP is not set +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_XHCI_PCI_RENESAS=y +CONFIG_USB_XHCI_PLATFORM=y +# CONFIG_USB_XHCI_HISTB is not set +CONFIG_USB_XHCI_MTK=y +# CONFIG_USB_XHCI_MVEBU is not set +CONFIG_USB_XHCI_RCAR=y +CONFIG_USB_XHCI_TEGRA=y +# CONFIG_USB_BRCMSTB is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_EHCI_HCD_ORION=y +# CONFIG_USB_EHCI_TEGRA is not set +CONFIG_USB_EHCI_EXYNOS=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_EXYNOS=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_RENESAS_USBHS_HCD=y +# CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_USB_RENESAS_USBHS=y + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=y +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +# CONFIG_USB_UAS is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_CDNS_SUPPORT is not set +CONFIG_USB_MTU3=y +# CONFIG_USB_MTU3_HOST is not set +# CONFIG_USB_MTU3_GADGET is not set +CONFIG_USB_MTU3_DUAL_ROLE=y +# CONFIG_USB_MTU3_DEBUG is not set +CONFIG_USB_MUSB_HDRC=y +# CONFIG_USB_MUSB_HOST is not set +# CONFIG_USB_MUSB_GADGET is not set +CONFIG_USB_MUSB_DUAL_ROLE=y + +# +# Platform Glue Layer +# +CONFIG_USB_MUSB_SUNXI=y +# CONFIG_USB_MUSB_MEDIATEK is not set + +# +# MUSB DMA mode +# +# CONFIG_MUSB_PIO_ONLY is not set +CONFIG_USB_DWC3=y +# CONFIG_USB_DWC3_ULPI is not set +# CONFIG_USB_DWC3_HOST is not set +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_DUAL_ROLE=y + +# +# Platform Glue Driver Support +# +CONFIG_USB_DWC3_EXYNOS=y +CONFIG_USB_DWC3_HAPS=y +CONFIG_USB_DWC3_KEYSTONE=y +CONFIG_USB_DWC3_MESON_G12A=y +CONFIG_USB_DWC3_OF_SIMPLE=y +CONFIG_USB_DWC3_QCOM=y +CONFIG_USB_DWC3_IMX8MP=y +CONFIG_USB_DWC3_XILINX=y +CONFIG_USB_DWC2=y +# CONFIG_USB_DWC2_HOST is not set + +# +# Gadget/Dual-role mode requires USB Gadget support to be enabled +# +# CONFIG_USB_DWC2_PERIPHERAL is not set +CONFIG_USB_DWC2_DUAL_ROLE=y +# CONFIG_USB_DWC2_PCI is not set +# CONFIG_USB_DWC2_DEBUG is not set +# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_PCI=y +CONFIG_USB_CHIPIDEA_MSM=y +CONFIG_USB_CHIPIDEA_IMX=y +CONFIG_USB_CHIPIDEA_GENERIC=y +CONFIG_USB_CHIPIDEA_TEGRA=y +CONFIG_USB_ISP1760=y +CONFIG_USB_ISP1760_HCD=y +CONFIG_USB_ISP1761_UDC=y +# CONFIG_USB_ISP1760_HOST_ROLE is not set +# CONFIG_USB_ISP1760_GADGET_ROLE is not set +CONFIG_USB_ISP1760_DUAL_ROLE=y + +# +# USB port drivers +# +CONFIG_USB_SERIAL=y +# CONFIG_USB_SERIAL_CONSOLE is not set +# CONFIG_USB_SERIAL_GENERIC is not set +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +CONFIG_USB_SERIAL_CP210X=y +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +CONFIG_USB_SERIAL_FTDI_SIO=y +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_F8153X is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +# CONFIG_USB_SERIAL_PL2303 is not set +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_UPD78F0730 is not set +# CONFIG_USB_SERIAL_XR is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_APPLE_MFI_FASTCHARGE is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HUB_USB251XB is not set +CONFIG_USB_HSIC_USB3503=y +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set +# CONFIG_USB_CHAOSKEY is not set +CONFIG_BRCM_USB_PINMAP=y + +# +# USB Physical Layer drivers +# +CONFIG_USB_PHY=y +CONFIG_NOP_USB_XCEIV=y +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_MXS_PHY is not set +CONFIG_USB_TEGRA_PHY=y +CONFIG_USB_ULPI=y +CONFIG_USB_ULPI_VIEWPORT=y +# end of USB Physical Layer drivers + +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_U_SERIAL_CONSOLE is not set + +# +# USB Peripheral Controller +# +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_GR_UDC is not set +# CONFIG_USB_R8A66597 is not set +CONFIG_USB_RENESAS_USBHS_UDC=y +CONFIG_USB_RENESAS_USB3=y +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +CONFIG_USB_SNP_CORE=y +CONFIG_USB_SNP_UDC_PLAT=y +# CONFIG_USB_M66592 is not set +CONFIG_USB_BDC_UDC=y +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_MAX3420_UDC is not set +CONFIG_USB_TEGRA_XUDC=y +# CONFIG_USB_DUMMY_HCD is not set +# end of USB Peripheral Controller + +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_F_ACM=y +CONFIG_USB_U_SERIAL=y +CONFIG_USB_U_ETHER=y +CONFIG_USB_F_SERIAL=y +CONFIG_USB_F_OBEX=y +CONFIG_USB_F_NCM=y +CONFIG_USB_F_ECM=y +CONFIG_USB_F_EEM=y +CONFIG_USB_F_SUBSET=y +CONFIG_USB_F_RNDIS=y +CONFIG_USB_F_MASS_STORAGE=y +CONFIG_USB_F_FS=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_OBEX=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +CONFIG_USB_CONFIGFS_F_FS=y +# CONFIG_USB_CONFIGFS_F_UAC1 is not set +# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONFIGFS_F_UAC2 is not set +# CONFIG_USB_CONFIGFS_F_MIDI is not set +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_UVC is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set + +# +# USB Gadget precomposed configurations +# +# CONFIG_USB_ZERO is not set +# CONFIG_USB_AUDIO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_G_NCM is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FUNCTIONFS is not set +# CONFIG_USB_MASS_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +# CONFIG_USB_G_HID is not set +# CONFIG_USB_G_DBGP is not set +# CONFIG_USB_G_WEBCAM is not set +# CONFIG_USB_RAW_GADGET is not set +# end of USB Gadget precomposed configurations + +CONFIG_TYPEC=y +CONFIG_TYPEC_TCPM=y +CONFIG_TYPEC_TCPCI=y +# CONFIG_TYPEC_RT1711H is not set +# CONFIG_TYPEC_TCPCI_MAXIM is not set +CONFIG_TYPEC_FUSB302=y +# CONFIG_TYPEC_UCSI is not set +CONFIG_TYPEC_TPS6598X=y +CONFIG_TYPEC_HD3SS3220=y +# CONFIG_TYPEC_STUSB160X is not set +# CONFIG_TYPEC_QCOM_PMIC is not set + +# +# USB Type-C Multiplexer/DeMultiplexer Switch support +# +# CONFIG_TYPEC_MUX_PI3USB30532 is not set +# end of USB Type-C Multiplexer/DeMultiplexer Switch support + +# +# USB Type-C Alternate Mode drivers +# +# CONFIG_TYPEC_DP_ALTMODE is not set +# end of USB Type-C Alternate Mode drivers + +CONFIG_USB_ROLE_SWITCH=y CONFIG_MMC=y CONFIG_PWRSEQ_EMMC=y +# CONFIG_PWRSEQ_SD8787 is not set CONFIG_PWRSEQ_SIMPLE=y CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=32 @@ -2746,36 +6233,156 @@ CONFIG_MMC_BLOCK_MINORS=32 # # CONFIG_MMC_DEBUG is not set CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_QCOM_DML=y CONFIG_MMC_STM32_SDMMC=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_IO_ACCESSORS=y +# CONFIG_MMC_SDHCI_PCI is not set CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MMC_SDHCI_OF_ARASAN=y # CONFIG_MMC_SDHCI_OF_ASPEED is not set # CONFIG_MMC_SDHCI_OF_AT91 is not set +CONFIG_MMC_SDHCI_OF_ESDHC=y # CONFIG_MMC_SDHCI_OF_DWCMSHC is not set CONFIG_MMC_SDHCI_CADENCE=y +CONFIG_MMC_SDHCI_ESDHC_IMX=y +CONFIG_MMC_SDHCI_TEGRA=y +# CONFIG_MMC_SDHCI_S3C is not set +# CONFIG_MMC_SDHCI_PXAV3 is not set CONFIG_MMC_SDHCI_F_SDH30=y # CONFIG_MMC_SDHCI_MILBEAUT is not set +CONFIG_MMC_SDHCI_IPROC=y +CONFIG_MMC_MESON_GX=y +# CONFIG_MMC_MESON_MX_SDIO is not set +CONFIG_MMC_SDHCI_MSM=y +# CONFIG_MMC_MXC is not set +# CONFIG_MMC_TIFM_SD is not set +CONFIG_MMC_SPI=y +# CONFIG_MMC_SDHCI_SPRD is not set +CONFIG_MMC_TMIO_CORE=y +CONFIG_MMC_SDHI=y +# CONFIG_MMC_SDHI_SYS_DMAC is not set +CONFIG_MMC_SDHI_INTERNAL_DMAC=y +CONFIG_MMC_UNIPHIER=y +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC is not set CONFIG_MMC_DW=y CONFIG_MMC_DW_PLTFM=y # CONFIG_MMC_DW_BLUEFIELD is not set CONFIG_MMC_DW_EXYNOS=y CONFIG_MMC_DW_HI3798CV200=y CONFIG_MMC_DW_K3=y +# CONFIG_MMC_DW_PCI is not set CONFIG_MMC_DW_ROCKCHIP=y +# CONFIG_MMC_SH_MMCIF is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set # CONFIG_MMC_USDHI6ROL0 is not set +CONFIG_MMC_SUNXI=y CONFIG_MMC_CQHCI=y # CONFIG_MMC_HSQ is not set +# CONFIG_MMC_TOSHIBA_PCI is not set +CONFIG_MMC_BCM2835=y CONFIG_MMC_MTK=y +CONFIG_MMC_SDHCI_BRCMSTB=y CONFIG_MMC_SDHCI_XENON=y # CONFIG_MMC_SDHCI_OMAP is not set CONFIG_MMC_SDHCI_AM654=y +CONFIG_MMC_OWL=y # CONFIG_MEMSTICK is not set -# CONFIG_NEW_LEDS is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set +# CONFIG_LEDS_CLASS_MULTICOLOR is not set +# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set + +# +# LED drivers +# +# CONFIG_LEDS_AN30259A is not set +# CONFIG_LEDS_AW2013 is not set +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_CR0014114 is not set +# CONFIG_LEDS_EL15203000 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3532 is not set +# CONFIG_LEDS_LM3642 is not set +CONFIG_LEDS_LM3692X=y +# CONFIG_LEDS_MT6323 is not set +CONFIG_LEDS_PCA9532=y +# CONFIG_LEDS_PCA9532_GPIO is not set +CONFIG_LEDS_GPIO=y +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP3952 is not set +# CONFIG_LEDS_LP50XX is not set +# CONFIG_LEDS_LP55XX_COMMON is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +CONFIG_LEDS_PWM=y +# CONFIG_LEDS_REGULATOR is not set +# CONFIG_LEDS_BD2802 is not set +# CONFIG_LEDS_LT3593 is not set +# CONFIG_LEDS_TCA6507 is not set +# CONFIG_LEDS_TLC591XX is not set +# CONFIG_LEDS_LM355x is not set +# CONFIG_LEDS_IS31FL319X is not set +# CONFIG_LEDS_IS31FL32XX is not set + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set +CONFIG_LEDS_SYSCON=y +# CONFIG_LEDS_MLXREG is not set +# CONFIG_LEDS_USER is not set +# CONFIG_LEDS_SPI_BYTE is not set +# CONFIG_LEDS_TI_LMU_COMMON is not set + +# +# Flash and Torch LED drivers +# + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +CONFIG_LEDS_TRIGGER_DISK=y +# CONFIG_LEDS_TRIGGER_MTD is not set +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +CONFIG_LEDS_TRIGGER_CPU=y +# CONFIG_LEDS_TRIGGER_ACTIVITY is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +CONFIG_LEDS_TRIGGER_PANIC=y +# CONFIG_LEDS_TRIGGER_NETDEV is not set +# CONFIG_LEDS_TRIGGER_PATTERN is not set +# CONFIG_LEDS_TRIGGER_AUDIO is not set +# CONFIG_LEDS_TRIGGER_TTY is not set # CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set CONFIG_EDAC_SUPPORT=y -# CONFIG_EDAC is not set +CONFIG_EDAC=y +CONFIG_EDAC_LEGACY_SYSFS=y +# CONFIG_EDAC_DEBUG is not set +# CONFIG_EDAC_AL_MC is not set +CONFIG_EDAC_LAYERSCAPE=y +# CONFIG_EDAC_THUNDERX is not set +# CONFIG_EDAC_ALTERA is not set +# CONFIG_EDAC_SYNOPSYS is not set +# CONFIG_EDAC_XGENE is not set +# CONFIG_EDAC_DMC520 is not set CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y @@ -2800,12 +6407,15 @@ CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_DRV_ABB5ZES3 is not set # CONFIG_RTC_DRV_ABEOZ9 is not set # CONFIG_RTC_DRV_ABX80X is not set -CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_BRCMSTB=y +CONFIG_RTC_DRV_DS1307=y # CONFIG_RTC_DRV_DS1307_CENTURY is not set # CONFIG_RTC_DRV_DS1374 is not set # CONFIG_RTC_DRV_DS1672 is not set -CONFIG_RTC_DRV_HYM8563=m +CONFIG_RTC_DRV_HYM8563=y # CONFIG_RTC_DRV_MAX6900 is not set +CONFIG_RTC_DRV_MAX77686=y +CONFIG_RTC_DRV_RK808=y # CONFIG_RTC_DRV_RS5C372 is not set # CONFIG_RTC_DRV_ISL1208 is not set # CONFIG_RTC_DRV_ISL12022 is not set @@ -2813,26 +6423,41 @@ CONFIG_RTC_DRV_HYM8563=m # CONFIG_RTC_DRV_X1205 is not set # CONFIG_RTC_DRV_PCF8523 is not set # CONFIG_RTC_DRV_PCF85063 is not set -CONFIG_RTC_DRV_PCF85363=m +CONFIG_RTC_DRV_PCF85363=y # CONFIG_RTC_DRV_PCF8563 is not set # CONFIG_RTC_DRV_PCF8583 is not set -CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80=y # CONFIG_RTC_DRV_M41T80_WDT is not set # CONFIG_RTC_DRV_BQ32K is not set # CONFIG_RTC_DRV_S35390A is not set # CONFIG_RTC_DRV_FM3130 is not set # CONFIG_RTC_DRV_RX8010 is not set -CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_RX8581=y # CONFIG_RTC_DRV_RX8025 is not set # CONFIG_RTC_DRV_EM3027 is not set -CONFIG_RTC_DRV_RV3028=m +CONFIG_RTC_DRV_RV3028=y # CONFIG_RTC_DRV_RV3032 is not set -CONFIG_RTC_DRV_RV8803=m +CONFIG_RTC_DRV_RV8803=y +CONFIG_RTC_DRV_S5M=y # CONFIG_RTC_DRV_SD3078 is not set # # SPI RTC drivers # +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1302 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1343 is not set +# CONFIG_RTC_DRV_DS1347 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6916 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_MCP795 is not set CONFIG_RTC_I2C_AND_SPI=y # @@ -2840,7 +6465,7 @@ CONFIG_RTC_I2C_AND_SPI=y # CONFIG_RTC_DRV_DS3232=y CONFIG_RTC_DRV_DS3232_HWMON=y -CONFIG_RTC_DRV_PCF2127=m +CONFIG_RTC_DRV_PCF2127=y # CONFIG_RTC_DRV_RV3029C2 is not set # CONFIG_RTC_DRV_RX6110 is not set @@ -2863,14 +6488,33 @@ CONFIG_RTC_DRV_EFI=y # CONFIG_RTC_DRV_RP5C01 is not set # CONFIG_RTC_DRV_V3020 is not set # CONFIG_RTC_DRV_ZYNQMP is not set +CONFIG_RTC_DRV_CROS_EC=y # # on-CPU RTC drivers # +# CONFIG_RTC_DRV_IMXDI is not set +CONFIG_RTC_DRV_FSL_FTM_ALARM=y +CONFIG_RTC_DRV_MESON_VRTC=y +CONFIG_RTC_DRV_S3C=y +# CONFIG_RTC_DRV_SH is not set # CONFIG_RTC_DRV_PL030 is not set CONFIG_RTC_DRV_PL031=y +CONFIG_RTC_DRV_SUN6I=y +# CONFIG_RTC_DRV_MV is not set +CONFIG_RTC_DRV_ARMADA38X=y # CONFIG_RTC_DRV_CADENCE is not set # CONFIG_RTC_DRV_FTRTC010 is not set +CONFIG_RTC_DRV_PM8XXX=y +CONFIG_RTC_DRV_TEGRA=y +# CONFIG_RTC_DRV_MXC is not set +# CONFIG_RTC_DRV_MXC_V2 is not set +CONFIG_RTC_DRV_SNVS=y +CONFIG_RTC_DRV_IMX_SC=y +# CONFIG_RTC_DRV_MT2712 is not set +# CONFIG_RTC_DRV_MT6397 is not set +# CONFIG_RTC_DRV_MT7622 is not set +CONFIG_RTC_DRV_XGENE=y # CONFIG_RTC_DRV_R7301 is not set # @@ -2889,20 +6533,55 @@ CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DMA_OF=y # CONFIG_ALTERA_MSGDMA is not set # CONFIG_AMBA_PL08X is not set -CONFIG_BCM_SBA_RAID=m +# CONFIG_AXI_DMAC is not set +CONFIG_BCM_SBA_RAID=y +CONFIG_DMA_BCM2835=y +CONFIG_DMA_SUN6I=y # CONFIG_DW_AXI_DMAC is not set CONFIG_FSL_EDMA=y # CONFIG_FSL_QDMA is not set +# CONFIG_HISI_DMA is not set +# CONFIG_IMX_DMA is not set +CONFIG_IMX_SDMA=y # CONFIG_INTEL_IDMA64 is not set +CONFIG_K3_DMA=y +CONFIG_MV_XOR=y CONFIG_MV_XOR_V2=y +# CONFIG_MXS_DMA is not set +CONFIG_MX3_IPU=y +CONFIG_MX3_IPU_IRQS=4 +CONFIG_OWL_DMA=y CONFIG_PL330_DMA=y +# CONFIG_PLX_DMA is not set +# CONFIG_SPRD_DMA is not set +CONFIG_TEGRA20_APB_DMA=y +CONFIG_TEGRA210_ADMA=y +# CONFIG_UNIPHIER_MDMAC is not set +# CONFIG_UNIPHIER_XDMAC is not set +# CONFIG_XGENE_DMA is not set # CONFIG_XILINX_DMA is not set # CONFIG_XILINX_ZYNQMP_DMA is not set # CONFIG_XILINX_ZYNQMP_DPDMA is not set +# CONFIG_MTK_HSDMA is not set +# CONFIG_MTK_CQDMA is not set +# CONFIG_MTK_UART_APDMA is not set +CONFIG_QCOM_BAM_DMA=y +# CONFIG_QCOM_GPI_DMA is not set CONFIG_QCOM_HIDMA_MGMT=y CONFIG_QCOM_HIDMA=y # CONFIG_DW_DMAC is not set +# CONFIG_DW_DMAC_PCI is not set +# CONFIG_DW_EDMA is not set +# CONFIG_DW_EDMA_PCIE is not set # CONFIG_SF_PDMA is not set +CONFIG_RENESAS_DMA=y +CONFIG_RCAR_DMAC=y +CONFIG_RENESAS_USB_DMAC=y +CONFIG_RZ_DMAC=y +CONFIG_TI_K3_UDMA=y +CONFIG_TI_K3_UDMA_GLUE_LAYER=y +CONFIG_TI_K3_PSIL=y +# CONFIG_FSL_DPAA2_QDMA is not set # # DMA Clients @@ -2926,20 +6605,68 @@ CONFIG_SYNC_FILE=y # CONFIG_AUXDISPLAY is not set # CONFIG_UIO is not set -# CONFIG_VFIO is not set +CONFIG_VFIO=y +CONFIG_VFIO_IOMMU_TYPE1=y +CONFIG_VFIO_VIRQFD=y +# CONFIG_VFIO_NOIOMMU is not set +CONFIG_VFIO_PCI_CORE=y +CONFIG_VFIO_PCI_MMAP=y +CONFIG_VFIO_PCI_INTX=y +CONFIG_VFIO_PCI=y +# CONFIG_VFIO_PLATFORM is not set +# CONFIG_VFIO_MDEV is not set +# CONFIG_VFIO_FSL_MC is not set # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO=y -# CONFIG_VIRTIO_MENU is not set -# CONFIG_VHOST_MENU is not set +CONFIG_VIRTIO_PCI_LIB=y +CONFIG_VIRTIO_PCI_LIB_LEGACY=y +CONFIG_VIRTIO_MENU=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_PCI_LEGACY=y +CONFIG_VIRTIO_BALLOON=y +# CONFIG_VIRTIO_INPUT is not set +CONFIG_VIRTIO_MMIO=y +# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set +# CONFIG_VDPA is not set +CONFIG_VHOST_MENU=y +# CONFIG_VHOST_NET is not set +# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set # # Microsoft Hyper-V guest support # # end of Microsoft Hyper-V guest support +# +# Xen driver support +# +CONFIG_XEN_BALLOON=y +CONFIG_XEN_SCRUB_PAGES_DEFAULT=y +CONFIG_XEN_DEV_EVTCHN=y +CONFIG_XEN_BACKEND=y +CONFIG_XENFS=y +CONFIG_XEN_COMPAT_XENFS=y +CONFIG_XEN_SYS_HYPERVISOR=y +CONFIG_XEN_XENBUS_FRONTEND=y +CONFIG_XEN_GNTDEV=y +CONFIG_XEN_GRANT_DEV_ALLOC=y +# CONFIG_XEN_GRANT_DMA_ALLOC is not set +CONFIG_SWIOTLB_XEN=y +CONFIG_XEN_PCI_STUB=y +CONFIG_XEN_PCIDEV_STUB=y +# CONFIG_XEN_PVCALLS_FRONTEND is not set +# CONFIG_XEN_PVCALLS_BACKEND is not set +CONFIG_XEN_PRIVCMD=y +CONFIG_XEN_EFI=y +CONFIG_XEN_AUTO_XLATE=y +# end of Xen driver support + # CONFIG_GREYBUS is not set # CONFIG_COMEDI is not set CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_R8712U is not set +# CONFIG_RTS5208 is not set # # IIO staging drivers @@ -2948,11 +6675,15 @@ CONFIG_STAGING=y # # Accelerometers # +# CONFIG_ADIS16203 is not set +# CONFIG_ADIS16240 is not set # end of Accelerometers # # Analog to digital converters # +# CONFIG_AD7816 is not set +# CONFIG_AD7280 is not set # end of Analog to digital converters # @@ -2970,6 +6701,8 @@ CONFIG_STAGING=y # # Direct Digital Synthesis # +# CONFIG_AD9832 is not set +# CONFIG_AD9834 is not set # end of Direct Digital Synthesis # @@ -2987,13 +6720,25 @@ CONFIG_STAGING=y # # Resolver to digital converters # +# CONFIG_AD2S1210 is not set # end of Resolver to digital converters # end of IIO staging drivers +# CONFIG_FB_SM750 is not set +# CONFIG_USB_EMXX is not set +# CONFIG_MFD_NVEC is not set CONFIG_STAGING_MEDIA=y -CONFIG_VIDEO_HANTRO=m +CONFIG_VIDEO_HANTRO=y +CONFIG_VIDEO_HANTRO_IMX8M=y CONFIG_VIDEO_HANTRO_ROCKCHIP=y +# CONFIG_VIDEO_IMX_MEDIA is not set +# CONFIG_VIDEO_MESON_VDEC is not set # CONFIG_VIDEO_ROCKCHIP_VDEC is not set +# CONFIG_VIDEO_SUNXI is not set +# CONFIG_TEGRA_VDE is not set +# CONFIG_VIDEO_ZORAN is not set +# CONFIG_VIDEO_TEGRA is not set +# CONFIG_DVB_AV7110 is not set # # Android @@ -3004,10 +6749,32 @@ CONFIG_VIDEO_HANTRO_ROCKCHIP=y # CONFIG_GS_FPGABOOT is not set # CONFIG_UNISYSSPAR is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_KS7010 is not set +CONFIG_BCM_VIDEOCORE=y +# CONFIG_BCM2835_VCHIQ is not set +# CONFIG_SND_BCM2835 is not set +# CONFIG_VIDEO_BCM2835 is not set +# CONFIG_PI433 is not set # CONFIG_XIL_AXIS_FIFO is not set # CONFIG_FIELDBUS_DEV is not set +# CONFIG_QLGE is not set +# CONFIG_WFX is not set # CONFIG_GOLDFISH is not set -# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CHROME_PLATFORMS=y +CONFIG_CROS_EC=y +CONFIG_CROS_EC_I2C=y +# CONFIG_CROS_EC_RPMSG is not set +CONFIG_CROS_EC_SPI=y +CONFIG_CROS_EC_PROTO=y +CONFIG_CROS_EC_CHARDEV=y +CONFIG_CROS_EC_LIGHTBAR=y +CONFIG_CROS_EC_VBC=y +CONFIG_CROS_EC_DEBUGFS=y +CONFIG_CROS_EC_SENSORHUB=y +CONFIG_CROS_EC_SYSFS=y +CONFIG_CROS_EC_TYPEC=y +CONFIG_CROS_USBPD_NOTIFY=y # CONFIG_MELLANOX_PLATFORM is not set CONFIG_HAVE_CLK=y CONFIG_HAVE_CLK_PREPARE=y @@ -3021,7 +6788,11 @@ CONFIG_COMMON_CLK=y CONFIG_CLK_VEXPRESS_OSC=y # end of Clock driver for ARM Reference designs +# CONFIG_LMK04832 is not set +# CONFIG_COMMON_CLK_MAX77686 is not set # CONFIG_COMMON_CLK_MAX9485 is not set +CONFIG_COMMON_CLK_RK808=y +CONFIG_COMMON_CLK_HI655X=y CONFIG_COMMON_CLK_SCMI=y CONFIG_COMMON_CLK_SCPI=y # CONFIG_COMMON_CLK_SI5341 is not set @@ -3032,10 +6803,257 @@ CONFIG_COMMON_CLK_SCPI=y # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set CONFIG_COMMON_CLK_CS2000_CP=y +CONFIG_COMMON_CLK_FSL_FLEXSPI=y +CONFIG_COMMON_CLK_FSL_SAI=y +CONFIG_COMMON_CLK_S2MPS11=y # CONFIG_COMMON_CLK_AXI_CLKGEN is not set +CONFIG_CLK_QORIQ=y +CONFIG_CLK_LS1028A_PLLDIG=y CONFIG_COMMON_CLK_XGENE=y +CONFIG_COMMON_CLK_PWM=y CONFIG_COMMON_CLK_VC5=y +CONFIG_COMMON_CLK_BD718XX=y # CONFIG_COMMON_CLK_FIXED_MMIO is not set +CONFIG_CLK_ACTIONS=y +CONFIG_CLK_OWL_S500=y +CONFIG_CLK_OWL_S700=y +CONFIG_CLK_OWL_S900=y +CONFIG_CLK_BCM2711_DVP=y +CONFIG_CLK_BCM2835=y +CONFIG_COMMON_CLK_IPROC=y +CONFIG_CLK_BCM_NS2=y +CONFIG_CLK_BCM_SR=y +CONFIG_CLK_RASPBERRYPI=y +CONFIG_COMMON_CLK_HI3516CV300=y +CONFIG_COMMON_CLK_HI3519=y +CONFIG_COMMON_CLK_HI3559A=y +CONFIG_COMMON_CLK_HI3660=y +CONFIG_COMMON_CLK_HI3670=y +CONFIG_COMMON_CLK_HI3798CV200=y +CONFIG_COMMON_CLK_HI6220=y +CONFIG_RESET_HISI=y +CONFIG_STUB_CLK_HI6220=y +CONFIG_STUB_CLK_HI3660=y +CONFIG_MXC_CLK=y +CONFIG_MXC_CLK_SCU=y +CONFIG_CLK_IMX8MM=y +CONFIG_CLK_IMX8MN=y +CONFIG_CLK_IMX8MP=y +CONFIG_CLK_IMX8MQ=y +CONFIG_CLK_IMX8QXP=y +# CONFIG_CLK_IMX8ULP is not set +CONFIG_TI_SCI_CLK=y +# CONFIG_TI_SCI_CLK_PROBE_FROM_FW is not set +CONFIG_TI_SYSCON_CLK=y + +# +# Clock driver for MediaTek SoC +# +CONFIG_COMMON_CLK_MEDIATEK=y +CONFIG_COMMON_CLK_MT2712=y +# CONFIG_COMMON_CLK_MT2712_BDPSYS is not set +# CONFIG_COMMON_CLK_MT2712_IMGSYS is not set +# CONFIG_COMMON_CLK_MT2712_JPGDECSYS is not set +# CONFIG_COMMON_CLK_MT2712_MFGCFG is not set +# CONFIG_COMMON_CLK_MT2712_MMSYS is not set +# CONFIG_COMMON_CLK_MT2712_VDECSYS is not set +# CONFIG_COMMON_CLK_MT2712_VENCSYS is not set +CONFIG_COMMON_CLK_MT6765=y +# CONFIG_COMMON_CLK_MT6765_AUDIOSYS is not set +# CONFIG_COMMON_CLK_MT6765_CAMSYS is not set +# CONFIG_COMMON_CLK_MT6765_GCESYS is not set +# CONFIG_COMMON_CLK_MT6765_MMSYS is not set +# CONFIG_COMMON_CLK_MT6765_IMGSYS is not set +# CONFIG_COMMON_CLK_MT6765_VCODECSYS is not set +# CONFIG_COMMON_CLK_MT6765_MFGSYS is not set +# CONFIG_COMMON_CLK_MT6765_MIPI0ASYS is not set +# CONFIG_COMMON_CLK_MT6765_MIPI0BSYS is not set +# CONFIG_COMMON_CLK_MT6765_MIPI1ASYS is not set +# CONFIG_COMMON_CLK_MT6765_MIPI1BSYS is not set +# CONFIG_COMMON_CLK_MT6765_MIPI2ASYS is not set +# CONFIG_COMMON_CLK_MT6765_MIPI2BSYS is not set +CONFIG_COMMON_CLK_MT6779=y +# CONFIG_COMMON_CLK_MT6779_MMSYS is not set +# CONFIG_COMMON_CLK_MT6779_IMGSYS is not set +# CONFIG_COMMON_CLK_MT6779_IPESYS is not set +# CONFIG_COMMON_CLK_MT6779_CAMSYS is not set +# CONFIG_COMMON_CLK_MT6779_VDECSYS is not set +# CONFIG_COMMON_CLK_MT6779_VENCSYS is not set +# CONFIG_COMMON_CLK_MT6779_MFGCFG is not set +# CONFIG_COMMON_CLK_MT6779_AUDSYS is not set +CONFIG_COMMON_CLK_MT6797=y +# CONFIG_COMMON_CLK_MT6797_MMSYS is not set +# CONFIG_COMMON_CLK_MT6797_IMGSYS is not set +# CONFIG_COMMON_CLK_MT6797_VDECSYS is not set +# CONFIG_COMMON_CLK_MT6797_VENCSYS is not set +CONFIG_COMMON_CLK_MT7622=y +# CONFIG_COMMON_CLK_MT7622_ETHSYS is not set +# CONFIG_COMMON_CLK_MT7622_HIFSYS is not set +# CONFIG_COMMON_CLK_MT7622_AUDSYS is not set +CONFIG_COMMON_CLK_MT8167=y +CONFIG_COMMON_CLK_MT8167_AUDSYS=y +CONFIG_COMMON_CLK_MT8167_IMGSYS=y +CONFIG_COMMON_CLK_MT8167_MFGCFG=y +CONFIG_COMMON_CLK_MT8167_MMSYS=y +CONFIG_COMMON_CLK_MT8167_VDECSYS=y +CONFIG_COMMON_CLK_MT8173=y +CONFIG_COMMON_CLK_MT8173_MMSYS=y +CONFIG_COMMON_CLK_MT8183=y +CONFIG_COMMON_CLK_MT8183_AUDIOSYS=y +CONFIG_COMMON_CLK_MT8183_CAMSYS=y +CONFIG_COMMON_CLK_MT8183_IMGSYS=y +CONFIG_COMMON_CLK_MT8183_IPU_CORE0=y +CONFIG_COMMON_CLK_MT8183_IPU_CORE1=y +CONFIG_COMMON_CLK_MT8183_IPU_ADL=y +CONFIG_COMMON_CLK_MT8183_IPU_CONN=y +CONFIG_COMMON_CLK_MT8183_MFGCFG=y +CONFIG_COMMON_CLK_MT8183_MMSYS=y +CONFIG_COMMON_CLK_MT8183_VDECSYS=y +CONFIG_COMMON_CLK_MT8183_VENCSYS=y +CONFIG_COMMON_CLK_MT8192=y +# CONFIG_COMMON_CLK_MT8192_AUDSYS is not set +# CONFIG_COMMON_CLK_MT8192_CAMSYS is not set +# CONFIG_COMMON_CLK_MT8192_IMGSYS is not set +# CONFIG_COMMON_CLK_MT8192_IMP_IIC_WRAP is not set +# CONFIG_COMMON_CLK_MT8192_IPESYS is not set +# CONFIG_COMMON_CLK_MT8192_MDPSYS is not set +# CONFIG_COMMON_CLK_MT8192_MFGCFG is not set +# CONFIG_COMMON_CLK_MT8192_MMSYS is not set +# CONFIG_COMMON_CLK_MT8192_MSDC is not set +# CONFIG_COMMON_CLK_MT8192_SCP_ADSP is not set +# CONFIG_COMMON_CLK_MT8192_VDECSYS is not set +# CONFIG_COMMON_CLK_MT8192_VENCSYS is not set +CONFIG_COMMON_CLK_MT8195=y +CONFIG_COMMON_CLK_MT8516=y +# CONFIG_COMMON_CLK_MT8516_AUDSYS is not set +# end of Clock driver for MediaTek SoC + +# +# Clock support for Amlogic platforms +# +CONFIG_COMMON_CLK_MESON_REGMAP=y +CONFIG_COMMON_CLK_MESON_DUALDIV=y +CONFIG_COMMON_CLK_MESON_MPLL=y +CONFIG_COMMON_CLK_MESON_PHASE=y +CONFIG_COMMON_CLK_MESON_PLL=y +CONFIG_COMMON_CLK_MESON_SCLK_DIV=y +CONFIG_COMMON_CLK_MESON_VID_PLL_DIV=y +CONFIG_COMMON_CLK_MESON_AO_CLKC=y +CONFIG_COMMON_CLK_MESON_EE_CLKC=y +CONFIG_COMMON_CLK_MESON_CPU_DYNDIV=y +CONFIG_COMMON_CLK_GXBB=y +CONFIG_COMMON_CLK_AXG=y +CONFIG_COMMON_CLK_AXG_AUDIO=y +CONFIG_COMMON_CLK_G12A=y +# end of Clock support for Amlogic platforms + +CONFIG_ARMADA_AP_CP_HELPER=y +CONFIG_ARMADA_37XX_CLK=y +CONFIG_ARMADA_AP806_SYSCON=y +CONFIG_ARMADA_CP110_SYSCON=y +CONFIG_QCOM_GDSC=y +CONFIG_QCOM_RPMCC=y +CONFIG_COMMON_CLK_QCOM=y +CONFIG_QCOM_A53PLL=y +# CONFIG_QCOM_A7PLL is not set +CONFIG_QCOM_CLK_APCS_MSM8916=y +CONFIG_QCOM_CLK_APCC_MSM8996=y +# CONFIG_QCOM_CLK_APCS_SDX55 is not set +CONFIG_QCOM_CLK_SMD_RPM=y +CONFIG_QCOM_CLK_RPMH=y +# CONFIG_APQ_GCC_8084 is not set +# CONFIG_APQ_MMCC_8084 is not set +# CONFIG_IPQ_APSS_PLL is not set +# CONFIG_IPQ_APSS_6018 is not set +# CONFIG_IPQ_GCC_4019 is not set +CONFIG_IPQ_GCC_6018=y +# CONFIG_IPQ_GCC_806X is not set +# CONFIG_IPQ_LCC_806X is not set +CONFIG_IPQ_GCC_8074=y +# CONFIG_MSM_GCC_8660 is not set +CONFIG_MSM_GCC_8916=y +# CONFIG_MSM_GCC_8939 is not set +# CONFIG_MSM_GCC_8960 is not set +# CONFIG_MSM_LCC_8960 is not set +# CONFIG_MDM_GCC_9607 is not set +# CONFIG_MDM_GCC_9615 is not set +# CONFIG_MDM_LCC_9615 is not set +# CONFIG_MSM_MMCC_8960 is not set +# CONFIG_MSM_GCC_8953 is not set +# CONFIG_MSM_GCC_8974 is not set +# CONFIG_MSM_MMCC_8974 is not set +# CONFIG_MSM_MMCC_8994 is not set +CONFIG_MSM_GCC_8994=y +CONFIG_MSM_GCC_8996=y +CONFIG_MSM_MMCC_8996=y +CONFIG_MSM_GCC_8998=y +# CONFIG_MSM_GPUCC_8998 is not set +# CONFIG_MSM_MMCC_8998 is not set +# CONFIG_QCM_GCC_2290 is not set +CONFIG_QCS_GCC_404=y +# CONFIG_SC_CAMCC_7180 is not set +# CONFIG_SC_CAMCC_7280 is not set +# CONFIG_SC_DISPCC_7180 is not set +# CONFIG_SC_DISPCC_7280 is not set +CONFIG_SC_GCC_7180=y +CONFIG_SC_GCC_7280=y +# CONFIG_SC_GCC_8180X is not set +# CONFIG_SC_GPUCC_7180 is not set +# CONFIG_SC_GPUCC_7280 is not set +# CONFIG_SC_LPASSCC_7280 is not set +# CONFIG_SC_LPASS_CORECC_7180 is not set +# CONFIG_SC_MSS_7180 is not set +# CONFIG_SC_VIDEOCC_7180 is not set +# CONFIG_SC_VIDEOCC_7280 is not set +CONFIG_SDM_CAMCC_845=y +# CONFIG_SDM_GCC_660 is not set +# CONFIG_SDM_MMCC_660 is not set +# CONFIG_SDM_GPUCC_660 is not set +# CONFIG_QCS_TURING_404 is not set +# CONFIG_QCS_Q6SSTOP_404 is not set +CONFIG_SDM_GCC_845=y +CONFIG_SDM_GPUCC_845=y +CONFIG_SDM_VIDEOCC_845=y +CONFIG_SDM_DISPCC_845=y +# CONFIG_SDM_LPASSCC_845 is not set +# CONFIG_SDX_GCC_55 is not set +# CONFIG_SM_CAMCC_8250 is not set +CONFIG_SM_DISPCC_8250=y +# CONFIG_SM_GCC_6115 is not set +# CONFIG_SM_GCC_6125 is not set +# CONFIG_SM_GCC_6350 is not set +CONFIG_SM_GCC_8150=y +CONFIG_SM_GCC_8250=y +CONFIG_SM_GCC_8350=y +CONFIG_SM_GPUCC_8150=y +CONFIG_SM_GPUCC_8250=y +# CONFIG_SM_VIDEOCC_8150 is not set +# CONFIG_SM_VIDEOCC_8250 is not set +# CONFIG_SPMI_PMIC_CLKDIV is not set +CONFIG_QCOM_HFPLL=y +# CONFIG_KPSS_XCC is not set +CONFIG_CLK_GFM_LPASS_SM8250=y +CONFIG_CLK_RENESAS=y +CONFIG_CLK_R8A774A1=y +CONFIG_CLK_R8A774B1=y +CONFIG_CLK_R8A774C0=y +CONFIG_CLK_R8A774E1=y +CONFIG_CLK_R8A7795=y +CONFIG_CLK_R8A77960=y +CONFIG_CLK_R8A77961=y +CONFIG_CLK_R8A77965=y +CONFIG_CLK_R8A77970=y +CONFIG_CLK_R8A77980=y +CONFIG_CLK_R8A77990=y +CONFIG_CLK_R8A77995=y +CONFIG_CLK_R8A779A0=y +CONFIG_CLK_R9A07G044=y +CONFIG_CLK_RCAR_CPG_LIB=y +CONFIG_CLK_RCAR_GEN3_CPG=y +CONFIG_CLK_RCAR_USB2_CLOCK_SEL=y +CONFIG_CLK_RZG2L=y +CONFIG_CLK_RENESAS_CPG_MSSR=y +CONFIG_CLK_RENESAS_DIV6=y CONFIG_COMMON_CLK_ROCKCHIP=y CONFIG_CLK_PX30=y CONFIG_CLK_RK3308=y @@ -3043,8 +7061,40 @@ CONFIG_CLK_RK3328=y CONFIG_CLK_RK3368=y CONFIG_CLK_RK3399=y CONFIG_CLK_RK3568=y +CONFIG_COMMON_CLK_SAMSUNG=y +CONFIG_EXYNOS_ARM64_COMMON_CLK=y +CONFIG_EXYNOS_AUDSS_CLK_CON=y +CONFIG_EXYNOS_CLKOUT=y +CONFIG_CLK_INTEL_SOCFPGA=y +CONFIG_CLK_INTEL_SOCFPGA64=y +CONFIG_SPRD_COMMON_CLK=y +CONFIG_SPRD_SC9860_CLK=y +CONFIG_SPRD_SC9863A_CLK=y +CONFIG_CLK_SUNXI=y +CONFIG_CLK_SUNXI_CLOCKS=y +CONFIG_CLK_SUNXI_PRCM_SUN6I=y +CONFIG_CLK_SUNXI_PRCM_SUN8I=y +CONFIG_CLK_SUNXI_PRCM_SUN9I=y +CONFIG_SUNXI_CCU=y +CONFIG_SUN50I_A64_CCU=y +CONFIG_SUN50I_A100_CCU=y +CONFIG_SUN50I_A100_R_CCU=y +CONFIG_SUN50I_H6_CCU=y +CONFIG_SUN50I_H616_CCU=y +CONFIG_SUN50I_H6_R_CCU=y +CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_DE2_CCU=y +CONFIG_SUN8I_R_CCU=y +CONFIG_CLK_TEGRA_BPMP=y +CONFIG_TEGRA_CLK_DFLL=y +CONFIG_CLK_UNIPHIER=y # CONFIG_XILINX_VCU is not set +CONFIG_COMMON_CLK_ZYNQMP=y CONFIG_HWSPINLOCK=y +# CONFIG_HWSPINLOCK_OMAP is not set +CONFIG_HWSPINLOCK_QCOM=y +# CONFIG_HWSPINLOCK_SPRD is not set +# CONFIG_HWSPINLOCK_SUN6I is not set # # Clock Source drivers @@ -3052,71 +7102,180 @@ CONFIG_HWSPINLOCK=y CONFIG_TIMER_OF=y CONFIG_TIMER_PROBE=y CONFIG_CLKSRC_MMIO=y +CONFIG_DW_APB_TIMER=y +CONFIG_DW_APB_TIMER_OF=y CONFIG_ROCKCHIP_TIMER=y +CONFIG_OWL_TIMER=y +CONFIG_SUN4I_TIMER=y +CONFIG_TEGRA_TIMER=y CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y -# CONFIG_FSL_ERRATUM_A008585 is not set -# CONFIG_HISILICON_ERRATUM_161010101 is not set +CONFIG_FSL_ERRATUM_A008585=y +CONFIG_HISILICON_ERRATUM_161010101=y CONFIG_ARM64_ERRATUM_858921=y +CONFIG_SUN50I_ERRATUM_UNKNOWN1=y +CONFIG_ARM_TIMER_SP804=y +CONFIG_SYS_SUPPORTS_SH_CMT=y +CONFIG_MTK_TIMER=y +CONFIG_SPRD_TIMER=y +CONFIG_SYS_SUPPORTS_SH_TMU=y +CONFIG_SH_TIMER_CMT=y +CONFIG_SH_TIMER_TMU=y +CONFIG_TIMER_IMX_SYS_CTR=y # CONFIG_MICROCHIP_PIT64B is not set # end of Clock Source drivers CONFIG_MAILBOX=y +CONFIG_APPLE_MAILBOX=y CONFIG_ARM_MHU=y # CONFIG_ARM_MHU_V2 is not set +CONFIG_IMX_MBOX=y CONFIG_PLATFORM_MHU=y # CONFIG_PL320_MBOX is not set +# CONFIG_ARMADA_37XX_RWTM_MBOX is not set +# CONFIG_OMAP2PLUS_MBOX is not set # CONFIG_ROCKCHIP_MBOX is not set # CONFIG_ALTERA_MBOX is not set +CONFIG_BCM2835_MBOX=y +CONFIG_TI_MESSAGE_MANAGER=y +CONFIG_HI3660_MBOX=y +CONFIG_HI6220_MBOX=y # CONFIG_MAILBOX_TEST is not set -# CONFIG_IOMMU_SUPPORT is not set +CONFIG_QCOM_APCS_IPC=y +CONFIG_TEGRA_HSP_MBOX=y +# CONFIG_XGENE_SLIMPRO_MBOX is not set +# CONFIG_BCM_PDC_MBOX is not set +CONFIG_BCM_FLEXRM_MBOX=y +# CONFIG_MTK_CMDQ_MBOX is not set +CONFIG_ZYNQMP_IPI_MBOX=y +CONFIG_SUN6I_MSGBOX=y +# CONFIG_SPRD_MBOX is not set +CONFIG_QCOM_IPCC=y +CONFIG_IOMMU_IOVA=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +CONFIG_IOMMU_IO_PGTABLE=y +CONFIG_IOMMU_IO_PGTABLE_LPAE=y +# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set +CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S_SELFTEST is not set +# end of Generic IOMMU Pagetable Support + +# CONFIG_IOMMU_DEBUGFS is not set +CONFIG_IOMMU_DEFAULT_DMA_STRICT=y +# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y +CONFIG_ROCKCHIP_IOMMU=y +# CONFIG_SUN50I_IOMMU is not set +CONFIG_TEGRA_IOMMU_SMMU=y +# CONFIG_EXYNOS_IOMMU is not set +# CONFIG_IPMMU_VMSA is not set +CONFIG_APPLE_DART=y +CONFIG_ARM_SMMU=y +# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set +CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y +CONFIG_ARM_SMMU_QCOM=y +CONFIG_ARM_SMMU_V3=y +# CONFIG_ARM_SMMU_V3_SVA is not set +CONFIG_MTK_IOMMU=y +CONFIG_QCOM_IOMMU=y +# CONFIG_VIRTIO_IOMMU is not set +# CONFIG_SPRD_IOMMU is not set # # Remoteproc drivers # CONFIG_REMOTEPROC=y # CONFIG_REMOTEPROC_CDEV is not set +# CONFIG_IMX_REMOTEPROC is not set +# CONFIG_IMX_DSP_REMOTEPROC is not set +# CONFIG_MTK_SCP is not set +CONFIG_QCOM_PIL_INFO=y +CONFIG_QCOM_RPROC_COMMON=y +CONFIG_QCOM_Q6V5_COMMON=y +# CONFIG_QCOM_Q6V5_ADSP is not set +CONFIG_QCOM_Q6V5_MSS=y +CONFIG_QCOM_Q6V5_PAS=y +# CONFIG_QCOM_Q6V5_WCSS is not set +CONFIG_QCOM_SYSMON=y +CONFIG_QCOM_WCNSS_PIL=y +# CONFIG_TI_K3_DSP_REMOTEPROC is not set +# CONFIG_TI_K3_R5_REMOTEPROC is not set # end of Remoteproc drivers # # Rpmsg drivers # -# CONFIG_RPMSG_QCOM_GLINK_RPM is not set +CONFIG_RPMSG=y +CONFIG_RPMSG_CHAR=y +# CONFIG_RPMSG_NS is not set +CONFIG_RPMSG_QCOM_GLINK=y +CONFIG_RPMSG_QCOM_GLINK_RPM=y +CONFIG_RPMSG_QCOM_GLINK_SMEM=y +CONFIG_RPMSG_QCOM_SMD=y # CONFIG_RPMSG_VIRTIO is not set # end of Rpmsg drivers -CONFIG_SOUNDWIRE=m +CONFIG_SOUNDWIRE=y # # SoundWire Devices # +CONFIG_SOUNDWIRE_QCOM=y # # SOC (System On Chip) specific Drivers # +CONFIG_OWL_PM_DOMAINS_HELPER=y +CONFIG_OWL_PM_DOMAINS=y # # Amlogic SoC drivers # +CONFIG_MESON_CANVAS=y +CONFIG_MESON_CLK_MEASURE=y +CONFIG_MESON_GX_SOCINFO=y +CONFIG_MESON_GX_PM_DOMAINS=y +CONFIG_MESON_EE_PM_DOMAINS=y +CONFIG_MESON_SECURE_PM_DOMAINS=y # end of Amlogic SoC drivers # # Broadcom SoC drivers # -# CONFIG_SOC_BRCMSTB is not set +CONFIG_BCM2835_POWER=y +CONFIG_RASPBERRYPI_POWER=y +CONFIG_SOC_BRCMSTB=y +CONFIG_BCM_PMB=y +CONFIG_BRCMSTB_PM=y # end of Broadcom SoC drivers # # NXP/Freescale QorIQ SoC drivers # +CONFIG_FSL_DPAA=y +# CONFIG_FSL_DPAA_CHECKING is not set +# CONFIG_FSL_BMAN_TEST is not set +# CONFIG_FSL_QMAN_TEST is not set # CONFIG_QUICC_ENGINE is not set -# CONFIG_FSL_RCPM is not set +CONFIG_FSL_GUTS=y +CONFIG_FSL_MC_DPIO=y +CONFIG_DPAA2_CONSOLE=y +CONFIG_FSL_RCPM=y # end of NXP/Freescale QorIQ SoC drivers # # i.MX SoC drivers # +CONFIG_IMX_GPCV2_PM_DOMAINS=y +CONFIG_SOC_IMX8M=y # end of i.MX SoC drivers # @@ -3125,19 +7284,110 @@ CONFIG_SOUNDWIRE=m # CONFIG_LITEX_SOC_CONTROLLER is not set # end of Enable LiteX SoC Builder specific drivers +# +# MediaTek SoC drivers +# +# CONFIG_MTK_CMDQ is not set +CONFIG_MTK_DEVAPC=y +CONFIG_MTK_INFRACFG=y +CONFIG_MTK_PMIC_WRAP=y +CONFIG_MTK_SCPSYS=y +CONFIG_MTK_SCPSYS_PM_DOMAINS=y +CONFIG_MTK_MMSYS=y +# end of MediaTek SoC drivers + # # Qualcomm SoC drivers # +CONFIG_QCOM_AOSS_QMP=y +CONFIG_QCOM_COMMAND_DB=y +CONFIG_QCOM_CPR=y +CONFIG_QCOM_GENI_SE=y +# CONFIG_QCOM_GSBI is not set +# CONFIG_QCOM_LLCC is not set +CONFIG_QCOM_KRYO_L2_ACCESSORS=y +CONFIG_QCOM_MDT_LOADER=y +# CONFIG_QCOM_OCMEM is not set +CONFIG_QCOM_PDR_HELPERS=y +CONFIG_QCOM_QMI_HELPERS=y +CONFIG_QCOM_RMTFS_MEM=y +CONFIG_QCOM_RPMH=y +CONFIG_QCOM_RPMHPD=y +CONFIG_QCOM_RPMPD=y +CONFIG_QCOM_SMEM=y +CONFIG_QCOM_SMD_RPM=y +CONFIG_QCOM_SMEM_STATE=y +CONFIG_QCOM_SMP2P=y +CONFIG_QCOM_SMSM=y +CONFIG_QCOM_SOCINFO=y +# CONFIG_QCOM_SPM is not set +CONFIG_QCOM_STATS=y +CONFIG_QCOM_WCNSS_CTRL=y +CONFIG_QCOM_APR=y # end of Qualcomm SoC drivers +CONFIG_SOC_RENESAS=y +CONFIG_ARCH_RCAR_GEN3=y +CONFIG_ARCH_R8A77995=y +CONFIG_ARCH_R8A77990=y +CONFIG_ARCH_R8A77950=y +CONFIG_ARCH_R8A77951=y +CONFIG_ARCH_R8A77965=y +CONFIG_ARCH_R8A77960=y +CONFIG_ARCH_R8A77961=y +CONFIG_ARCH_R8A77980=y +CONFIG_ARCH_R8A77970=y +CONFIG_ARCH_R8A779A0=y +CONFIG_ARCH_R8A774C0=y +CONFIG_ARCH_R8A774E1=y +CONFIG_ARCH_R8A774A1=y +CONFIG_ARCH_R8A774B1=y +CONFIG_ARCH_R9A07G044=y +CONFIG_RST_RCAR=y +CONFIG_SYSC_RCAR=y +CONFIG_SYSC_R8A77995=y +CONFIG_SYSC_R8A77990=y +CONFIG_SYSC_R8A7795=y +CONFIG_SYSC_R8A77965=y +CONFIG_SYSC_R8A77960=y +CONFIG_SYSC_R8A77961=y +CONFIG_SYSC_R8A77980=y +CONFIG_SYSC_R8A77970=y +CONFIG_SYSC_R8A779A0=y +CONFIG_SYSC_R8A774C0=y +CONFIG_SYSC_R8A774E1=y +CONFIG_SYSC_R8A774A1=y +CONFIG_SYSC_R8A774B1=y CONFIG_ROCKCHIP_GRF=y CONFIG_ROCKCHIP_IODOMAIN=y CONFIG_ROCKCHIP_PM_DOMAINS=y -# CONFIG_SOC_TI is not set +CONFIG_SOC_SAMSUNG=y +CONFIG_EXYNOS_CHIPID=y +CONFIG_EXYNOS_PMU=y +CONFIG_EXYNOS_PM_DOMAINS=y +CONFIG_SUNXI_MBUS=y +CONFIG_SUNXI_SRAM=y +CONFIG_ARCH_TEGRA_132_SOC=y +CONFIG_ARCH_TEGRA_210_SOC=y +CONFIG_ARCH_TEGRA_186_SOC=y +CONFIG_ARCH_TEGRA_194_SOC=y +CONFIG_ARCH_TEGRA_234_SOC=y +CONFIG_SOC_TEGRA_FUSE=y +CONFIG_SOC_TEGRA_FLOWCTRL=y +CONFIG_SOC_TEGRA_PMC=y +CONFIG_SOC_TEGRA_POWERGATE_BPMP=y +CONFIG_SOC_TI=y +CONFIG_TI_SCI_PM_DOMAINS=y +CONFIG_TI_K3_RINGACC=y +CONFIG_TI_K3_SOCINFO=y +# CONFIG_TI_PRUSS is not set +CONFIG_TI_SCI_INTA_MSI_DOMAIN=y # # Xilinx SoC drivers # +CONFIG_ZYNQMP_POWER=y +CONFIG_ZYNQMP_PM_DOMAINS=y # end of Xilinx SoC drivers # end of SOC (System On Chip) specific Drivers @@ -3149,12 +7399,16 @@ CONFIG_PM_DEVFREQ=y CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y # CONFIG_DEVFREQ_GOV_PERFORMANCE is not set # CONFIG_DEVFREQ_GOV_POWERSAVE is not set -CONFIG_DEVFREQ_GOV_USERSPACE=m +CONFIG_DEVFREQ_GOV_USERSPACE=y # CONFIG_DEVFREQ_GOV_PASSIVE is not set # # DEVFREQ Drivers # +# CONFIG_ARM_EXYNOS_BUS_DEVFREQ is not set +CONFIG_ARM_IMX_BUS_DEVFREQ=y +CONFIG_ARM_IMX8M_DDRC_DEVFREQ=y +# CONFIG_ARM_TEGRA_DEVFREQ is not set # CONFIG_ARM_RK3399_DMC_DEVFREQ is not set # CONFIG_PM_DEVFREQ_EVENT is not set CONFIG_EXTCON=y @@ -3166,21 +7420,29 @@ CONFIG_EXTCON=y # CONFIG_EXTCON_FSA9480 is not set # CONFIG_EXTCON_GPIO is not set # CONFIG_EXTCON_MAX3355 is not set -CONFIG_EXTCON_PTN5150=m +CONFIG_EXTCON_PTN5150=y +# CONFIG_EXTCON_QCOM_SPMI_MISC is not set # CONFIG_EXTCON_RT8973A is not set # CONFIG_EXTCON_SM5502 is not set CONFIG_EXTCON_USB_GPIO=y +CONFIG_EXTCON_USBC_CROS_EC=y # CONFIG_EXTCON_USBC_TUSB320 is not set CONFIG_MEMORY=y # CONFIG_ARM_PL172_MPMC is not set +CONFIG_BRCMSTB_DPFE=y +CONFIG_FSL_IFC=y +CONFIG_MTK_SMI=y +CONFIG_RENESAS_RPCIF=y +CONFIG_TEGRA_MC=y +# CONFIG_TEGRA210_EMC is not set CONFIG_IIO=y CONFIG_IIO_BUFFER=y # CONFIG_IIO_BUFFER_CB is not set # CONFIG_IIO_BUFFER_DMA is not set # CONFIG_IIO_BUFFER_DMAENGINE is not set # CONFIG_IIO_BUFFER_HW_CONSUMER is not set -CONFIG_IIO_KFIFO_BUF=m -CONFIG_IIO_TRIGGERED_BUFFER=m +CONFIG_IIO_KFIFO_BUF=y +CONFIG_IIO_TRIGGERED_BUFFER=y # CONFIG_IIO_CONFIGFS is not set CONFIG_IIO_TRIGGER=y CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -3191,30 +7453,43 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # # Accelerometers # +# CONFIG_ADIS16201 is not set +# CONFIG_ADIS16209 is not set # CONFIG_ADXL313_I2C is not set +# CONFIG_ADXL313_SPI is not set # CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set # CONFIG_ADXL355_I2C is not set +# CONFIG_ADXL355_SPI is not set +# CONFIG_ADXL372_SPI is not set # CONFIG_ADXL372_I2C is not set # CONFIG_BMA180 is not set +# CONFIG_BMA220 is not set # CONFIG_BMA400 is not set # CONFIG_BMC150_ACCEL is not set +# CONFIG_BMI088_ACCEL is not set # CONFIG_DA280 is not set # CONFIG_DA311 is not set # CONFIG_DMARD06 is not set # CONFIG_DMARD09 is not set # CONFIG_DMARD10 is not set # CONFIG_FXLS8962AF_I2C is not set +# CONFIG_FXLS8962AF_SPI is not set +# CONFIG_IIO_CROS_EC_ACCEL_LEGACY is not set # CONFIG_IIO_ST_ACCEL_3AXIS is not set # CONFIG_KXSD9 is not set # CONFIG_KXCJK1013 is not set # CONFIG_MC3230 is not set # CONFIG_MMA7455_I2C is not set +# CONFIG_MMA7455_SPI is not set # CONFIG_MMA7660 is not set # CONFIG_MMA8452 is not set # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MXC4005 is not set # CONFIG_MXC6255 is not set +# CONFIG_SCA3000 is not set +# CONFIG_SCA3300 is not set # CONFIG_STK8312 is not set # CONFIG_STK8BA50 is not set # end of Accelerometers @@ -3223,25 +7498,74 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # Analog to digital converters # # CONFIG_AD7091R5 is not set +# CONFIG_AD7124 is not set +# CONFIG_AD7192 is not set +# CONFIG_AD7266 is not set # CONFIG_AD7291 is not set +# CONFIG_AD7292 is not set +# CONFIG_AD7298 is not set +# CONFIG_AD7476 is not set # CONFIG_AD7606_IFACE_PARALLEL is not set +# CONFIG_AD7606_IFACE_SPI is not set +# CONFIG_AD7766 is not set +# CONFIG_AD7768_1 is not set +# CONFIG_AD7780 is not set +# CONFIG_AD7791 is not set +# CONFIG_AD7793 is not set +# CONFIG_AD7887 is not set +# CONFIG_AD7923 is not set +# CONFIG_AD7949 is not set # CONFIG_AD799X is not set # CONFIG_ADI_AXI_ADC is not set +# CONFIG_AXP20X_ADC is not set +# CONFIG_AXP288_ADC is not set +# CONFIG_BCM_IPROC_ADC is not set +# CONFIG_BERLIN2_ADC is not set # CONFIG_CC10001_ADC is not set # CONFIG_ENVELOPE_DETECTOR is not set +CONFIG_EXYNOS_ADC=y +# CONFIG_HI8435 is not set # CONFIG_HX711 is not set -# CONFIG_INA2XX_ADC is not set +# CONFIG_IMX7D_ADC is not set +# CONFIG_IMX8QXP_ADC is not set # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set +# CONFIG_MAX1027 is not set +# CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set +# CONFIG_MAX1241 is not set # CONFIG_MAX1363 is not set -CONFIG_MAX9611=m +CONFIG_MAX9611=y +# CONFIG_MCP320X is not set # CONFIG_MCP3422 is not set +# CONFIG_MCP3911 is not set +# CONFIG_MEDIATEK_MT6577_AUXADC is not set +CONFIG_MESON_SARADC=y # CONFIG_NAU7802 is not set -CONFIG_ROCKCHIP_SARADC=m +CONFIG_QCOM_VADC_COMMON=y +# CONFIG_QCOM_SPMI_IADC is not set +CONFIG_QCOM_SPMI_VADC=y +CONFIG_QCOM_SPMI_ADC5=y +CONFIG_ROCKCHIP_SARADC=y +CONFIG_RZG2L_ADC=y # CONFIG_SD_ADC_MODULATOR is not set # CONFIG_TI_ADC081C is not set +# CONFIG_TI_ADC0832 is not set +# CONFIG_TI_ADC084S021 is not set +# CONFIG_TI_ADC12138 is not set +# CONFIG_TI_ADC108S102 is not set +# CONFIG_TI_ADC128S052 is not set +# CONFIG_TI_ADC161S626 is not set # CONFIG_TI_ADS1015 is not set +# CONFIG_TI_ADS7950 is not set +# CONFIG_TI_ADS8344 is not set +# CONFIG_TI_ADS8688 is not set +# CONFIG_TI_ADS124S08 is not set +# CONFIG_TI_ADS131E08 is not set +# CONFIG_TI_TLC4541 is not set +# CONFIG_TI_TSC2046 is not set # CONFIG_VF610_ADC is not set # CONFIG_XILINX_XADC is not set # end of Analog to digital converters @@ -3255,6 +7579,7 @@ CONFIG_ROCKCHIP_SARADC=m # # Amplifiers # +# CONFIG_AD8366 is not set # CONFIG_HMC425 is not set # end of Amplifiers @@ -3283,6 +7608,10 @@ CONFIG_ROCKCHIP_SARADC=m # CONFIG_VZ89X is not set # end of Chemical Sensors +CONFIG_IIO_CROS_EC_SENSORS_CORE=y +CONFIG_IIO_CROS_EC_SENSORS=y +# CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE is not set + # # Hid Sensor IIO Common # @@ -3297,26 +7626,50 @@ CONFIG_ROCKCHIP_SARADC=m # # SSP Sensor Common # +# CONFIG_IIO_SSP_SENSORHUB is not set # end of SSP Sensor Common -CONFIG_IIO_ST_SENSORS_I2C=m -CONFIG_IIO_ST_SENSORS_CORE=m +CONFIG_IIO_ST_SENSORS_I2C=y +CONFIG_IIO_ST_SENSORS_SPI=y +CONFIG_IIO_ST_SENSORS_CORE=y # # Digital to analog converters # # CONFIG_AD5064 is not set +# CONFIG_AD5360 is not set # CONFIG_AD5380 is not set +# CONFIG_AD5421 is not set # CONFIG_AD5446 is not set +# CONFIG_AD5449 is not set +# CONFIG_AD5592R is not set # CONFIG_AD5593R is not set +# CONFIG_AD5504 is not set +# CONFIG_AD5624R_SPI is not set +# CONFIG_AD5686_SPI is not set # CONFIG_AD5696_I2C is not set +# CONFIG_AD5755 is not set +# CONFIG_AD5758 is not set +# CONFIG_AD5761 is not set +# CONFIG_AD5764 is not set +# CONFIG_AD5766 is not set +# CONFIG_AD5770R is not set +# CONFIG_AD5791 is not set +# CONFIG_AD7303 is not set +# CONFIG_AD8801 is not set # CONFIG_DPOT_DAC is not set # CONFIG_DS4424 is not set +# CONFIG_LTC1660 is not set +# CONFIG_LTC2632 is not set # CONFIG_M62332 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5821 is not set # CONFIG_MCP4725 is not set +# CONFIG_MCP4922 is not set +# CONFIG_TI_DAC082S085 is not set # CONFIG_TI_DAC5571 is not set +# CONFIG_TI_DAC7311 is not set +# CONFIG_TI_DAC7612 is not set # CONFIG_VF610_DAC is not set # end of Digital to analog converters @@ -3332,17 +7685,27 @@ CONFIG_IIO_ST_SENSORS_CORE=m # # Clock Generator/Distribution # +# CONFIG_AD9523 is not set # end of Clock Generator/Distribution # # Phase-Locked Loop (PLL) frequency synthesizers # +# CONFIG_ADF4350 is not set +# CONFIG_ADF4371 is not set +# CONFIG_ADRF6780 is not set # end of Phase-Locked Loop (PLL) frequency synthesizers # end of Frequency Synthesizers DDS/PLL # # Digital gyroscope sensors # +# CONFIG_ADIS16080 is not set +# CONFIG_ADIS16130 is not set +# CONFIG_ADIS16136 is not set +# CONFIG_ADIS16260 is not set +# CONFIG_ADXRS290 is not set +# CONFIG_ADXRS450 is not set # CONFIG_BMG160 is not set # CONFIG_FXAS21002C is not set # CONFIG_MPU3050_I2C is not set @@ -3357,6 +7720,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m # # Heart Rate Monitors # +# CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set # CONFIG_MAX30100 is not set # CONFIG_MAX30102 is not set @@ -3379,13 +7743,22 @@ CONFIG_IIO_ST_SENSORS_CORE=m # # Inertial measurement units # +# CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set +# CONFIG_ADIS16475 is not set +# CONFIG_ADIS16480 is not set # CONFIG_BMI160_I2C is not set +# CONFIG_BMI160_SPI is not set # CONFIG_FXOS8700_I2C is not set +# CONFIG_FXOS8700_SPI is not set # CONFIG_KMX61 is not set # CONFIG_INV_ICM42600_I2C is not set +# CONFIG_INV_ICM42600_SPI is not set # CONFIG_INV_MPU6050_I2C is not set -CONFIG_IIO_ST_LSM6DSX=m -CONFIG_IIO_ST_LSM6DSX_I2C=m +# CONFIG_INV_MPU6050_SPI is not set +CONFIG_IIO_ST_LSM6DSX=y +CONFIG_IIO_ST_LSM6DSX_I2C=y +CONFIG_IIO_ST_LSM6DSX_SPI=y # CONFIG_IIO_ST_LSM9DS0 is not set # end of Inertial measurement units @@ -3406,9 +7779,10 @@ CONFIG_IIO_ST_LSM6DSX_I2C=m # CONFIG_CM3323 is not set # CONFIG_CM3605 is not set # CONFIG_CM36651 is not set +CONFIG_IIO_CROS_EC_LIGHT_PROX=y # CONFIG_GP2AP002 is not set # CONFIG_GP2AP020A00F is not set -CONFIG_SENSORS_ISL29018=m +CONFIG_SENSORS_ISL29018=y # CONFIG_SENSORS_ISL29028 is not set # CONFIG_ISL29125 is not set # CONFIG_JSA1212 is not set @@ -3432,7 +7806,7 @@ CONFIG_SENSORS_ISL29018=m # CONFIG_TSL2772 is not set # CONFIG_TSL4531 is not set # CONFIG_US5182D is not set -CONFIG_VCNL4000=m +CONFIG_VCNL4000=y # CONFIG_VCNL4035 is not set # CONFIG_VEML6030 is not set # CONFIG_VEML6070 is not set @@ -3447,12 +7821,16 @@ CONFIG_VCNL4000=m # CONFIG_AK8975 is not set # CONFIG_AK09911 is not set # CONFIG_BMC150_MAGN_I2C is not set +# CONFIG_BMC150_MAGN_SPI is not set # CONFIG_MAG3110 is not set # CONFIG_MMC35240 is not set -CONFIG_IIO_ST_MAGN_3AXIS=m -CONFIG_IIO_ST_MAGN_I2C_3AXIS=m +CONFIG_IIO_ST_MAGN_3AXIS=y +CONFIG_IIO_ST_MAGN_I2C_3AXIS=y +CONFIG_IIO_ST_MAGN_SPI_3AXIS=y # CONFIG_SENSORS_HMC5843_I2C is not set +# CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_RM3100_I2C is not set +# CONFIG_SENSORS_RM3100_SPI is not set # CONFIG_YAMAHA_YAS530 is not set # end of Magnetometer sensors @@ -3486,8 +7864,12 @@ CONFIG_IIO_ST_MAGN_I2C_3AXIS=m # CONFIG_AD5272 is not set # CONFIG_DS1803 is not set # CONFIG_MAX5432 is not set +# CONFIG_MAX5481 is not set +# CONFIG_MAX5487 is not set # CONFIG_MCP4018 is not set +# CONFIG_MCP4131 is not set # CONFIG_MCP4531 is not set +# CONFIG_MCP41010 is not set # CONFIG_TPL0102 is not set # end of Digital potentiometers @@ -3502,12 +7884,14 @@ CONFIG_IIO_ST_MAGN_I2C_3AXIS=m # # CONFIG_ABP060MG is not set # CONFIG_BMP280 is not set +CONFIG_IIO_CROS_EC_BARO=y # CONFIG_DLHL60D is not set # CONFIG_DPS310 is not set # CONFIG_HP03 is not set # CONFIG_ICP10100 is not set # CONFIG_MPL115_I2C is not set -CONFIG_MPL3115=m +# CONFIG_MPL115_SPI is not set +CONFIG_MPL3115=y # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_IIO_ST_PRESS is not set @@ -3519,11 +7903,13 @@ CONFIG_MPL3115=m # # Lightning sensors # +# CONFIG_AS3935 is not set # end of Lightning sensors # # Proximity and distance sensors # +# CONFIG_CROS_EC_MKBP_PROXIMITY is not set # CONFIG_ISL29501 is not set # CONFIG_LIDAR_LITE_V2 is not set # CONFIG_MB1232 is not set @@ -3540,11 +7926,15 @@ CONFIG_MPL3115=m # # Resolver to digital converters # +# CONFIG_AD2S90 is not set +# CONFIG_AD2S1200 is not set # end of Resolver to digital converters # # Temperature sensors # +# CONFIG_LTC2983 is not set +# CONFIG_MAXIM_THERMOCOUPLE is not set # CONFIG_MLX90614 is not set # CONFIG_MLX90632 is not set # CONFIG_TMP006 is not set @@ -3552,27 +7942,110 @@ CONFIG_MPL3115=m # CONFIG_TMP117 is not set # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set +# CONFIG_MAX31856 is not set +# CONFIG_MAX31865 is not set # end of Temperature sensors -# CONFIG_PWM is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +CONFIG_PWM=y +CONFIG_PWM_SYSFS=y +# CONFIG_PWM_DEBUG is not set +# CONFIG_PWM_ATMEL_TCB is not set +CONFIG_PWM_BCM_IPROC=y +CONFIG_PWM_BCM2835=y +# CONFIG_PWM_BERLIN is not set +# CONFIG_PWM_BRCMSTB is not set +CONFIG_PWM_CROS_EC=y +# CONFIG_PWM_DWC is not set +# CONFIG_PWM_FSL_FTM is not set +# CONFIG_PWM_HIBVT is not set +# CONFIG_PWM_IMX1 is not set +CONFIG_PWM_IMX27=y +# CONFIG_PWM_IMX_TPM is not set +# CONFIG_PWM_KEEMBAY is not set +CONFIG_PWM_MESON=y +CONFIG_PWM_MTK_DISP=y +CONFIG_PWM_MEDIATEK=y +# CONFIG_PWM_PCA9685 is not set +# CONFIG_PWM_RASPBERRYPI_POE is not set +CONFIG_PWM_RCAR=y +CONFIG_PWM_RENESAS_TPU=y +CONFIG_PWM_ROCKCHIP=y +CONFIG_PWM_SAMSUNG=y +CONFIG_PWM_SL28CPLD=y +# CONFIG_PWM_SPRD is not set +CONFIG_PWM_SUN4I=y +CONFIG_PWM_TEGRA=y +# CONFIG_PWM_TIECAP is not set +# CONFIG_PWM_TIEHRPWM is not set +CONFIG_PWM_VISCONTI=y # # IRQ chip support # CONFIG_IRQCHIP=y CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_PM=y CONFIG_ARM_GIC_MAX_NR=1 +CONFIG_ARM_GIC_V2M=y CONFIG_ARM_GIC_V3=y CONFIG_ARM_GIC_V3_ITS=y +CONFIG_ARM_GIC_V3_ITS_PCI=y +CONFIG_ARM_GIC_V3_ITS_FSL_MC=y +CONFIG_ALPINE_MSI=y # CONFIG_AL_FIC is not set +CONFIG_BCM7038_L1_IRQ=y +CONFIG_BCM7120_L2_IRQ=y +CONFIG_BRCMSTB_L2_IRQ=y +CONFIG_DW_APB_ICTL=y +CONFIG_HISILICON_IRQ_MBIGEN=y +CONFIG_RENESAS_IRQC=y +CONFIG_SL28CPLD_INTC=y +# CONFIG_XILINX_INTC is not set +CONFIG_IMX_GPCV2=y +CONFIG_MVEBU_GICP=y +CONFIG_MVEBU_ICU=y +CONFIG_MVEBU_ODMI=y +CONFIG_MVEBU_PIC=y +CONFIG_MVEBU_SEI=y +CONFIG_LS_EXTIRQ=y +CONFIG_LS_SCFG_MSI=y CONFIG_PARTITION_PERCPU=y +CONFIG_IRQ_UNIPHIER_AIDET=y +CONFIG_MESON_IRQ_GPIO=y +CONFIG_QCOM_PDC=y +CONFIG_IMX_IRQSTEER=y +CONFIG_IMX_INTMUX=y +CONFIG_TI_SCI_INTR_IRQCHIP=y +CONFIG_TI_SCI_INTA_IRQCHIP=y +CONFIG_MST_IRQ=y +CONFIG_APPLE_AIC=y # end of IRQ chip support # CONFIG_IPACK_BUS is not set CONFIG_ARCH_HAS_RESET_CONTROLLER=y CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_BERLIN=y +CONFIG_RESET_BRCMSTB=y +CONFIG_RESET_BRCMSTB_RESCAL=y +CONFIG_RESET_IMX7=y +CONFIG_RESET_MESON=y +CONFIG_RESET_MESON_AUDIO_ARB=y +CONFIG_RESET_QCOM_AOSS=y +CONFIG_RESET_QCOM_PDC=y +CONFIG_RESET_RASPBERRYPI=y +CONFIG_RESET_RZG2L_USBPHY_CTRL=y CONFIG_RESET_SCMI=y +CONFIG_RESET_SIMPLE=y +CONFIG_RESET_SUNXI=y +CONFIG_RESET_TI_SCI=y # CONFIG_RESET_TI_SYSCON is not set +CONFIG_RESET_UNIPHIER=y +CONFIG_RESET_UNIPHIER_GLUE=y +CONFIG_COMMON_RESET_HI3660=y +CONFIG_COMMON_RESET_HI6220=y +CONFIG_RESET_TEGRA_BPMP=y # # PHY Subsystem @@ -3581,11 +8054,30 @@ CONFIG_GENERIC_PHY=y CONFIG_GENERIC_PHY_MIPI_DPHY=y CONFIG_PHY_XGENE=y # CONFIG_PHY_CAN_TRANSCEIVER is not set +CONFIG_PHY_SUN4I_USB=y +CONFIG_PHY_SUN6I_MIPI_DPHY=y +# CONFIG_PHY_SUN9I_USB is not set +# CONFIG_PHY_SUN50I_USB3 is not set +CONFIG_PHY_MESON8B_USB2=y +CONFIG_PHY_MESON_GXL_USB2=y +CONFIG_PHY_MESON_G12A_USB2=y +CONFIG_PHY_MESON_G12A_USB3_PCIE=y +CONFIG_PHY_MESON_AXG_PCIE=y +CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y +CONFIG_PHY_MESON_AXG_MIPI_DPHY=y # # PHY drivers for Broadcom platforms # +CONFIG_PHY_BCM_SR_USB=y # CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_BCM_NS_USB2 is not set +# CONFIG_PHY_BCM_NS_USB3 is not set +CONFIG_PHY_NS2_PCIE=y +CONFIG_PHY_NS2_USB_DRD=y +CONFIG_PHY_BRCM_SATA=y +CONFIG_PHY_BRCM_USB=y +CONFIG_PHY_BCM_SR_PCIE=y # end of PHY drivers for Broadcom platforms # CONFIG_PHY_CADENCE_TORRENT is not set @@ -3593,19 +8085,76 @@ CONFIG_PHY_XGENE=y # CONFIG_PHY_CADENCE_SIERRA is not set # CONFIG_PHY_CADENCE_SALVO is not set CONFIG_PHY_FSL_IMX8MQ_USB=y -CONFIG_PHY_MIXEL_MIPI_DPHY=m +CONFIG_PHY_MIXEL_MIPI_DPHY=y +CONFIG_PHY_HI6220_USB=y +# CONFIG_PHY_HI3660_USB is not set +# CONFIG_PHY_HI3670_USB is not set +# CONFIG_PHY_HI3670_PCIE is not set +CONFIG_PHY_HISTB_COMBPHY=y +CONFIG_PHY_HISI_INNO_USB2=y +# CONFIG_PHY_BERLIN_SATA is not set +# CONFIG_PHY_BERLIN_USB is not set +CONFIG_PHY_MVEBU_A3700_COMPHY=y +CONFIG_PHY_MVEBU_A3700_UTMI=y +# CONFIG_PHY_MVEBU_A38X_COMPHY is not set +CONFIG_PHY_MVEBU_CP110_COMPHY=y +# CONFIG_PHY_MVEBU_CP110_UTMI is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set +CONFIG_PHY_MTK_TPHY=y +# CONFIG_PHY_MTK_UFS is not set +# CONFIG_PHY_MTK_XSPHY is not set +CONFIG_PHY_MTK_HDMI=y +CONFIG_PHY_MTK_MIPI_DSI=y +# CONFIG_PHY_CPCAP_USB is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set # CONFIG_PHY_OCELOT_SERDES is not set +# CONFIG_PHY_QCOM_APQ8064_SATA is not set +# CONFIG_PHY_QCOM_IPQ4019_USB is not set +# CONFIG_PHY_QCOM_IPQ806X_SATA is not set +# CONFIG_PHY_QCOM_PCIE2 is not set +CONFIG_PHY_QCOM_QMP=y +CONFIG_PHY_QCOM_QUSB2=y +CONFIG_PHY_QCOM_USB_HS=y +CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=y +# CONFIG_PHY_QCOM_USB_HSIC is not set +# CONFIG_PHY_QCOM_USB_HS_28NM is not set +# CONFIG_PHY_QCOM_USB_SS is not set +# CONFIG_PHY_QCOM_IPQ806X_USB is not set +# CONFIG_PHY_RCAR_GEN2 is not set +CONFIG_PHY_RCAR_GEN3_PCIE=y +CONFIG_PHY_RCAR_GEN3_USB2=y +CONFIG_PHY_RCAR_GEN3_USB3=y # CONFIG_PHY_ROCKCHIP_DP is not set # CONFIG_PHY_ROCKCHIP_DPHY_RX0 is not set CONFIG_PHY_ROCKCHIP_EMMC=y -CONFIG_PHY_ROCKCHIP_INNO_HDMI=m +CONFIG_PHY_ROCKCHIP_INNO_HDMI=y +CONFIG_PHY_ROCKCHIP_INNO_USB2=y # CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY is not set -CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m -CONFIG_PHY_ROCKCHIP_PCIE=m +CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y +CONFIG_PHY_ROCKCHIP_PCIE=y CONFIG_PHY_ROCKCHIP_TYPEC=y # CONFIG_PHY_ROCKCHIP_USB is not set +CONFIG_PHY_EXYNOS_DP_VIDEO=y +CONFIG_PHY_EXYNOS_MIPI_VIDEO=y +# CONFIG_PHY_EXYNOS_PCIE is not set +CONFIG_PHY_SAMSUNG_UFS=y +CONFIG_PHY_SAMSUNG_USB2=y +CONFIG_PHY_EXYNOS5_USBDRD=y +CONFIG_PHY_UNIPHIER_USB2=y +CONFIG_PHY_UNIPHIER_USB3=y +# CONFIG_PHY_UNIPHIER_PCIE is not set +CONFIG_PHY_UNIPHIER_AHCI=y +CONFIG_PHY_TEGRA_XUSB=y +CONFIG_PHY_TEGRA194_P2U=y +# CONFIG_PHY_AM654_SERDES is not set +# CONFIG_PHY_J721E_WIZ is not set +# CONFIG_OMAP_USB2 is not set +# CONFIG_PHY_TUSB1210 is not set +CONFIG_PHY_TI_GMII_SEL=y +# CONFIG_PHY_INTEL_KEEMBAY_EMMC is not set +# CONFIG_PHY_INTEL_KEEMBAY_USB is not set +# CONFIG_PHY_XILINX_ZYNQMP is not set # end of PHY Subsystem # CONFIG_POWERCAP is not set @@ -3619,10 +8168,13 @@ CONFIG_PHY_ROCKCHIP_TYPEC=y # CONFIG_ARM_CMN is not set CONFIG_ARM_PMU=y # CONFIG_ARM_DSU_PMU is not set +CONFIG_FSL_IMX8_DDR_PMU=y +# CONFIG_XGENE_PMU is not set # CONFIG_ARM_SPE_PMU is not set # end of Performance monitor support CONFIG_RAS=y +# CONFIG_USB4 is not set # # Android @@ -3634,9 +8186,23 @@ CONFIG_RAS=y # CONFIG_DAX is not set CONFIG_NVMEM=y CONFIG_NVMEM_SYSFS=y +# CONFIG_NVMEM_IMX_IIM is not set +CONFIG_NVMEM_IMX_OCOTP=y +CONFIG_NVMEM_IMX_OCOTP_SCU=y +CONFIG_MTK_EFUSE=y +CONFIG_QCOM_QFPROM=y +# CONFIG_NVMEM_SPMI_SDAM is not set CONFIG_ROCKCHIP_EFUSE=y # CONFIG_ROCKCHIP_OTP is not set -CONFIG_NVMEM_RMEM=m +CONFIG_NVMEM_BCM_OCOTP=y +CONFIG_NVMEM_SUNXI_SID=y +CONFIG_UNIPHIER_EFUSE=y +CONFIG_MESON_EFUSE=y +# CONFIG_MESON_MX_EFUSE is not set +# CONFIG_NVMEM_SNVS_LPGPR is not set +# CONFIG_NVMEM_ZYNQMP is not set +# CONFIG_SPRD_EFUSE is not set +CONFIG_NVMEM_RMEM=y # # HW tracing support @@ -3645,7 +8211,25 @@ CONFIG_NVMEM_RMEM=m # CONFIG_INTEL_TH is not set # end of HW tracing support -# CONFIG_FPGA is not set +CONFIG_FPGA=y +# CONFIG_FPGA_MGR_SOCFPGA is not set +# CONFIG_FPGA_MGR_SOCFPGA_A10 is not set +# CONFIG_ALTERA_PR_IP_CORE is not set +# CONFIG_FPGA_MGR_ALTERA_PS_SPI is not set +# CONFIG_FPGA_MGR_ALTERA_CVP is not set +CONFIG_FPGA_MGR_STRATIX10_SOC=y +# CONFIG_FPGA_MGR_XILINX_SPI is not set +# CONFIG_FPGA_MGR_ICE40_SPI is not set +# CONFIG_FPGA_MGR_MACHXO2_SPI is not set +CONFIG_FPGA_BRIDGE=y +# CONFIG_SOCFPGA_FPGA_BRIDGE is not set +CONFIG_ALTERA_FREEZE_BRIDGE=y +# CONFIG_XILINX_PR_DECOUPLER is not set +CONFIG_FPGA_REGION=y +CONFIG_OF_FPGA_REGION=y +# CONFIG_FPGA_DFL is not set +# CONFIG_FPGA_MGR_ZYNQMP_FPGA is not set +# CONFIG_FPGA_MGR_VERSAL_FPGA is not set # CONFIG_FSI is not set CONFIG_TEE=y @@ -3656,21 +8240,47 @@ CONFIG_OPTEE=y CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1 # end of TEE drivers -CONFIG_MULTIPLEXER=m +CONFIG_MULTIPLEXER=y # # Multiplexer drivers # # CONFIG_MUX_ADG792A is not set +# CONFIG_MUX_ADGS1408 is not set # CONFIG_MUX_GPIO is not set -CONFIG_MUX_MMIO=m +CONFIG_MUX_MMIO=y # end of Multiplexer drivers CONFIG_PM_OPP=y # CONFIG_SIOX is not set -CONFIG_SLIMBUS=m -CONFIG_SLIM_QCOM_CTRL=m +CONFIG_SLIMBUS=y +CONFIG_SLIM_QCOM_CTRL=y +CONFIG_SLIM_QCOM_NGD_CTRL=y CONFIG_INTERCONNECT=y +CONFIG_INTERCONNECT_IMX=y +# CONFIG_INTERCONNECT_IMX8MM is not set +# CONFIG_INTERCONNECT_IMX8MN is not set +CONFIG_INTERCONNECT_IMX8MQ=y +CONFIG_INTERCONNECT_QCOM=y +CONFIG_INTERCONNECT_QCOM_BCM_VOTER=y +CONFIG_INTERCONNECT_QCOM_MSM8916=y +# CONFIG_INTERCONNECT_QCOM_MSM8939 is not set +# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set +CONFIG_INTERCONNECT_QCOM_OSM_L3=y +# CONFIG_INTERCONNECT_QCOM_QCS404 is not set +CONFIG_INTERCONNECT_QCOM_RPMH_POSSIBLE=y +CONFIG_INTERCONNECT_QCOM_RPMH=y +# CONFIG_INTERCONNECT_QCOM_SC7180 is not set +CONFIG_INTERCONNECT_QCOM_SC7280=y +# CONFIG_INTERCONNECT_QCOM_SC8180X is not set +# CONFIG_INTERCONNECT_QCOM_SDM660 is not set +CONFIG_INTERCONNECT_QCOM_SDM845=y +# CONFIG_INTERCONNECT_QCOM_SDX55 is not set +CONFIG_INTERCONNECT_QCOM_SM8150=y +CONFIG_INTERCONNECT_QCOM_SM8250=y +CONFIG_INTERCONNECT_QCOM_SM8350=y +CONFIG_INTERCONNECT_QCOM_SMD_RPM=y +# CONFIG_INTERCONNECT_SAMSUNG is not set # CONFIG_COUNTER is not set # CONFIG_MOST is not set # end of Device Drivers @@ -3697,7 +8307,8 @@ CONFIG_FS_MBCACHE=y # CONFIG_JFS_FS is not set # CONFIG_XFS_FS is not set # CONFIG_GFS2_FS is not set -CONFIG_BTRFS_FS=m +# CONFIG_OCFS2_FS is not set +CONFIG_BTRFS_FS=y CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set @@ -3719,6 +8330,7 @@ CONFIG_INOTIFY_USER=y CONFIG_FANOTIFY=y CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set CONFIG_PRINT_QUOTA_WARNING=y # CONFIG_QUOTA_DEBUG is not set # CONFIG_QFMT_V1 is not set @@ -3726,10 +8338,10 @@ CONFIG_PRINT_QUOTA_WARNING=y CONFIG_QUOTACTL=y CONFIG_AUTOFS4_FS=y CONFIG_AUTOFS_FS=y -CONFIG_FUSE_FS=m -CONFIG_CUSE=m +CONFIG_FUSE_FS=y +CONFIG_CUSE=y # CONFIG_VIRTIO_FS is not set -CONFIG_OVERLAY_FS=m +CONFIG_OVERLAY_FS=y # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y # CONFIG_OVERLAY_FS_INDEX is not set @@ -3739,6 +8351,8 @@ CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y # # Caches # +CONFIG_NETFS_SUPPORT=y +# CONFIG_NETFS_STATS is not set # CONFIG_FSCACHE is not set # end of Caches @@ -3798,6 +8412,7 @@ CONFIG_MISC_FILESYSTEMS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set +# CONFIG_JFFS2_FS is not set # CONFIG_CRAMFS is not set CONFIG_SQUASHFS=y CONFIG_SQUASHFS_FILE_CACHE=y @@ -3839,6 +8454,44 @@ CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set # CONFIG_EROFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_2=y +CONFIG_PNFS_FILE_LAYOUT=y +CONFIG_PNFS_BLOCK=y +CONFIG_PNFS_FLEXFILE_LAYOUT=y +CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" +# CONFIG_NFS_V4_1_MIGRATION is not set +CONFIG_NFS_V4_SECURITY_LABEL=y +CONFIG_ROOT_NFS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +CONFIG_NFS_DISABLE_UDP_SUPPORT=y +# CONFIG_NFS_V4_2_READ_PLUS is not set +# CONFIG_NFSD is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_NFS_V4_2_SSC_HELPER=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_SUNRPC_BACKCHANNEL=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_SMB_SERVER is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_9P_FS=y +# CONFIG_9P_FS_POSIX_ACL is not set +# CONFIG_9P_FS_SECURITY is not set CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y @@ -3890,6 +8543,7 @@ CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_MAC_ROMANIAN is not set # CONFIG_NLS_MAC_TURKISH is not set # CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set # CONFIG_UNICODE is not set CONFIG_IO_WQ=y # end of File systems @@ -3912,6 +8566,9 @@ CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y # CONFIG_HARDENED_USERCOPY is not set # CONFIG_FORTIFY_SOURCE is not set # CONFIG_STATIC_USERMODEHELPER is not set +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SECURITY_APPARMOR is not set # CONFIG_SECURITY_LOADPIN is not set # CONFIG_SECURITY_YAMA is not set # CONFIG_SECURITY_SAFESETID is not set @@ -3919,6 +8576,7 @@ CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y # CONFIG_SECURITY_LANDLOCK is not set CONFIG_INTEGRITY=y # CONFIG_INTEGRITY_SIGNATURE is not set +CONFIG_INTEGRITY_AUDIT=y # CONFIG_IMA is not set # CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set # CONFIG_EVM is not set @@ -3933,17 +8591,13 @@ CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,integrity,bpf" # Memory initialization # CONFIG_INIT_STACK_NONE=y -# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set -# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set -# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is not set -# CONFIG_GCC_PLUGIN_STACKLEAK is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set # end of Memory initialization # end of Kernel hardening options # end of Security options -CONFIG_XOR_BLOCKS=m +CONFIG_XOR_BLOCKS=y CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y CONFIG_CRYPTO=y @@ -3965,37 +8619,37 @@ CONFIG_CRYPTO_RNG_DEFAULT=y CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_AKCIPHER=y CONFIG_CRYPTO_KPP2=y -CONFIG_CRYPTO_KPP=m +CONFIG_CRYPTO_KPP=y CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y # CONFIG_CRYPTO_PCRYPT is not set # CONFIG_CRYPTO_CRYPTD is not set -CONFIG_CRYPTO_AUTHENC=m -# CONFIG_CRYPTO_TEST is not set -CONFIG_CRYPTO_ENGINE=m +CONFIG_CRYPTO_AUTHENC=y +CONFIG_CRYPTO_ENGINE=y # # Public-key cryptography # CONFIG_CRYPTO_RSA=y -CONFIG_CRYPTO_DH=m -CONFIG_CRYPTO_ECC=m -CONFIG_CRYPTO_ECDH=m +CONFIG_CRYPTO_DH=y +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y # CONFIG_CRYPTO_ECDSA is not set # CONFIG_CRYPTO_ECRDSA is not set # CONFIG_CRYPTO_SM2 is not set -CONFIG_CRYPTO_CURVE25519=m +CONFIG_CRYPTO_CURVE25519=y # # Authenticated Encryption with Associated Data # -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y # CONFIG_CRYPTO_CHACHA20POLY1305 is not set # CONFIG_CRYPTO_AEGIS128 is not set # CONFIG_CRYPTO_SEQIV is not set @@ -4004,15 +8658,15 @@ CONFIG_CRYPTO_ECHAINIV=y # # Block modes # -CONFIG_CRYPTO_CBC=m +CONFIG_CRYPTO_CBC=y # CONFIG_CRYPTO_CFB is not set -CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_CTR=y # CONFIG_CRYPTO_CTS is not set -CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_ECB=y # CONFIG_CRYPTO_LRW is not set # CONFIG_CRYPTO_OFB is not set # CONFIG_CRYPTO_PCBC is not set -CONFIG_CRYPTO_XTS=m +CONFIG_CRYPTO_XTS=y # CONFIG_CRYPTO_KEYWRAP is not set # CONFIG_CRYPTO_ADIANTUM is not set # CONFIG_CRYPTO_ESSIV is not set @@ -4020,7 +8674,7 @@ CONFIG_CRYPTO_XTS=m # # Hash modes # -CONFIG_CRYPTO_CMAC=m +CONFIG_CRYPTO_CMAC=y CONFIG_CRYPTO_HMAC=y # CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_VMAC is not set @@ -4030,21 +8684,21 @@ CONFIG_CRYPTO_HMAC=y # CONFIG_CRYPTO_CRC32C=y # CONFIG_CRYPTO_CRC32 is not set -CONFIG_CRYPTO_XXHASH=m -CONFIG_CRYPTO_BLAKE2B=m +CONFIG_CRYPTO_XXHASH=y +CONFIG_CRYPTO_BLAKE2B=y # CONFIG_CRYPTO_BLAKE2S is not set CONFIG_CRYPTO_CRCT10DIF=y -CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_GHASH=y # CONFIG_CRYPTO_POLY1305 is not set # CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_MD5=y # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_RMD160 is not set CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y -CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SM3=m +CONFIG_CRYPTO_SHA3=y +CONFIG_CRYPTO_SM3=y # CONFIG_CRYPTO_STREEBOG is not set # CONFIG_CRYPTO_WP512 is not set @@ -4053,15 +8707,20 @@ CONFIG_CRYPTO_SM3=m # CONFIG_CRYPTO_AES=y # CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_ARC4 is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_CAMELLIA is not set # CONFIG_CRYPTO_CAST5 is not set # CONFIG_CRYPTO_CAST6 is not set -CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_SEED is not set # CONFIG_CRYPTO_SERPENT is not set -CONFIG_CRYPTO_SM4=m +CONFIG_CRYPTO_SM4=y +# CONFIG_CRYPTO_TEA is not set # CONFIG_CRYPTO_TWOFISH is not set # @@ -4084,38 +8743,90 @@ CONFIG_CRYPTO_DRBG_HMAC=y # CONFIG_CRYPTO_DRBG_CTR is not set CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_JITTERENTROPY=y +CONFIG_CRYPTO_USER_API=y +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +CONFIG_CRYPTO_USER_API_RNG=y +# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y CONFIG_CRYPTO_HASH_INFO=y # # Crypto library routines # CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=y # CONFIG_CRYPTO_LIB_BLAKE2S is not set +CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y +CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y # CONFIG_CRYPTO_LIB_CHACHA is not set -CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m +CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y # CONFIG_CRYPTO_LIB_CURVE25519 is not set -CONFIG_CRYPTO_LIB_DES=m +CONFIG_CRYPTO_LIB_DES=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9 # CONFIG_CRYPTO_LIB_POLY1305 is not set # CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set -CONFIG_CRYPTO_LIB_SHA256=m -CONFIG_CRYPTO_LIB_SM4=m +CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_LIB_SM4=y CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_DEV_ALLWINNER=y +# CONFIG_CRYPTO_DEV_SUN4I_SS is not set +CONFIG_CRYPTO_DEV_SUN8I_CE=y +# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set +# CONFIG_CRYPTO_DEV_SUN8I_CE_HASH is not set +# CONFIG_CRYPTO_DEV_SUN8I_CE_PRNG is not set +# CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG is not set +# CONFIG_CRYPTO_DEV_SUN8I_SS is not set +CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=y +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=y +CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=y +CONFIG_CRYPTO_DEV_FSL_CAAM=y +# CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set +CONFIG_CRYPTO_DEV_FSL_CAAM_JR=y +CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9 +# CONFIG_CRYPTO_DEV_FSL_CAAM_INTC is not set +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI=y +CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y +CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=y +# CONFIG_CRYPTO_DEV_SAHARA is not set +# CONFIG_CRYPTO_DEV_EXYNOS_RNG is not set +# CONFIG_CRYPTO_DEV_S5P is not set # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set # CONFIG_CRYPTO_DEV_CCP is not set +# CONFIG_CRYPTO_DEV_MXS_DCP is not set +# CONFIG_CAVIUM_CPT is not set +# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set +# CONFIG_CRYPTO_DEV_MARVELL_CESA is not set +# CONFIG_CRYPTO_DEV_OCTEONTX_CPT is not set +# CONFIG_CRYPTO_DEV_OCTEONTX2_CPT is not set +# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set +# CONFIG_CRYPTO_DEV_QCE is not set +CONFIG_CRYPTO_DEV_QCOM_RNG=y # CONFIG_CRYPTO_DEV_ROCKCHIP is not set +# CONFIG_CRYPTO_DEV_ZYNQMP_AES is not set # CONFIG_CRYPTO_DEV_VIRTIO is not set +CONFIG_CRYPTO_DEV_BCM_SPU=y # CONFIG_CRYPTO_DEV_SAFEXCEL is not set -CONFIG_CRYPTO_DEV_CCREE=m +CONFIG_CRYPTO_DEV_CCREE=y # CONFIG_CRYPTO_DEV_HISI_SEC is not set -CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m +CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y # CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG is not set +# CONFIG_CRYPTO_DEV_SA2UL is not set +# CONFIG_CRYPTO_DEV_KEEMBAY_OCS_AES_SM4 is not set +# CONFIG_CRYPTO_DEV_KEEMBAY_OCS_ECC is not set +# CONFIG_CRYPTO_DEV_KEEMBAY_OCS_HCU is not set CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y CONFIG_X509_CERTIFICATE_PARSER=y # CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set CONFIG_PKCS7_MESSAGE_PARSER=y +# CONFIG_PKCS7_TEST_KEY is not set +# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set # # Certificates for signature checking @@ -4130,7 +8841,7 @@ CONFIG_SYSTEM_TRUSTED_KEYS="" # # Library routines # -CONFIG_RAID6_PQ=m +CONFIG_RAID6_PQ=y CONFIG_RAID6_PQ_BENCHMARK=y CONFIG_LINEAR_RANGES=y CONFIG_PACKING=y @@ -4138,6 +8849,7 @@ CONFIG_BITREVERSE=y CONFIG_HAVE_ARCH_BITREVERSE=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y CONFIG_GENERIC_FIND_FIRST_BIT=y # CONFIG_CORDIC is not set # CONFIG_PRIME_NUMBERS is not set @@ -4147,7 +8859,7 @@ CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_HAS_FAST_MULTIPLIER=y CONFIG_ARCH_USE_SYM_ANNOTATIONS=y CONFIG_INDIRECT_PIO=y -CONFIG_CRC_CCITT=m +CONFIG_CRC_CCITT=y CONFIG_CRC16=y CONFIG_CRC_T10DIF=y CONFIG_CRC_ITU_T=y @@ -4160,17 +8872,19 @@ CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC64 is not set # CONFIG_CRC4 is not set CONFIG_CRC7=y -CONFIG_LIBCRC32C=m +CONFIG_LIBCRC32C=y CONFIG_CRC8=y CONFIG_XXHASH=y +CONFIG_AUDIT_GENERIC=y CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y +CONFIG_AUDIT_COMPAT_GENERIC=y # CONFIG_RANDOM32_SELFTEST is not set CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_DECOMPRESS=y -CONFIG_ZSTD_COMPRESS=m +CONFIG_ZSTD_COMPRESS=y CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y @@ -4190,15 +8904,19 @@ CONFIG_DECOMPRESS_LZO=y CONFIG_DECOMPRESS_LZ4=y CONFIG_DECOMPRESS_ZSTD=y CONFIG_GENERIC_ALLOCATOR=y +CONFIG_INTERVAL_TREE=y CONFIG_XARRAY_MULTI=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_DMA=y +CONFIG_DMA_OPS=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_DMA_DECLARE_COHERENT=y CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y @@ -4223,11 +8941,15 @@ CONFIG_CMA_ALIGNMENT=8 # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_MAP_BENCHMARK is not set CONFIG_SGL_ALLOC=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y CONFIG_GLOB=y # CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y CONFIG_CLZ_TAB=y CONFIG_IRQ_POLL=y CONFIG_MPILIB=y +CONFIG_DIMLIB=y CONFIG_LIBFDT=y CONFIG_OID_REGISTRY=y CONFIG_UCS2_STRING=y @@ -4269,13 +8991,14 @@ CONFIG_DEBUG_BUGVERBOSE=y # Compile-time checks and compiler options # CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_INFO_REDUCED=y +# CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_COMPRESSED is not set # CONFIG_DEBUG_INFO_SPLIT is not set CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_DWARF5 is not set -# CONFIG_GDB_SCRIPTS is not set +CONFIG_PAHOLE_HAS_SPLIT_BTF=y +CONFIG_GDB_SCRIPTS=y CONFIG_FRAME_WARN=2048 # CONFIG_STRIP_ASM_SYMS is not set # CONFIG_READABLE_ASM is not set @@ -4337,6 +9060,8 @@ CONFIG_HAVE_ARCH_KASAN=y CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y CONFIG_HAVE_ARCH_KASAN_VMALLOC=y CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y +# CONFIG_KASAN is not set CONFIG_HAVE_ARCH_KFENCE=y # CONFIG_KFENCE is not set # end of Memory Debugging @@ -4352,7 +9077,6 @@ CONFIG_PANIC_TIMEOUT=0 # CONFIG_SOFTLOCKUP_DETECTOR is not set # CONFIG_DETECT_HUNG_TASK is not set # CONFIG_WQ_WATCHDOG is not set -# CONFIG_TEST_LOCKUP is not set # end of Debug Oops, Lockups and Hangs # @@ -4419,6 +9143,7 @@ CONFIG_RCU_TRACE=y CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_C_RECORDMCOUNT=y @@ -4434,7 +9159,6 @@ CONFIG_STRICT_DEVMEM=y # # CONFIG_PID_IN_CONTEXTIDR is not set # CONFIG_DEBUG_EFI is not set -# CONFIG_ARM64_RELOC_TEST is not set # CONFIG_CORESIGHT is not set # end of arm64 Debugging @@ -4455,7 +9179,6 @@ CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_RBTREE_TEST is not set # CONFIG_REED_SOLOMON_TEST is not set # CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_PERCPU_TEST is not set # CONFIG_ATOMIC64_SELFTEST is not set # CONFIG_TEST_HEXDUMP is not set # CONFIG_STRING_SELFTEST is not set @@ -4471,15 +9194,10 @@ CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set # CONFIG_TEST_IDA is not set -# CONFIG_TEST_LKM is not set -# CONFIG_TEST_BITOPS is not set -# CONFIG_TEST_VMALLOC is not set -# CONFIG_TEST_USER_COPY is not set # CONFIG_FIND_BIT_BENCHMARK is not set # CONFIG_TEST_FIRMWARE is not set # CONFIG_TEST_SYSCTL is not set # CONFIG_TEST_UDELAY is not set -# CONFIG_TEST_STATIC_KEYS is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_STACKINIT is not set # CONFIG_TEST_MEMINIT is not set diff --git a/zvm_config/qemu_platform/linux-qemu-virt.dts b/zvm_config/qemu_platform/linux-qemu-virt.dts new file mode 100644 index 0000000000000000000000000000000000000000..f306fcbc63bdea340b66dacf2911d8378173a45f --- /dev/null +++ b/zvm_config/qemu_platform/linux-qemu-virt.dts @@ -0,0 +1,99 @@ +/dts-v1/; + +/ { + interrupt-parent = <0x8002>; + #size-cells = <0x2>; + #address-cells = <0x2>; + compatible = "linux,dummy-virt"; + + psci { + migrate = <0xc4000005>; + cpu_on = <0xc4000003>; + cpu_off = <0x84000002>; + cpu_suspend = <0xc4000001>; + method = "smc"; + compatible = "arm,psci-0.2", "arm,psci"; + }; + + memory@40000000 { + reg = <0x0 0x40000000 0x0 0x40000000>; + device_type = "memory"; + }; + + pl011@9000000 { + clock-names = "uartclk", "apb_pclk"; + clocks = <0x8000 0x8000>; + interrupts = <0x0 0x1 0x4>; + reg = <0x0 0x09000000 0x0 0x1000>; + compatible = "arm,pl011", "arm,primecell"; + }; + + pmu { + interrupts = <0x1 0x7 0x104>; + compatible = "arm,armv8-pmuv3"; + }; + + intc@8000000 { + phandle = <0x8002>; + interrupts = <0x1 0x9 0x4>; + reg = <0x0 0x8000000 0x0 0x10000 0x0 0x80a0000 0x0 0xf60000>; + #redistributor-regions = <0x1>; + compatible = "arm,gic-v3"; + ranges; + #size-cells = <0x2>; + #address-cells = <0x2>; + interrupt-controller; + #interrupt-cells = <0x3>; + + its@8080000 { + phandle = <0x8003>; + reg = <0x0 0x8080000 0x0 0x20000>; + msi-controller; + compatible = "arm,gic-v3-its"; + }; + }; + + cpus { + #size-cells = <0x0>; + #address-cells = <0x1>; + + cpu-map { + + socket0 { + + cluster0 { + + core0 { + cpu = <0x8001>; + }; + }; + }; + }; + + cpu@0 { + phandle = <0x8001>; + reg = <0x0>; + compatible = "arm,cortex-a57"; + device_type = "cpu"; + }; + }; + + timer { + interrupts = <0x1 0xd 0x104 0x1 0xe 0x104 0x1 0xb 0x104 0x1 0xa 0x104>; + always-on; + compatible = "arm,armv8-timer", "arm,armv7-timer"; + }; + + apb-pclk { + phandle = <0x8000>; + clock-output-names = "clk24mhz"; + clock-frequency = <0x16e3600>; + #clock-cells = <0x0>; + compatible = "fixed-clock"; + }; + + chosen { + stdout-path = "/pl011@9000000"; + kaslr-seed = <0xfe5f4802 0xd861995f>; + }; +}; diff --git a/zvm_config/qemu_platform/qemu/README.rst b/zvm_config/qemu_platform/qemu/README.rst new file mode 100644 index 0000000000000000000000000000000000000000..ecee6cd6c4860f94368785bceeca77165df41ab7 --- /dev/null +++ b/zvm_config/qemu_platform/qemu/README.rst @@ -0,0 +1,7 @@ + + +补丁包版本说明: qemu版本6.2.0 + +主要修改的文件 +1. qemu-root/hw/arm/virt.c +2. qemu/root/include/hw/arm/virt.h diff --git a/zvm_config/qemu_platform/qemu/qemu-6.2.0-virt.c.patch b/zvm_config/qemu_platform/qemu/qemu-6.2.0-virt.c.patch new file mode 100644 index 0000000000000000000000000000000000000000..286e60ae2b93320529d12abcf2ea48b8b50fc577 --- /dev/null +++ b/zvm_config/qemu_platform/qemu/qemu-6.2.0-virt.c.patch @@ -0,0 +1,79 @@ +--- ./qemu-6.2.0/hw/arm/virt.c 2021-12-15 04:42:02.000000000 +0800 ++++ ../qemu-6.2.0/hw/arm/virt.c 2023-01-10 10:26:05.097333085 +0800 +@@ -162,6 +162,10 @@ static const MemMapEntry base_memmap[] = + [VIRT_PCIE_ECAM] = { 0x3f000000, 0x01000000 }, + /* Actual RAM size depends on initial RAM and device memory settings */ + [VIRT_MEM] = { GiB, LEGACY_RAMLIMIT_BYTES }, ++ [VIRT_RESERVED] = { 0xc0000000, 0x00a00000 }, ++ [VIRT_UART1] = { 0x09001000, 0x00001000 }, ++ [VIRT_UART2] = { 0x09002000, 0x00001000 }, ++ [VIRT_RESERVED2] = { 0xd0000000, 0x00100000 }, + }; + + /* +@@ -189,6 +193,8 @@ static const int a15irqmap[] = { + [VIRT_GPIO] = 7, + [VIRT_SECURE_UART] = 8, + [VIRT_ACPI_GED] = 9, ++ [VIRT_UART1] = 10, ++ [VIRT_UART2] = 11, + [VIRT_MMIO] = 16, /* ...to 16 + NUM_VIRTIO_TRANSPORTS - 1 */ + [VIRT_GIC_V2M] = 48, /* ...to 48 + NUM_GICV2M_SPIS - 1 */ + [VIRT_SMMU] = 74, /* ...to 74 + NUM_SMMU_IRQS - 1 */ +@@ -841,6 +847,8 @@ static void create_uart(const VirtMachin + qemu_fdt_setprop(ms->fdt, nodename, "clock-names", + clocknames, sizeof(clocknames)); + ++ if(uart == VIRT_UART1){} else ++ if(uart == VIRT_UART2){} else + if (uart == VIRT_UART) { + qemu_fdt_setprop_string(ms->fdt, "/chosen", "stdout-path", nodename); + } else { +@@ -1892,12 +1900,15 @@ static void machvirt_init(MachineState * + MemoryRegion *secure_sysmem = NULL; + MemoryRegion *tag_sysmem = NULL; + MemoryRegion *secure_tag_sysmem = NULL; ++ MemoryRegion *reserved_ram = g_new(MemoryRegion, 1); ++ MemoryRegion *reserved_ram2 = g_new(MemoryRegion, 1); + int n, virt_max_cpus; + bool firmware_loaded; + bool aarch64 = true; + bool has_ged = !vmc->no_ged; + unsigned int smp_cpus = machine->smp.cpus; + unsigned int max_cpus = machine->smp.max_cpus; ++ unsigned int vm_uart_count = 0; + + /* + * In accelerated mode, the memory map is computed earlier in kvm_type() +@@ -2112,13 +2123,29 @@ static void machvirt_init(MachineState * + + fdt_add_pmu_nodes(vms); + +- create_uart(vms, VIRT_UART, sysmem, serial_hd(0)); ++ create_uart(vms, VIRT_UART, sysmem, serial_hd(vm_uart_count++)); ++ ++ if (serial_hd(vm_uart_count)) { ++ create_uart(vms, VIRT_UART1, sysmem, serial_hd(vm_uart_count++)); ++ } ++ ++ ++ if (serial_hd(vm_uart_count)) { ++ create_uart(vms, VIRT_UART2, sysmem, serial_hd(vm_uart_count++)); ++ } ++ + + if (vms->secure) { + create_secure_ram(vms, secure_sysmem, secure_tag_sysmem); +- create_uart(vms, VIRT_SECURE_UART, secure_sysmem, serial_hd(1)); ++ create_uart(vms, VIRT_SECURE_UART, secure_sysmem, serial_hd(vm_uart_count++)); + } + ++ memory_region_init_ram(reserved_ram, NULL, "mach-virt.reserved_ram", vms->memmap[VIRT_RESERVED].size, NULL); ++ memory_region_add_subregion(sysmem, vms->memmap[VIRT_RESERVED].base, reserved_ram); ++ memory_region_init_ram(reserved_ram2, NULL, "mach-virt.reserved_ram2", vms->memmap[VIRT_RESERVED2].size, NULL); ++ memory_region_add_subregion(sysmem, vms->memmap[VIRT_RESERVED2].base, reserved_ram2); ++ ++ + if (tag_sysmem) { + create_tag_ram(tag_sysmem, vms->memmap[VIRT_MEM].base, + machine->ram_size, "mach-virt.tag"); diff --git a/zvm_config/qemu_platform/qemu/qemu-6.2.0-virt.h.patch b/zvm_config/qemu_platform/qemu/qemu-6.2.0-virt.h.patch new file mode 100644 index 0000000000000000000000000000000000000000..8680973b642c5947c533505e4647ec4bb5419c51 --- /dev/null +++ b/zvm_config/qemu_platform/qemu/qemu-6.2.0-virt.h.patch @@ -0,0 +1,13 @@ +--- ./qemu-6.2.0/include/hw/arm/virt.h 2021-12-15 04:42:02.000000000 +0800 ++++ ../qemu-6.2.0/include/hw/arm/virt.h 2023-01-10 10:24:18.039171547 +0800 +@@ -86,6 +86,10 @@ enum { + VIRT_ACPI_GED, + VIRT_NVDIMM_ACPI, + VIRT_PVTIME, ++ VIRT_RESERVED, ++ VIRT_RESERVED2, ++ VIRT_UART1, ++ VIRT_UART2, + VIRT_LOWMEMMAP_LAST, + }; + diff --git a/zvm_doc/1--Overview.md b/zvm_doc/1--Overview.md deleted file mode 100644 index 058de085a0d57fd49ffec2c5f3498a55b7dfd027..0000000000000000000000000000000000000000 --- a/zvm_doc/1--Overview.md +++ /dev/null @@ -1,62 +0,0 @@ -## 总体介绍 - -ZVM是基于实时操作系统Zephyr设计的虚拟机管理器(Hypervisor),系统架构如下图所示,主要功能模块包括包括CPU虚拟化、内存虚拟化、中断虚拟化、时钟虚拟化及I/O虚拟化等功能。同时,这个Hypervisor支持两个VM,分别是Linux OS以及Zephyr OS。 - -![Overview](https://gitee.com/cocoeoli/zvm/blob/master/doc/figure/overview.jpg) - -## 基础模块 - -### 处理器虚拟化 - ------- - -CPU虚拟化模块主要功能在于为每个虚拟机虚拟出单独隔离的上下文、程序执行及异常状态,在系统中,每个vCPU以一个线程的形式存在,并由Hypervisor统一调度。为了更好的提高vCPU的性能,ZVM利用ARMv8架构为Hypervisors提供了一个单独的特权级模式,具有比Kernel更高的特权级,便于对VM进行监管。 - - - -### 内存虚拟化模块 - ------- - -内存虚拟化模块主要功能是实现虚拟机(VM)内存地址的访问与隔离,系统也需要将不同虚拟机的内存空间隔离,并监控虚拟机对实际物理内存的访问,以实现对主机物理内存的保护。ARM提供了两阶段的地址查找策略,即第1阶段从VM的客户机虚拟地址到VM的客户机物理地址的转化,到第2阶段从VM的客户机物理地址到主机物理地址的转换,ARM专门为第2阶段的转换提供了单独的硬件,以提高地址转换的性能。 - - - -### 中断虚拟化模块 - ------- - -中断虚拟化主要使用软件模拟中断控制设备,并基于其实现虚拟中断的配置。在ARMv8架构贤,ZVM统一将VM的中断路由到Hypervisor,并由其分配给不同的vCPU。具体通过软件模拟的ARM GIC设备实现,同时使用ARM GIC硬件对虚拟化的支持,减少中断处理的开销。 - - - -### 时钟虚拟化 - ------- - -时钟虚拟化为每个vCPU定义了一组虚拟时钟寄存器,它们单独计数并在预定的时间过后抛出中断,并由Hypervisor转发至VM。同时,在VM切换过程中,虚拟时钟将会计算VM实际运行的时间,并补偿虚拟机退出的时间,以为虚拟机提供定时器服务。 - - - -### I/O虚拟化 - ------- - -在I/O虚拟化方面,在本研究采用的ARM架构中MMIO的方式将设备地址映射的物理内存地址空间进行访问。具体实现上,我们同于构建Virtual MMIO Device设备,并在创建VM的过程中将设备分配给指定的VM,以实现I/O的虚拟化。 - - - -## VM生命周期 - ------- - -**​ZVM中虚拟机的状态有以下几种:** - -1. 未运行状态(VM_STATUS_NEVER_RUN):此状态VM未运行,只是创建了一个VM实体,等待首次调度。 -2. 运行状态(VM_STATUS_RUNNING):此状态VM正在运行,并占用处理器资源。 -3. 挂起状态(VM_STATUS_PAUSE):此状态VM暂停,相关线程在等待队列中,不占用物理CPU,随时可以调度。 -4. 停止状态(VM_STATUS_STOP):此状态VM停止,相关线程都停止执行,相关内存和I/O资源准备释放。 - -一个完整的生命周期包括VM的创建、VM的运行、VM的暂停和VM的退出等一系列流程。用户通过相应的shell接口实现对VM在各种状态下的切换。 - - diff --git a/zvm_doc/1_System_Overview.rst b/zvm_doc/1_System_Overview.rst new file mode 100644 index 0000000000000000000000000000000000000000..12aac21a471104632285fae88045664368fd11c5 --- /dev/null +++ b/zvm_doc/1_System_Overview.rst @@ -0,0 +1,54 @@ +ZVM 总体设计概览 +================ + +ZVM是基于实时操作系统Zephyr设计的虚拟机管理器(Hypervisor),系统架构如下图所示,主要功能模块包括包括CPU虚拟化、 +内存虚拟化、中断虚拟化、时钟虚拟化及I/O虚拟化等功能。 +同时,现阶段Hypervisor支持两个VM,分别是Linux VM和Zephyr VM。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/overview.png + :alt: Overview + + +基础模块 +------------ + +处理器虚拟化 +^^^^^^^^^^^^^^^^^^^^^^ + +CPU 虚拟化模块的主要功能是为每个 VM 的 vCPU 虚拟出一个单独的隔离上下文。 +在此系统中,每个vCPU都是作为一个线程存在的,由Hypervisor统一调度。 +为了提高vCPU的性能,ARMv8架构为Hypervisor提供了VHE支持,VHE可以使Host OS迁移到EL2特权模式, +而无需改变操作系统原有的代码。 VHE支持主要实现了ARM寄存器的重定向,这样我们就可以在不修改OS内核代码的情况下, +将Zephyr OS迁移到EL2层充当Hypervisor,既降低了系统冗余,又提高了系统性能。 + +内存虚拟化模块 +^^^^^^^^^^^^^^^^^^^^^^ + +内存虚拟化模块的主要作用是实现VM内存地址的隔离。 系统需要隔离不同虚拟机的内存空间, +监控VM对实际物理内存的访问,以保护物理内存。 为了实现这个功能,ARM提供了两阶段的地址查找策略。 +第一阶段是从VM的虚拟地址到VM的物理地址的转换,第二阶段是从VM的物理地址到主机的物理地址。 +ARM 专门为 stage-2 翻译提供单独的硬件,以提高地址翻译性能。 + +中断虚拟化模块 +^^^^^^^^^^^^^^^^^^^^^^ + +中断虚拟化使用ARM通用中断控制器(GIC)设备,并基于该设备实现虚拟中断配置。 +在此系统中,我们将 VM 的中断统一路由到 Hypervisor,Hypervisor 稍后会将它们分配给不同的 vCPU。 +具体实现上,虚拟中断的注入是通过GIC中的Virtual CPU接口或List Register实现的。 + +定时器虚拟化 +^^^^^^^^^^^^^^^^^^^^^^ + +定时器虚拟化为每个 CPU 定义了一组虚拟定时器寄存器,它们在预定时间后单独计数并抛出中断, +由主机转发给 VM。 同时,在VM切换过程中,虚拟定时器会计算VM的实际运行时间, +并对虚拟机退出的时间进行补偿,为虚拟机提供定时器服务。 + +设备虚拟化 +^^^^^^^^^^^^^^^^^^^^^^ + +在设备虚拟化方面,本文采用ARM中的Memory-mapped I/O(MMIO)方法将设备地址映射到虚拟的内存地址,构建虚拟的设备空间, +实现VN对设备地址的访问。 在具体实现上,我们统一构建一个虚拟的MMIO设备,在VM创建过程中将该设备分配给指定的VM, +实现I/O虚拟化。此外,对一些非独占设备,我们使用设备直通的方式实现设备的访问。 + + +`Next>> 主机开发环境搭建 `__ diff --git a/zvm_doc/2--Building.md b/zvm_doc/2--Building.md deleted file mode 100644 index 0a8c1f99534682f751684b845d0fedd209385628..0000000000000000000000000000000000000000 --- a/zvm_doc/2--Building.md +++ /dev/null @@ -1,123 +0,0 @@ -# Building system - -## For Arm FVP platform -### Build host system. - -On path-to/zvm/zephyr/ dir: - -For auto build the zvm, using z_auto.sh to build it. - -```shell -./z_auto.sh build fvp -``` - -Or input below command: - -```shell -west build -b fvp_cortex_a55 samples/_zvm -DARMFVP_BL1_FILE=/home/xiong/trusted-firmware-a/build/fvp/release/bl1.bin -DARMFVP_FIP_FILE=/home/xiong/trusted-firmware-a/build/fvp/release/fip.bin -``` - -Eventually generate output files below: -> build/zephyr/zvm_host.elf - -> build/zephyr/zvm_host.bin - - -### Building -#### Building Zephyr OS -On path-to/zephyr/ dir: - -Supported board: fvp_base_revc_2xaemv8a - -```shell -west build -b fvp_base_revc_2xaemv8a samples/subsys/shell/shell_module/ -DARMFVP_BL1_FILE=/home/xiong/trusted-firmware-a/build/fvp/release/bl1.bin -DARMFVP_FIP_FILE=/home/xiong/trusted-firmware-a/build/fvp/release/fip.bin -``` - -Eventually generate image files below: -> build/zephyr/zephyr.elf - -> build/zephyr/zephyr.bin - - -#### Building Linux OS -1. Download Linux-5.16.12 or other version's kernel. -2. Build kernel. -```shell -# chose the debug info, the .config file that is show on path-to/zvm_configs/fvp_platform/.config_fvp -$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig -# build kernel, generate image in: ./zvm_configs/fvp_platform/Image -$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image -``` -3. Build dtb. -```shell -# build dtb file for linux os, the dts file is locate at path-to/zvm_configs/fdts/* and dtb file is on path-to/zvm_configs/fvp-base-gicv3-psci.dtb -$ dtc fdts/fvp-base-gicv3-psci.dts -I dts -O dtb > fvp-base-gicv3-psci.dtb -``` -4. Build filesystem. -```shell -# build the filesystem and generate the filesystem image -# Using busybox to build it, ref: https://consen.github.io/2018/01/17/debug-linux-kernel-with-qemu-and-gdb/. Finally generate path-to/zvm_config/fvp_platform/initramfs.cpio.gz -``` -5. Build linux image. -```shell -# using boot-wrapper to build linux image. -$ wget https://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git/snapshot/boot-wrapper-aarch64-ed60963595855e66ffc06a8a543cbb429c7ede03.tar.gz -$ tar -xf boot-wrapper-aarch64-ed60963595855e66ffc06a8a543cbb429c7ede03.tar.gz -$ cd boot-wrapper-aarch64-ed60963595855e66ffc06a8a543cbb429c7ede03/ -$ autoreconf -i -$ ./configure --enable-psci --enable-gicv3 --with-kernel-dir=path-to/linux-5.16.12/ --with-dtb=path-to/fvp-base-gicv3-psci.dtb --with-initrd=path-to/initramfs.cpio.gz --host=aarch64-linux-gnu -$ make - -# And the final generated image file: linux-system.axf -``` - -## For QEMU platform -### Host Compile - -For auto build the zvm, using z_auto.sh to build it. -```shell -./z_auto.sh build qemu -``` - -On path-to/zvm/zephyr/ dir -```shell -west build -b qemu_cortex_max_smp samples/_zvm/ -``` -Generated image files below: -> build/zephyr/zvm_host.elf - -> build/zephyr/zvm_host.bin - - -### Guest Compile -#### zephyr os: -on path-to/zephyr dir: -```shell -west build -b qemu_cortex_a53 samples/subsys/shell/shell_module/ -``` - -Generate image files below: -> build/zephyr/zephyr.elf - -> build/zephyr/zephyr.bin - - -#### Linux os: -1. Build dtb. -```shell -# build dtb file for linux os, the dts file is locate at ./zvm_configs/qemu_platform/virt.dts and dtb file is on ./z_configs/qemu_platform/virt.dtb -$ dtc virt.dts -I dts -O dtb > virt.dtb -``` -2. Build filesystem. -```shell -# build the filesystem and generate the filesystem image -# Using busybox to build it, ref: https://consen.github.io/2018/01/17/debug-linux-kernel-with-qemu-and-gdb/. Finally generate ./zvm_config/qemu_platform/initramfs.cpio.gz -``` -3. Build kernel. -```shell -# chose the debug info, the .config file that is show on ./zvm_configs/qemu_platform/.config_qemu -# add filesystem's *.cpio.gz file to kernel image by chosing it in menuconfig. -$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig -# build kernel -$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image -``` diff --git a/zvm_doc/2_Environment_Configuration.rst b/zvm_doc/2_Environment_Configuration.rst new file mode 100644 index 0000000000000000000000000000000000000000..2773ce2bc60c4548e3020a9d38cca866992d5f20 --- /dev/null +++ b/zvm_doc/2_Environment_Configuration.rst @@ -0,0 +1,133 @@ +主机开发环境构建 +====================== + +开发环境配置 +--------------- +Zephyr-Based Virtual Machine 基于 ZephyrProject 代码库进行开发,构建和运行工具与沿用ZephyrProject原先的 +west 工具,本项目已经将west.yml文件进行了配置,只需要使用west对系统进行初始化即可。 +但是由于系统编译过程中将要使用到许多依赖项目,这里参考zephyrproject的说明文档[1]下载相应的依赖。 +安装相关依赖(本使用说明针对新搭建的环境,读者可以根据需求进行相应的依赖安装, +为了保证开发者在安装过程中避免版本问题导致的不适配的错误,建议安装完全一致的版本) + + +1. 升级软件仓 +^^^^^^^^^^^^^^^^^^^^^^ + +.. code:: shell + + sudo apt update + sudo apt upgrade + +2. 升级Kitware archive +^^^^^^^^^^^^^^^^^^^^^^ + +.. code:: shell + + wget https://apt.kitware.com/kitware-archive.sh + sudo bash kitware-archive.sh + +3. 升级相关依赖仓库 +^^^^^^^^^^^^^^^^^^^^^^ + +.. code:: shell + + sudo apt install --no-install-recommends git cmake ninja-build gperf \ + ccache dfu-util device-tree-compiler wget \ + python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \ + make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1 + +4. 安装SDK工具 +^^^^^^^^^^^^^^^^^^^^^^ + +下载并验证Zephyr SDK 捆绑包 + +.. code:: shell + + wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.1/zephyr-sdk-0.16.1_linux-x86_64.tar.xz + wget -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.1/sha256.sum | shasum --check --ignore-missing + +如果需要,您可以更改0.16.1为其他版本;Zephyr SDK 版本页面包含所有可用的 SDK 版本。 + +提取 Zephyr SDK 捆绑包存档: + +.. code:: shell + + cd + tar xvf zephyr-sdk-0.16.1_linux-x86_64.tar.xz + +运行 Zephyr SDK 捆绑包设置脚本: + +.. code:: shell + + cd zephyr-sdk-0.16.1 + ./setup.sh + +5. 安装west工具 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +(这里选择全局安装,若是想要在python-env中安装,参考[1]中资料) + +.. code:: shell + + pip3 install --user -U west + echo 'export PATH=~/.local/bin:"$PATH"' >> ~/.bashrc + source ~/.bashrc + +6. 版本信息核对(请确保安装依赖的版本与文档所示一致) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code:: shell + + cmake --version + python3 --version + dtc --version + +7. 创建并初始化工作区 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +(1)创建工作区并拉取zvm仓库镜像 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: shell + + cd ~ + mkdir zvm_workspace && cd zvm_workspace + git clone https://gitee.com/cocoeoli/zvm.git + + +(2)初始化工作仓 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: shell + + cd zvm + west init -l /path-to/zvm + +上面的'path-to'修改为自己的目录路径,执行完上面命令后,在'zvm_workspace'目录下将会生成.west文件夹, +其中'config'文件中存放了west的相关配置。此时可以通过执行如下命令查看'west'配置是否成功: + +.. code:: shell + + west -h + + +也可以通过以下指令查看是否成功生成.west文件 + +.. code:: shell + + ls -a + +显示有west信息后,即说明工作仓初始化成功,可以进行主机操作系统和客户机操作系统的开发。 + + +`Prev>> 系统简介 `__ + +`Next>> 核心模块介绍 `__ + + + +参考资料: +~~~~~~~~~~~~~~~~ + +[1] https://docs.zephyrproject.org/latest/index.html + +[2] https://gitee.com/cocoeoli/arm-trusted-firmware-a diff --git a/zvm_doc/3--Running.md b/zvm_doc/3--Running.md deleted file mode 100644 index 6c85ffd4b0f7e74293c2e863ac1e9b7f0c028780..0000000000000000000000000000000000000000 --- a/zvm_doc/3--Running.md +++ /dev/null @@ -1,33 +0,0 @@ - -# Running - -## Arm FVP -#### Platform - -- FVP Model: Cortex-A55x4_Cortex-A75x2(Installed with Arm DS2021) -- paramters: `-C bp.secure_memory=0 -C cache_state_modelled=0 -C pctl.startup=0.0.*.* -C bp.refcounter.non_arch_start_at_default=1 -C bp.terminal_0.mode=raw -C bp.terminal_1.mode=raw -C bp.terminal_2.mode=raw` - -#### Load image -> Host: 'zvm_host.elf' - -Load zvm_host.elf to address: 0x80000000. - -> guest: 'zephyr.elf' and 'linux-system.axf' - -Load zephyr.elf to address: 0xa0000000 -Load linux-system.axf to address: 0xb0000000 - -#### Run ZVM -Open Arm DS2021 and click the `run` button - - - -## QEMU -#### Platform - -- QEMU model: board `virt` with cpu `max` -- Run command: -```shell -path-to/qemu-system-aarch64 -cpu max -m 4G -nographic -machine virt,virtualization=on,gic-version=3 -net none -pidfile qemu.pid -chardev stdio,id=con,mux=on -serial chardev:con -mon chardev=con,mode=readline -serial pty -serial pty -smp cpus=4 -device loader,file=path-to/zephyr.bin,addr=0x48000000,force-raw=on -device loader,file=path-to/Image,addr=0x80000000,force-raw=on -device loader,file=path-to/virt.dtb,addr=0x88000000 -kernel path-to/zvm/zephyr/build/zephyr/zvm_host.elf -``` -> Warning: Due to the requriment that we should use multiple console. This qemu exec file has been modified. After input the command upon, we should to create another terminal and using `screen` to connect the zvm's second console. And then, we can using VM's console. diff --git a/zvm_doc/3_Key_Modules.rst b/zvm_doc/3_Key_Modules.rst new file mode 100644 index 0000000000000000000000000000000000000000..12668bfd71886eaf82b0c375b38a6233168abf8f --- /dev/null +++ b/zvm_doc/3_Key_Modules.rst @@ -0,0 +1,182 @@ +核心模块设计 +================ + +ZVM是基于实时操作系统Zephyr设计的虚拟机管理器(Hypervisor),系统架构如下图所示, +主要功能模块包括包括CPU虚拟化、内存虚拟化、中断虚拟化、时钟虚拟化及I/O虚拟化等功能。 +本文档介绍各个核心功能模块的实现。 + + +核心功能模块 +--------------- + +1.处理器虚拟化模块 +^^^^^^^^^^^^^^^^^^^^^^ + +CPU虚拟化模块主要功能在于为每个虚拟机虚拟出单独隔离的上下文、程序执行及异常状态,在系统中, +每个vCPU以一个线程的形式存在,并由Hypervisor统一调度。为了更好的提高vCPU的性能, +ZVM利用ARMv8架构为Hypervisors提供了一个单独的特权级模式,具有比Kernel更高的特权级,便于对VM进行监管。 + +CPU虚拟化模块主要功能在于为每个虚拟机虚拟出单独隔离的上下文、程序执行及异常状态,在系统中, +每个vCPU以一个线程的形式存在,并由Hypervisor统一调度。 +为了更好的提高vCPU的性能,ARMv8架构为Hypervisors提供了一个单独的特权级模式, +具有比Kernel更高的特权级,便于对OS Kernel进行监管。 + +具体来说,vCPU部分初始化及运行流程如下: + +(1)首先在创建VM时根据VM信息创建vCPU结构体,并创建vCPU线程加入等待队列,即为VM提供了vCPU的支持。 + +(2)同时在运行VM时根据OS信息初始化vCPU数据结构并检查系统状态,初始化各类子系统。 + +(3)其次,系统在进行Guest Entry或 Exit时的上下文切换,并在每次Handler时进行处理,以处理虚拟机异常。 +而在上下文切换过程中,通过错误码判断处理机制,sync处理过程和irq分开,加快处理速度,保证虚拟机的切换性能, +整体vCPU模拟执行逻辑如下图所示。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/vcpu_logic.png + +此外,为了更好的减少系统性能开销,我们利用arm VHE技术来减少主机操作系统与客户机操作系统之间的上下文切换次数。 + +(1)VHE的实现可以使Host OS整体移动到EL2特权级模式下,并在不更改操作原始系统代码的情况下实现迁移。 + +(2)VHE模式下主要硬件实现了寄存器的重定向,如图4所示,因此不再需要更改Zephyr OS内核的代码即可实现将其迁移到EL2层, +以减少了虚拟机切换的性能开销,VHE上下文切换如下图所示。 + + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/vhe_context_switch.png + +2.内存虚拟化模块 +^^^^^^^^^^^^^^^^^^^^^^ + +内存虚拟化模块主要功能是实现虚拟机(VM)内存地址的访问与隔离,系统也需要将不同虚拟机的内存空间隔离, +并监控虚拟机对实际物理内存的访问,实现对主机物理内存的保护。 + +ARM提供了两阶段的地址查找策略, + +(1)即第1阶段从VM的客户机虚拟地址到VM的客户机物理地址的转化。 + +(2)到第2阶段从VM的客户机物理地址到主机物理地址的转换,具体内存地址虚拟化逻辑如下图所示, + 虚拟机的地址空间由相应的数据结构实现,并在VM初始化过程中初始化其地址空间,以支持VM的内存访问。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/vmem_logic.png + +为了实现这一功能,ARM专门为第2阶段的转换提供了单独的硬件,以提高地址转换的性能。同时,考虑实时系统的时间开销。 +ZVM先接单采用的线性映射的逻辑,即将虚拟机所需要的物理地址空间,一整块映射到设备的物理地址空间, +如图下图所示,而不需要考虑Hypervisor级别的页错误,以达到接近物理机器的地址转换开销。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/vmem_mapping.png + +3.中断虚拟化模块 +^^^^^^^^^^^^^^^^^^^^^^ + +中断虚拟化主要基于ARM GIC设备的特性,为每个VM提供中断控制器,以支持VM的虚拟中断处理, + 具体如下图所示。 + +首先,系统将初始化vGIC相关的数据结构,并注册相应的虚拟中断处理逻辑,并在内存空间分配一块地址来实现对中断控制器的模拟, + 以此为VM提供虚拟中断服务。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/virq_logic.png + +此外,在ZVM系统中,在中断触发逻辑中,我们通过配置相关寄存器,统一将VM的中断路由到Hypervisor, +并由其分配给不同的vCPU。而在虚拟中断触发方式上,我们具体是通过GIC中的Virtual CPU interface和List Register来实现虚拟中断的注入。 +如下图所示,这一逻辑部分可由硬件接管,以减少软件仿真的开销,进而提高虚拟中断的性能。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/virq_routing.png + + +4.时钟虚拟化模块 +^^^^^^^^^^^^^^^^^^^^^^ + +在ZVM的时钟虚拟化部分,现阶段的设计主要包含两个时钟虚拟化逻辑。ARM平台上的时钟由CPU内部的寄存器控制, +因此,在虚拟机独占某个CPU时,vTimer通过访问虚拟时钟寄存器模拟, +即对虚拟机来说,有一套单独的计数寄存器,用于记录VM的时间。 + +在这个逻辑中,每个CPU定义了一组虚拟时钟寄存器,它们单独计数并在预定的时间过后抛出中断,并由主机转发至VM。 + 此外,在虚拟机切换过程中(即非独占状态),虚拟时钟将通过一系列的数据结构,计算出VM实际运行的时间, + 并补偿虚拟机退出的时间,进而校准vCPU时钟偏差,同时将时钟触发事件转移的主机物理时钟寄存器中, + 以支持为虚拟机提供定时器服务,具体如下图所示。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/vtimer_logic.png + + +5.设备虚拟化模块 +^^^^^^^^^^^^^^^^^^^^^^ + +在I/O虚拟化方面,在本研究采用的ARM架构中MMIO的方式将设备地址映射的物理内存地址空间进行访问。 +具体实现上,我们通过构建Virtual MMIO Device设备及全虚拟化的方式,并在创建VM的过程中将设备分配给指定的VM, +以实现I/O的虚拟化,如下图所示。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/vdev_logic.png + +ZVM系统现阶段具体支持了两类设备,如下图所示,对于主机独占设备,通过完全虚拟化的方式模拟,而其他设备, +支持采用透传直通的方式,以减少开销。此外,我们还将支持virtIO半虚拟化方式,具体在后续章节介绍。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/vdev_mode.png + +(1)完全虚拟化的设备(如GIC设备)。 + + 由于GIC设备控制整个系统的中断配置信息,对其进行修改将会影响ZVM系统的配置,而每个ARM架构的OS又都必须要一个中断控制器, + 因此我们为每个VM提供了一个完全虚拟化的GIC设备,并为其在内存中分配一段地址,模拟GIC的IO地址空间, + 并存储当前vGIC的配置信息,当执行VM时,将配置信息通过Hypervisor控制写入物理GIC地址当中或者完全通过软件模拟操作GIC读写操作, + 以实现GIC设备的虚拟化。 + +(2)直通的设备(如UART设备)。 + + 由于对于常见的平台来说,UART设备在系统中往往不止一个,且设备之间一般无影响,因此我们将其直接分配给VM使用。 + 具体实现上,即通过在ZVM初始化过程中初始化相应的UART设备,并建立起VM IO地址到Host OS IO地址的映射关系。 + 并在VM初始化过程中分配给指定的VM,实现VM对该设备的直接使用,而Hypervisor在此过程中只需要记录设备分配给了哪个VM, + 不需要进行具体设备功能的模拟,减小了系统的开销。具体的I/O 虚拟化的过程如下,当系统刚开始发生IO trap时, + 处理器由EL1陷入到EL2特权级,并判断是否为直通设备,如果是,则直接将赋予IO空间访问权限; + 否则将建立陷入EL2模式中进行IO模拟,并最终判断是否访问物理IO空间,从图中可以看出, + 非直通设备在首次赋予权限后的访问不再需要trap-emulate流程,减少了系统的开销。 + + +6.VM生命周期 +^^^^^^^^^^^^^^^^^^^^^^ + +本项目中虚拟机的状态有以下几种: + +| (1)未运行状态(VM_STATUS_NEVER_RUN):此状态VM未运行,只是创建了一个VM实体,等待首次调度。 +| (2)运行状态(VM_STATUS_RUNNING):此状态VM正在运行,并占用处理器资源。 +| (3)挂起状态(VM_STATUS_PAUSE):此状态VM暂停,相关线程在等待队列中,不占用物理CPU,随时可以调度。 +| (4)停止状态(VM_STATUS_STOP):此状态VM停止,相关线程都停止执行,相关内存和I/O资源开始释放。 + +一个完整的生命周期包括VM的创建、VM的运行、VM的暂停和VM的退出等一系列流程。 +用户通过相应的shell接口实现对VM在各种状态下的切换。为了提供用户操作VM的接口, +我们为VM提供了直通的串口,并直接向串口发送打印信息来判断VM能否正常运行。 + +因此,在每个平台上,均支持了两个串口:serial0和serial1,如图12所示,其中serial0通过分配给Host OS +来下达控制命令,而serial1通过分配给VM来打印VM的信息, +同时serial1必须支持在虚拟机之间进行切换。直通串口支持shell的方式如下图所示。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/vuart_passthrough.png + +7.vCPU分配及调度策略 +^^^^^^^^^^^^^^^^^^^^^^ + +在ZVM系统中,vCPU都是以线程的形式进行调度,因此可以使用Zephyr自身的调度系统进行调度。 +Zephyr采用的是基于可变优先级的可抢占式调度算法,并支持时间片轮转调度。 + +可以通过配置项,将系统配置为基于可变优先级的时间片轮转算法, +时间片轮转调度是指系统给处于就绪态的最高优先级的每个同优先级的任务一个相同的执行时间片。 + +一个任务所分配的时间片用完后,就进行任务切换,停止当前运行的任务,将它放入就绪列表最高优先级任务链表末尾, +并开始执行就绪队列中的下一个任务。具体使用的轮转调度算法如下图所示。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/time_stamp.png + +同时,为了减少系主机和从机的系统切换开销,ZVM在此阶段设计采用主从核设计模式,在设计过 +程中将vCPU线程和主机线程尽量绑定在不同的物理处理器上,并通过核间中断(Inter-Processor Interrupt, IPI) +实现主从核的通信,进而实现主机对从机的控制。 + +具体来说,如下图所示,cpu0负责主机的任务调度,如shell输入产生的中断将路由至cpu0进行处理,执行控制指令。 +cpu0与cpuN间的IPI通信通过方式实现,cpu0通过IPI通知cpuN执行任务。vCPU线程在初始化过程中绑定一个物理CPU, +并在启动时部署到指定cpu上执行,直到异常发生。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/vcpu_allocate.png + + +`Prev>> 主机开发环境搭建 `__ + +`Next>> ZVM系统构建 `__ + + + diff --git a/zvm_doc/4--Test system.md b/zvm_doc/4--Test system.md deleted file mode 100644 index 75a20d6c1811e59981f8571dca6bee0131264ecc..0000000000000000000000000000000000000000 --- a/zvm_doc/4--Test system.md +++ /dev/null @@ -1,67 +0,0 @@ -# ZVM Command - -#### new vm command - -```shell - ------------------------------- -zvm new -t linux /* new a linux vm with vmid that allocated by system. */ - -zvm new -t zephyr /* new a zephyr vm with vmid that allocated by system. */ ------------------------------- - -``` - - - -#### run vm command - -```shell - ------------------------------- -zvm run -n 0 /* run the vm with vm\'s vmid equal to 0 */ - -zvm run -n 1 /* run the vm with vm\'s vmid equal to 1 */ ------------------------------- - -``` - - - -#### pause vm command - -```shell - ------------------------------- -zvm pause -n 0 /* pause the vm with vm\'s vmid equal to 0 */ - -zvm pause -n 1 /* pause the vm with vm\'s vmid equal to 1 */ ------------------------------- - -``` - - - -#### list vm command - -```shell - ------------------------------- -zvm info /* list vms. */ ------------------------------- - -``` - - - -#### delete vm command - -```shell - ------------------------------- -zvm delete -n 0 /* delete the vm with vm\'s vmid equal to 0 */ - -zvm delete -n 1 /* delete the vm with vm\'s vmid equal to 1 */ ------------------------------- - -``` diff --git a/zvm_doc/4_System_Build.rst b/zvm_doc/4_System_Build.rst new file mode 100644 index 0000000000000000000000000000000000000000..25de5ef3784783885e8fdfd4d84a8686031a1b6c --- /dev/null +++ b/zvm_doc/4_System_Build.rst @@ -0,0 +1,291 @@ +ZVM系统构建 +================ + + +QEMU platform +~~~~~~~~~~~~~~~~~~~~~ + +1. 在ZVM的工作目录下构建ZVM镜像 ++++++++++++++++++++++++++++++++++++++++++++ + +.. code:: shell + + cd ~/zvm_workspace/zvm + +1) 使用脚本文件构建ZVM镜像: + +.. code:: shell + + ./auto_build.sh build qemu + +2)或者使用命令行构建镜像: + +.. code:: shell + + west build -b qemu_cortex_max_smp samples/_zvm + + +2. 生成ZVM镜像文件如下: +++++++++++++++++++++++++++ + +.. code:: shell + + build/zephyr/zvm_host.elf + + +Arm FVP platform +~~~~~~~~~~~~~~~~~~ + +1. 在ZVM的工作目录构建ZVM镜像 +++++++++++++++++++++++++++++++ +进入zvm工作目录: + +.. code:: shell + + cd ~/zvm_workspace/zvm + +1) 使用脚本文件构建ZVM镜像: + +.. code:: shell + + ./auto_build.sh build fvp + +2)或者使用命令行构建镜像: + +.. code:: shell + + west build -b fvp_cortex_a55x4_a75x2_smp samples/_zvm \ + -DARMFVP_BL1_FILE=path-to/trusted-firmware-a/build/fvp/release/bl1.bin \ + -DARMFVP_FIP_FILE=path-to/trusted-firmware-a/build/fvp/release/fip.bin + +后面的'arm-trusted-fireware-a'为arm 平台的安全启动工具, + +2. 生成ZVM镜像文件如下: ++++++++++++++++++++++++++++ + +.. code:: shell + + build/zephyr/zvm_host.elf + + + +构建虚拟机镜像 +-------------------------- + +因为本项目的zvm系统搭建的是同构虚拟化平台,现阶段实现的虚拟机和主机运行的平台是一致的,因此下面分别介绍针对qemu以及 +fvp平台的os镜像构建过程。 + +Building Zephyr OS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +在构建Zephyr os的镜像过程中,需要使用zephyrproject的工程,分别生成适用于qemu和fvp版本的虚拟机镜像,镜像构建具体过程如下。 +需要注意的是,本项目中在zephyr vm生成过程中,如果是fvp平台,需要考虑arm trusted-firmware-a的启动配置,arm trusted-firmware-a +相关仓库和配置参考资料[2],直接将代码拉取下来,再编译构建即可。 + + +构建zephyr vm镜像(qemu): ++++++++++++++++++++++++++++++ + +Supported board: fvp_base_revc_2xaemv8a + +.. code:: shell + + west build -b fvp_base_revc_2xaemv8a samples/subsys/shell/shell_module/ \ + -DARMFVP_BL1_FILE=/home/xiong/trusted-firmware-a/build/fvp/release/bl1.bin \ + -DARMFVP_FIP_FILE=/home/xiong/trusted-firmware-a/build/fvp/release/fip.bin + + +构建zephyr vm镜像(fvp): +++++++++++++++++++++++++++++++++++ + +Supported board: qemu_cortex_a53 + +.. code:: shell + + west build -b qemu_cortex_a53 samples/subsys/shell/shell_module/ + + +最终生成如下镜像文件: + +.. code:: shell + + build/zephyr/zephyr.bin + + +Building linux OS +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +构建linux OS过程中,需要先拉取linux kernel源码,并构建设备树及文件系统, +最终构建linux vm镜像(qemu): + + +1. Build dtb. ++++++++++++++++++++++++++++++ +.. code:: shell + + # build dtb file for linux os, the dts file is locate at ../zvm_config/qemu_platform/linux-qemu-virt.dts + dtc linux-qemu-virt.dts -I dts -O dtb > linux-qemu-virt.dtb + +2. Build filesystem. +++++++++++++++++++++++++++++++++++++++++++++++++++ + +构建initramfs根文件系统,这此处借助了BusyBox构建极简initramfs,提供基本的用户态可执行程序编译 +BusyBox,配置CONFIG_STATIC参数,编译静态版BusyBox,编译好的可执行文件busybox不依赖动态链接库 +,可以独立运行,方便构建initramfs + + +1) 编译调试版内核 + + .. code:: shell + + $ cd linux-4.14 + $ make menuconfig + #修改以下内容 + Kernel hacking ---> + [*] Kernel debugging + Compile-time checks and compiler options ---> + [*] Compile the kernel with debug info + [*] Provide GDB scripts for kernel debugging + $ make -j 20 + + + +2) 拉取busybox包 + .. code:: shell + + # 在busybox官网拉取busybox包 + # 官网 ref="https://busybox.net/" + +3)编译busybox,配置CONFIG_STATIC参数,编译静态版BusyBox + + .. code:: shell + + $ cd busybox-1.28.0 + $ make menuconfig + #勾选Settings下的Build static binary (no shared libs)选项 + $ make -j 20 + $ make install + #此时会安装在_install目录下 + $ ls _install + bin linuxrc sbin usr + +4)创建initramfs,启动脚本init + + .. code:: shell + + $ mkdir initramfs + $ cd initramfs + $ cp ../_install/* -rf ./ + $ mkdir dev proc sys + $ sudo cp -a /dev/{null, console, tty, tty1, tty2, tty3, tty4} dev/ + $ rm linuxrc + $ vim init + $ chmod a+x init + $ ls + $ bin dev init proc sbin sys usr + #init文件内容: + #!/bin/busybox sh + mount -t proc none /proc + mount -t sysfs none /sys + + exec /sbin/init + +5)打包initramfs + + .. code:: shell + + $ find . -print0 | cpio --null -ov --format=newc | gzip -9 > ../initramfs.cpio.gz + + +3. Build kernel ++++++++++++++++++++++++++++++ + +这里我们构建可以运行在虚拟机上的Linux内核。 + + .. code:: shell + + # Download Linux-5.16.12 or other version’s kernel. + # chose the debug info, the .config file that is show on ../zvm_config/qemu_platform/.config_qemu + cp ../zvm_config/qemu_platform/.config_qemu path-to/kernel/ + # add filesystem's *.cpio.gz file to kernel image by chosing it in menuconfig. + make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig + # build kernel + make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image + + + +构建linux vm镜像(fvp): +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. Download Linux-5.16.12 or other version’s kernel. +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +2. Build kernel. +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. code:: shell + + # chose the debug info, the .config file that is show on ../zvm_config/fvp_platform/.config_fvp + make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig + # build kernel, generate image in: ./zvm_configs/fvp_platform/Image + make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image + +3. Build dtb. ++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. code:: shell + + # build dtb file for linux os, the dts file is locate at ../zvm_config/fdts/* + dtc fdts/fvp-base-gicv3-psci.dts -I dts -O dtb > fvp-base-gicv3-psci.dtb + +4. Build filesystem. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. code:: shell + + # build the filesystem and generate the filesystem image + # Using busybox to build it, ref: https://consen.github.io/2018/01/17/debug-linux-kernel-with-qemu-and-gdb/. + +5. Build linux image. ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +.. code:: shell + + # using boot-wrapper to build linux image. + wget https://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git/snapshot/boot-wrapper-aarch64-ed60963595855e66ffc06a8a543cbb429c7ede03.tar.gz + tar -xf boot-wrapper-aarch64-ed60963595855e66ffc06a8a543cbb429c7ede03.tar.gz + cd boot-wrapper-aarch64-ed60963595855e66ffc06a8a543cbb429c7ede03/ + autoreconf -i + ./configure --enable-psci --enable-gicv3 --with-kernel-dir=path-to/linux-5.16.12/ --with-dtb=path-to/fvp-base-gicv3-psci.dtb --with-initrd=path-to/initramfs.cpio.gz --host=aarch64-linux-gnu + make + + # And the final generated image file: linux-system.axf + + +最终生成文件 +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +在qemu平台,成功生成如下文件: +++++++++++++++++++++++++++++++++++++++++++++ +.. code:: shell + + zvm_host.elf, zephyr.bin, linux-qemu-virt.dtb, Image, initramfs.cpio.gz + +在fvp平台,成功生成如下文件: ++++++++++++++++++++++++++++++++++++++++++++++ +.. code:: shell + + zvm_host.elf, zephyr.bin, linux-system.axf(包含内核镜像,文件系统及设备树等文件) + + + +参考资料: +--------------------------- +[1] https://docs.zephyrproject.org/latest/index.html + +[2] https://gitee.com/cocoeoli/arm-trusted-firmware-a + +`Prev>> 核心模块介绍 `__ + +`Next>> ZVM运行与调试 `__ + diff --git a/zvm_doc/5_Running_and_Debugging.rst b/zvm_doc/5_Running_and_Debugging.rst new file mode 100644 index 0000000000000000000000000000000000000000..dafb90cbeb661d99e88f1611b96f7f34876e731a --- /dev/null +++ b/zvm_doc/5_Running_and_Debugging.rst @@ -0,0 +1,180 @@ +运行和调试系统 +====================== + + +ZVM系统运行配置 +---------------- + +QEMU 平台 +^^^^^^^^^^^^^^^^^^^ + +qemu版本及配置: +~~~~~~~~~~~~~~~~~~ +- QEMU version: 6.2.0 +- QEMU model: board ``virt`` with cpu ``max`` +- Run command: + +本项目基于的qemu软件来实现系统的启动和演示。需要注意的是,由于原生qemu仅支持一个非安全空间的串口,为方便演示, +我们给qemu添加了增加两个串口的补丁,补丁文件位于: + +.. code:: shell + + ../zvm_config/qemu_platform/qemu/*.patch + +使用说明参照该目录下的'README.rst'文件。qemu6.2.0仓库可以通过如下命令拉取 + +.. code:: shell + + git clone https://github.com/cocoeoli/qemu.git + +拉取完成后,进入qemu仓库开始并对相关文件打好补丁,然后开始配置qemu。 + +.. code:: shell + + cd path-to/qemu + mkdir build + ../configure --target-list=aarch64 + make + make install + +生成镜像文件位于'/path-to/qemu/build/aarch64-softmmu/'目录下,此时可以开始执行相关运行命令。 + + +qemu platform 运行zvm: +~~~~~~~~~~~~~~~~~~~~~~~~ + +运行zvm方式有两个: + +注: **脚本文件和命令中的'path-to'都需要替换为正确的路径。** + +1. 通过`auto_build.sh`脚本执行: + +.. code:: shell + + ./auto_build.sh debugserver qemu + +2. 直接执行命令: + +.. code:: shell + + /path-to/qemu-system-aarch64 \ + -cpu max -m 4G -nographic -machine virt,virtualization=on,gic-version=3 \ + -net none -pidfile qemu.pid -chardev stdio,id=con,mux=on \ + -serial chardev:con -mon chardev=con,mode=readline -serial pty -serial pty -smp cpus=4 \ + -device loader,file=/path-to/zephyr.bin,addr=0x48000000,force-raw=on \ + -device loader,file=/path-to/Image,addr=0x80000000,force-raw=on \ + -device loader,file=/path-to/linux-qemu-virt.dtb,addr=0x88000000 \ + -kernel /path-to/zvm_host.elf + +执行上面命令则会正常启动zvm,并打印如下shell,此时开始可以测试相应命令了。 + +.. code:: shell + + zvm_host:~# + + +Arm FVP 平台 +^^^^^^^^^^^^^^^^^^^ +Arm FVP 平台需要下载ARM DS2021,并进行一系列配置,具体教程后续再添加, + +平台配置 +~~~~~~~~~~~~~~~~ + +- FVP Model: Cortex-A55x4_Cortex-A75x2(Installed with Arm DS2021) +- paramters: + ``-C bp.secure_memory=0 -C cache_state_modelled=0 -C pctl.startup=0.0.*.* \ + -C bp.refcounter.non_arch_start_at_default=1 -C bp.terminal_0.mode=raw \ + -C bp.terminal_1.mode=raw -C bp.terminal_2.mode=raw`` + +FVP加载镜像 +~~~~~~~~~~~~~~~~~~ + + Host: ‘zvm_host.elf’ + +Load zvm_host.elf to address: 0x80000000. + + guest: ‘zephyr.bin and ‘linux-system.axf’ + +Load zephyr.elf to address: 0xa0000000 Load linux-system.axf to address: 0xb0000000 + +运行 +~~~~~~~ + +Open Arm DS2021 and click the ``run`` button。 + + +虚拟机生命周期 +-------------- + +ZVM中虚拟机的状态有以下几种: +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +1. 未运行状态(VM_STATUS_NEVER_RUN):此状态VM未运行,只是创建了一个VM实体,等待首次调度。 +2. 运行状态(VM_STATUS_RUNNING):此状态VM正在运行,并占用处理器资源。 +3. 挂起状态(VM_STATUS_PAUSE):此状态VM暂停,相关线程在等待队列中,不占用物理CPU,随时可以调度。 +4. 停止状态(VM_STATUS_STOP):此状态VM停止,相关线程都停止执行,相关内存和I/O资源准备释放。 + +一个完整的生命周期包括VM的创建、VM的运行、VM的暂停和VM的退出等一系列流程。 +用户通过相应的shell接口实现对VM在各种状态下的切换。 + + +测试ZVM命令 +-------------- + +创建虚拟机: +^^^^^^^^^^^^^^^^^^^ + +.. code:: c++ + + zvm new -t linux # new a linux vm with vmid that allocated by system. + + zvm new -t zephyr # new a zephyr vm with vmid that allocated by system. + + +运行虚拟机: +^^^^^^^^^^^^^^^^^^^ + +.. code:: shell + + zvm run -n 0 # run the vm with vm\'s vmid equal to 0 + + zvm run -n 1 # run the vm with vm\'s vmid equal to 1 + + +取消虚拟机: +^^^^^^^^^^^^^^^^^^^ + +.. code:: shell + + zvm pause -n 0 # pause the vm with vm\'s vmid equal to 0 + + zvm pause -n 1 # pause the vm with vm\'s vmid equal to 1 + + +打印虚拟机信息: +^^^^^^^^^^^^^^^^^^^ + +.. code:: shell + + zvm info # list vms. + + +删除虚拟机: +^^^^^^^^^^^^^^^^^^^ + +.. code:: shell + + zvm delete -n 0 # delete the vm with vm\'s vmid equal to 0 + + zvm delete -n 1 # delete the vm with vm\'s vmid equal to 1 + + +`Prev>> ZVM系统构建 `__ + +`Next>> 拓展技术介绍 `__ + + +问题反馈 +-------- +欢迎大家反馈开发中遇到的问题,下面是联系邮箱。 +[1] xiongcl@hnu.edu.cn \ No newline at end of file diff --git a/zvm_doc/6_Expansion_Technology.rst b/zvm_doc/6_Expansion_Technology.rst new file mode 100644 index 0000000000000000000000000000000000000000..5831534726a6103d2d498819b2e9b8fd044cda8b --- /dev/null +++ b/zvm_doc/6_Expansion_Technology.rst @@ -0,0 +1,108 @@ +拓展技术支持 +============ + +1.内存设计优化方案 +^^^^^^^^^^^^^^^^^^^^^^ + +(1)整体架构 +~~~~~~~~~~~~~~~~ + +ZVM 提供了两阶段的内存映射,第一阶段是从zephyr的内核空间映射到物理内存地址, +第二阶段是虚拟机的物理地址映射到zephyr的物理地址空间。第一阶段的映射主要是把对应内核镜像映射到zephyr物理地址空间中, +第二阶段的映射是使用vm_mem_partition 和 vm_mem_block 进行映射,具体如下图所示。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/mem_opt_arch.png + + +(2)动态分配内存 +~~~~~~~~~~~~~~~~ + +ZVM 提供了 CONFIG_VM_DYNAMIC_MEMORY 这一个宏可以让用户自由的选择是否动态分配内存, +如果选择静态的内存分配,每一个虚拟机都将得到一个vm_mem_partition 记录整体的内存分配状态, +否则将使用vm_mem_block记录内存的映射。在vm_mem_partion 中维护一条关于block的双向链表, +block的大小和映射范围可以动态的变化,这样就实现了内存的动态分配。基于双向链表的静态内存记录如下图所示。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/mem_opt_list.png + + +(3)压缩分区 +~~~~~~~~~~~~~~~~ + +为了减少嵌入式系统的内存损耗,我们拟在ZVM 在内存初始化的过程中从 zephyr +的heap中分配了一块压缩分区,当内存紧张的时候,将会把一部分不常用的block压缩至压缩分区中, +之后如果有请求再把它从压缩分区中恢复。我们采用 LZO 算法进行无损压缩,LZO 具有较高的压缩速度和较低的内存需求, +缺点是压缩率不是很高,符合ZVM的使用场景。内存压缩方案概览图如下图所示。 + + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/mem_compress.png + + +2.virtIO虚拟化方案 +^^^^^^^^^^^^^^^^^^^^^^ + +(1)整体架构 +~~~~~~~~~~~~~~~~ + +在虚拟化系统中,I/O资源是有限的,为了满足多个Guest OS的需求,VMM必须通过I/O虚拟化的方式来复用有限的I/O资源。 +现有的I/O虚拟化方案可以分为三类:全虚拟化、半虚拟化和 I/O 透传。 +其中全虚拟化方案就是通过纯软件的形式来模拟I/O设备并处理虚拟机的 I/O 请求, +虽然因为无需对操作系统做修改而获得了较好的可移植性和兼容性,但大量的上下文切换也造成了巨大的性能开销。 +半虚拟化是一种软硬件结合的方式,它提供了一种机制,用于接收并转发Guest端的I/O请求到Host端, +最终由主机的硬件处理这些I/O请求,同时也可以接收并转发Host端的I/O响应到Guest端。这样既能够有序的处理I/O请求, +又能够减少性能开销。I/O透传技术让虚拟机独占一个物理设备,并像宿主机一样的使用物理设备, +因此其需要依赖虚拟内存技术,以实现不同虚拟机之间内存空间的隔离。 +基于ZVM的嵌入式应用场景以及Zephyr操作系统的实时性要求,本方案选用半虚拟化的I/O虚拟化方案, +以Linux系统中的VirtI/O框架作为设计参考。 + +整体虚拟化架构如图所示,共分为三个部分:前端的驱动程序virtio-driver, +后端的虚拟设备virtio-device以及用于连接二者的virtio-queue。 +前端的virtio-driver以内核模块的形式存在于Guest OS中,其核心职责是: 接收来自用户进程的I/O请求, +将这些 I/O 请求转移到相应的后端虚拟设备中,并从virtio-device中接收已经处理完的I/O响应数据。 +后端的virtio-device存在于ZVM中,ZVM以内核模块的形式载入主机操作系统Zephyr。其核心职责是: +接收来自相应前端virtio驱动程序的I/O请求,使用物理硬件来处理这些I/O请求,并将响应数据暴露给前端驱动程序。 +virtio-queue是一种数据结构,其位于主机和虚拟机都能访问的共享内存中, +其是前端驱动程序和后端虚拟设备消息传输的通道,对I/O请求和I/O响应的操作满足生产者-消费者模型。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/virtIO_arch.png + + +(2)virtio-queue设计 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +如下图所示,virtio-queue是一组缓冲区块组成的队列,每一个缓冲区块都可以设置为可读或可写。 +virtio-driver和virtio-device通过virtio-queue进行数据交流, +每一个virtio-device绑定了一定数量的virtio-queue。Guest OS中的virtio-driver捕获I/O请求之后, +将I/O请求信息写入一个缓冲区块,并将其添加到相应设备的virtio-queue中。 +而VMM中的virtio-device从相应设备的virtio-queue中读取并处理I/O请求, +并将响应信息写回到相应的virtio-queue中。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/virtIO_queue.png + + +(3)virtio-driver设计 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +不同的外设需要设计不同的驱动程序,具体表现为绑定的virtio-queue数量, +virtio-queue中缓冲区的结构以及对缓冲区的操作不同,本方案暂只对块设备驱动程序的设计方法进行说明。 +块设备只绑定了一个virtio-queue,这个virtio-queue即用于保存I/O请求,也用于保存I/O响应数据。 +virtio-queue中的缓冲区结构如图3(左)所示,在原始的virtio框架中, +每个缓冲区的前16个字节总是一个只读的描述符结构,该描述符结构如图3(右)所示,type成员用于指示该缓冲区是只读、 +只写还是通用的SCSI命令以及在这个命令之前是否应该有一个写障碍。 +ioprio成员用于指示该缓冲区中保存的I/O请求的优先级,值越大则优先级越高。sector成员指示磁盘操作的偏移量。 +缓冲区的最后一个字节是只写的,如果请求成功则写入0,失败则写入1,不支持该请求则写入2。 +剩余的缓冲区部分的长度以及类型依据于请求的类型而定。 + +.. figure:: https://gitee.com/cocoeoli/zvm/raw/refactor/zvm_doc/figure/virtIO_driver.png + + +(4)virtio-device设计 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +后端的virtio-device主要需要进行的是I/O事件的通知,当从virtio-queue中读取到一个I/O请求时, +虚拟设备需要通知真实的物理设备对I/O请求进行处理,在本方案中,拟设计一个API将I/O请求分发到Host的I/O调度器上, +由Host完成之后的操作。 + + + +`Prev>> ZVM运行与调试 `__ + + +`Next>> ZVM后续规划 `__ + diff --git a/zvm_doc/7_Todo_List.rst b/zvm_doc/7_Todo_List.rst new file mode 100644 index 0000000000000000000000000000000000000000..8bb2ddeed97f4addd47383a3e6befd70e27a7d6a --- /dev/null +++ b/zvm_doc/7_Todo_List.rst @@ -0,0 +1,18 @@ +未来规划 +========== + +现阶段实现计划 +--------- +- [√] 能够在FVP和QEMU模拟平台上运行,能够支持启动至少两个及以上虚拟机(Linux, Zephyr)。 +- [√] 能够在QEMU模拟平台上运行,能够支持启动至少两个及以上虚拟机(Linux, Zephyr)。 +- [×] 能够支持虚拟化平台内存资源复用。 +- [×] 能够支持虚拟机间的通信。 +- [×] 能够支持虚拟机上运行实时应用。 +- [×] 能够支持virtIO等设备虚拟化框架。 + + + + +`Prev>> 拓展技术介绍 `__ + +`Next>> 加入我们 `__ diff --git a/zvm_doc/8_Join_us.rst b/zvm_doc/8_Join_us.rst new file mode 100644 index 0000000000000000000000000000000000000000..4184632ca00f675b51b7199be7be11288bdbb518 --- /dev/null +++ b/zvm_doc/8_Join_us.rst @@ -0,0 +1,39 @@ +欢迎加入 +============= + +欢迎对Zephyr以及基于Zephyr虚拟化工作感兴趣的小伙伴加入我们。 + +团队介绍: +----------- +研发团队依托 +`嵌入式与网络计算湖南省重点实验室 `__ 及 +`车网智能融合技术研创中心 `__ +等平台。 + +团队研发成员: +~~~~~~~~~~~~~~~ + +谢国琪教授: `个人主页 `__ +****************************************************************** + +熊程来,邮箱:xiongcl@hnu.edu.cn +****************************************************************** + +罗健淳,邮箱:jianchun.luo@qq.com +****************************************************************** + +宋君帆,邮箱:s1973853034@163.com +****************************************************************** + +胡星宇,邮箱:3037915984@qq.com +****************************************************************** + +王渊,邮箱:1191925483@qq.com +****************************************************************** + +温浩,邮箱:769135410@qq.com +****************************************************************** + + + +`Prev>> ZVM后续规划 `__ diff --git a/zvm_doc/figure/mem_compress.png b/zvm_doc/figure/mem_compress.png new file mode 100644 index 0000000000000000000000000000000000000000..59ee14374def02e81c9ed269e4426add5fe9224b Binary files /dev/null and b/zvm_doc/figure/mem_compress.png differ diff --git a/zvm_doc/figure/mem_opt_arch.png b/zvm_doc/figure/mem_opt_arch.png new file mode 100644 index 0000000000000000000000000000000000000000..eb17c1d38734edc9b6d0c939a7fad85b087ce1e1 Binary files /dev/null and b/zvm_doc/figure/mem_opt_arch.png differ diff --git a/zvm_doc/figure/mem_opt_list.png b/zvm_doc/figure/mem_opt_list.png new file mode 100644 index 0000000000000000000000000000000000000000..195a5bfb4e2e9c27b9455bc2cafb0c11b8b48aa1 Binary files /dev/null and b/zvm_doc/figure/mem_opt_list.png differ diff --git a/zvm_doc/figure/overview.jpg b/zvm_doc/figure/overview.jpg deleted file mode 100644 index 93c58249bf25202080b4ce94f0c35ecf70628642..0000000000000000000000000000000000000000 Binary files a/zvm_doc/figure/overview.jpg and /dev/null differ diff --git a/zvm_doc/figure/overview.png b/zvm_doc/figure/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..7d72dd742bb68a87d09bedd2872ca7dbe3f50153 Binary files /dev/null and b/zvm_doc/figure/overview.png differ diff --git a/zvm_doc/figure/time_stamp.png b/zvm_doc/figure/time_stamp.png new file mode 100644 index 0000000000000000000000000000000000000000..a88d23d4a942eb4f25a8a0eae060993f8c3b21e4 Binary files /dev/null and b/zvm_doc/figure/time_stamp.png differ diff --git a/zvm_doc/figure/vcpu_allocate.png b/zvm_doc/figure/vcpu_allocate.png new file mode 100644 index 0000000000000000000000000000000000000000..dc0d937c51a056a4fca6db08f427abcede10d892 Binary files /dev/null and b/zvm_doc/figure/vcpu_allocate.png differ diff --git a/zvm_doc/figure/vcpu_logic.png b/zvm_doc/figure/vcpu_logic.png new file mode 100644 index 0000000000000000000000000000000000000000..fae1470057bdebd29021072d6fe7ade11bf9cacc Binary files /dev/null and b/zvm_doc/figure/vcpu_logic.png differ diff --git a/zvm_doc/figure/vdev_logic.png b/zvm_doc/figure/vdev_logic.png new file mode 100644 index 0000000000000000000000000000000000000000..b098019051d11260af4074bd68d749fcd5855319 Binary files /dev/null and b/zvm_doc/figure/vdev_logic.png differ diff --git a/zvm_doc/figure/vdev_mode.png b/zvm_doc/figure/vdev_mode.png new file mode 100644 index 0000000000000000000000000000000000000000..899770528c08e22bcd1a8206afbf55f0daaffd00 Binary files /dev/null and b/zvm_doc/figure/vdev_mode.png differ diff --git a/zvm_doc/figure/vhe_context_switch.png b/zvm_doc/figure/vhe_context_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..d12d9d08c9d1486b2a171db8f1627891a75bb911 Binary files /dev/null and b/zvm_doc/figure/vhe_context_switch.png differ diff --git a/zvm_doc/figure/virq_logic.png b/zvm_doc/figure/virq_logic.png new file mode 100644 index 0000000000000000000000000000000000000000..9af8e2767602434ae61f82c1dac628aaff79df92 Binary files /dev/null and b/zvm_doc/figure/virq_logic.png differ diff --git a/zvm_doc/figure/virq_routing.png b/zvm_doc/figure/virq_routing.png new file mode 100644 index 0000000000000000000000000000000000000000..2327806d788e46e3ca9fe276b49d278788b94560 Binary files /dev/null and b/zvm_doc/figure/virq_routing.png differ diff --git a/zvm_doc/figure/virtIO_arch.png b/zvm_doc/figure/virtIO_arch.png new file mode 100644 index 0000000000000000000000000000000000000000..893dbfc5483b355ca5bc1f0bb4f27f8b79986f77 Binary files /dev/null and b/zvm_doc/figure/virtIO_arch.png differ diff --git a/zvm_doc/figure/virtIO_driver.png b/zvm_doc/figure/virtIO_driver.png new file mode 100644 index 0000000000000000000000000000000000000000..cd03d918ff6c6d46113605ccee2bf8a03f7a8caa Binary files /dev/null and b/zvm_doc/figure/virtIO_driver.png differ diff --git a/zvm_doc/figure/virtIO_queue.png b/zvm_doc/figure/virtIO_queue.png new file mode 100644 index 0000000000000000000000000000000000000000..e05f7a17fb043e210164d81720b4764b848b57df Binary files /dev/null and b/zvm_doc/figure/virtIO_queue.png differ diff --git a/zvm_doc/figure/vmem_logic.png b/zvm_doc/figure/vmem_logic.png new file mode 100644 index 0000000000000000000000000000000000000000..fadba956c5846bb6f42f85fdfc338fa95d88357b Binary files /dev/null and b/zvm_doc/figure/vmem_logic.png differ diff --git a/zvm_doc/figure/vmem_mapping.png b/zvm_doc/figure/vmem_mapping.png new file mode 100644 index 0000000000000000000000000000000000000000..544bf800152bcda5ea93df9cd781a570c7c58848 Binary files /dev/null and b/zvm_doc/figure/vmem_mapping.png differ diff --git a/zvm_doc/figure/vtimer_logic.png b/zvm_doc/figure/vtimer_logic.png new file mode 100644 index 0000000000000000000000000000000000000000..00c9551651ca16bf62a6cc57f33a3712352ac70f Binary files /dev/null and b/zvm_doc/figure/vtimer_logic.png differ diff --git a/zvm_doc/figure/vuart_passthrough.png b/zvm_doc/figure/vuart_passthrough.png new file mode 100644 index 0000000000000000000000000000000000000000..4d4a3fcf28fbb5b63be2af2633dc1ab6c355eee3 Binary files /dev/null and b/zvm_doc/figure/vuart_passthrough.png differ diff --git a/zvm_doc/figure/zvm_demo.png b/zvm_doc/figure/zvm_demo.png new file mode 100644 index 0000000000000000000000000000000000000000..8aa04fe12936b9175813bdb45f0c7383d32cdfa5 Binary files /dev/null and b/zvm_doc/figure/zvm_demo.png differ