PDK API Guide for J721E
IPC Driver VirtIO configuration

Introduction

This is documentation for VirtIO configurations used by IPC

Files

file  ipc_virtio.h
 VirtIO Interface for application.
 

Data Structures

struct  Ipc_VirtIoParams
 Parameter structure for creating VirtIO table for each core combinations. More...
 

Functions

uint32_t Ipc_getVqObjMemoryRequired (void)
 Returns local memory for Virtio objects for all cores of SOC. More...
 
uint32_t Ipc_getVqObjMemoryRequiredPerCore (void)
 Returns local memory for Virtio objects for one core-pair. More...
 
int32_t Ipc_initVirtIO (Ipc_VirtIoParams *vqParam)
 Initailize the Virtio module. More...
 
int32_t Ipc_loadResourceTable (void *rsctable)
 Loads the resource table. If the remote core A72, and has valid radource table then, it will wait for Linux to be ready use address from resource table. More...
 
void * Ipc_getResourceTraceBufPtr (void)
 Gets the address of the trace buffer. More...
 
uint8_t Ipc_isRemoteReady (uint16_t procId)
 Checks if remote is ready. More...
 
int32_t Ipc_lateVirtioCreate (uint16_t procId)
 Creates Virtio late when Linux is ready. More...
 
uint8_t Ipc_isRemoteVirtioCreated (uint32_t remoteId)
 Check if a remote Virtio has been created. More...
 

Function Documentation

◆ Ipc_getVqObjMemoryRequired()

uint32_t Ipc_getVqObjMemoryRequired ( void  )

Returns local memory for Virtio objects for all cores of SOC.

◆ Ipc_getVqObjMemoryRequiredPerCore()

uint32_t Ipc_getVqObjMemoryRequiredPerCore ( void  )

Returns local memory for Virtio objects for one core-pair.

◆ Ipc_initVirtIO()

int32_t Ipc_initVirtIO ( Ipc_VirtIoParams vqParam)

Initailize the Virtio module.

Returns
IPC_SOK or IPC_EFAIL

◆ Ipc_loadResourceTable()

int32_t Ipc_loadResourceTable ( void *  rsctable)

Loads the resource table. If the remote core A72, and has valid radource table then, it will wait for Linux to be ready use address from resource table.

Parameters
rsctable[IN] Pointer of resource table
Returns
IPC_SOK or IPC_EFAIL

◆ Ipc_getResourceTraceBufPtr()

void* Ipc_getResourceTraceBufPtr ( void  )

Gets the address of the trace buffer.

Returns
Address of the trace buffer.

◆ Ipc_isRemoteReady()

uint8_t Ipc_isRemoteReady ( uint16_t  procId)

Checks if remote is ready.

Parameters
procId[IN] Id of remote core
Returns
1 if remote proc is is not A72 or resource table is null or linux vdev status is 0x7 0 if linux vdev status is not 0x7

◆ Ipc_lateVirtioCreate()

int32_t Ipc_lateVirtioCreate ( uint16_t  procId)

Creates Virtio late when Linux is ready.

Parameters
procId[IN] Id of remote processor
Returns
IPC_SOK or IPC_EFAIL

◆ Ipc_isRemoteVirtioCreated()

uint8_t Ipc_isRemoteVirtioCreated ( uint32_t  remoteId)

Check if a remote Virtio has been created.

Parameters
remoteId[IN] Id of remote processor
Returns
1 if virtio exists for the given remote proc 0 if virtio does not exist for the given remote proc