!2307 Add UB driver,Initialize the UBCORE and UBURMA modules in the URMA...
!2307 Add UB driver,Initialize the UBCORE and UBURMA modules in the URMA subsystem, and add the data and API definition on which the hardware driver depends. Merge Pull Request from: @yizhen-fan **[Content]** 1. Add driver UB, add the corresponding Kconfig, and add the config configuration item /arch/arm64/configs/openeuler_defconfig. 2. Add UBCORE and UBURMA modules, which is the URMA subsystem driven by the UB. 3. Add the data and API definitions on which the UB hardware driver depends. **[Introduction]** **UB(Unified Bus)** :UB is a large-scale and high-performance interconnection bus based on memory semantics. It provides a unified interconnection interface and communication protocol for data center systems. **URMA (Unified Remote Memory Acces)Subsystem** :provides high-bandwidth and low-latency data services in the UB system. It is mainly used to provide basic functions of message communication and data forwarding for various services in the data center, and advanced functions such as semantic orchestration, reducing end-to-end communication latency. The URMA subsystem is located above the hardware system and below the APP application. It can invoke interfaces with the management plane subsystem, programmable subsystem, and device driver subsystem. The URMA subsystem (kernel mode) provides configuration and security isolation capabilities for the data plane. Applications can apply for UMDK system resources and hardware resources through the kernel subsystem, and establish a mapping table between local addresses and remote addresses and a secure access table. The main modules are as follows: - URMA kernel module: provides core configuration capabilities of the data plane, including UBVA address management and Jetty resource management. This module implements the data plane access interface based on the kernel. - Transport module: provides the link establishment service between physical entities in the UBN/UBC scenario. The vTP between function entities shields the differences between different scenarios and virtualization. - Exception management: monitors remote memory and communication exceptions, reports exceptions to the RAS module and application exception handling mechanism of the operating system, and provides exception tracing and handling. - Hardware abstraction layer: encapsulates specific local devices into standard UBN devices and loads the standard UBN devices to the data plane kernel subsystem. In addition, the device driver interface is invoked to deliver the configuration information maintained by the data plane kernel to the specific device driver. - Performance monitoring module: provides DFX interfaces on the data plane for the system, especially performance monitoring and debugging capabilities. - Virtualization service: In virtualization scenarios, besides interconnecting with the QEMU to implement device virtualization, address space and service port virtualization and address translation must be considered. **UBCORE module: ** ubcore provides kernel-mode programming interfaces to implement the kernel-mode protocol framework and invokes kernel-mode driver interfaces to implement functions such as device management, context management, Jetty management, and segment management. The UbCore, UVS, and kernel-mode driver work together to implement link establishment negotiation. **UBURMA module: * * Manages resources such as Jetty and segment created by application processes and implements the liburma cmd interface. It is a special client module of ubcore. [Other Need to Know] The current pr contains the initialization of the module and the definitions required by all hardware drivers. The next pr is the function implementation code that contains all ubcore and uburma, and the implementation contains 88 commits. Link:https://gitee.com/openeuler/kernel/pulls/2307 Reviewed-by:Lijun Li <jerry.lilijun@huawei.com> Reviewed-by:
Weilong Chen <chenweilong@huawei.com> Reviewed-by:
Liu Chao <liuchao173@huawei.com> Signed-off-by:
Lijun Li <jerry.lilijun@huawei.com>
Loading
Please sign in to comment