Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
sip_svc_request Struct Reference

SiP Service communication protocol request format. More...

#include <sip_svc_proto.h>

Data Fields

uint32_t header
 
unsigned long a0
 
unsigned long a1
 
unsigned long a2
 
unsigned long a3
 
unsigned long a4
 
unsigned long a5
 
unsigned long a6
 
unsigned long a7
 
uint64_t resp_data_addr
 
uint32_t resp_data_size
 
void * priv_data
 

Detailed Description

SiP Service communication protocol request format.

request header

  • bits [15: 0] Arm SiP services command code
  • bits [23:16] Transaction ID (Filled in by sip_svc service)
  • bits [29:24] Unused. Reserved.
  • bits [31:30] Arm SiP services communication protocol version

a0 - a7

  • User input data to be filled into a0-a7 registers when trigger SMC/HVC

resp_data_addr

  • This parameter only used by asynchronous command.
  • Dynamic memory address for service to put the asynchronous response data. The service will free this memory space if the client has cancelled the transaction.

resp_data_size

  • This parameter only used by asynchronous command.
  • Maximum memory size in bytes of resp_data_addr

priv_data

  • Memory address to client context. Service will pass this address back to client in response format via callback.

Field Documentation

◆ a0

unsigned long sip_svc_request::a0

◆ a1

unsigned long sip_svc_request::a1

◆ a2

unsigned long sip_svc_request::a2

◆ a3

unsigned long sip_svc_request::a3

◆ a4

unsigned long sip_svc_request::a4

◆ a5

unsigned long sip_svc_request::a5

◆ a6

unsigned long sip_svc_request::a6

◆ a7

unsigned long sip_svc_request::a7

◆ header

uint32_t sip_svc_request::header

◆ priv_data

void* sip_svc_request::priv_data

◆ resp_data_addr

uint64_t sip_svc_request::resp_data_addr

◆ resp_data_size

uint32_t sip_svc_request::resp_data_size

The documentation for this struct was generated from the following file: