Commit aa508623 authored by Yizhen Fan's avatar Yizhen Fan Committed by fanyizhen1995
Browse files

ub: ubcore add jetty, event and hash table definition



driver inclusion
category: feature
bugzilla: NA
CVE: NA

--------------------------------

Ubcore add jetty and hash table definition

**Introduce of Jetty:**

Jetty is a logical concept, an I/O unit that provides
end-to-end communication services. Jetty is classified into three types:
Jetty for Send, Jetty for Receive, and Jetty for Completion.
Each Jetty has a queue that maintains its sending and receiving requests.
1. JFS (Jetty for send): used to submit a DMA task
or send a message on the user side.
2. JFR (jetty for receive): used to prepare a resource for
receiving a message on the home side.
3. JFC (jetty for complete): stores JFS/JFR completion events.
It can be bound to JFS or JFR, or specified separately in specific
URMA commands.
4. jetty: Jetty is duplex and contains both jfs and jfr functions.
5. tjetty (target jetty): represent remote JFR/Jetty imported to local.
6. jetty id: represent a unique jetty in global, contructed by eid,
uasid and id itself.
A Jetty for Send (JFS) can implement the remote memory DMA service
on one side. JFS (source end) + JFR (destination end) can implement
bilateral message services.

**Event in ubcore:**

There are 2 types of event in ubcore:
- JFCE (jetty for completion event): JFS/JFR completion events.
The jfc_comp_callback interrupt processing function is used to set
the JFC completion type during kernel-mode driver loading.
This callback function searches for the kernel-mode JFC pointer based on
the jfc_id reported by the hardware, and invokes the comp_handler stored
in the JFC data structure.
- JFAE (jetty for async event): Kernel-Mode Exception Events. Once a Jetty
exception occurs, the chip reports a hardware interrupt to the UBN driver.
The UBN driver parses the interrupt information, finds the abnormal Jetty,
and invokes ubcore_event_callback to report the exception to the UB Core
protocol stack.

**Hashtable:**

Use hlist_head and hlist_node as the implementation of hash table,
which will be used to store info of jetty and tps in ubcore device.

Signed-off-by: default avatarGuoxin Qian <qianguoxin@huawei.com>
Signed-off-by: default avatarYizhen Fan <fanyizhen@huawei.com>
parent c75b0bcc
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment