librtas_src/syscall_calls.c File Reference

#include <stdarg.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <linux/unistd.h>
#include "common.h"
#include "syscall.h"
#include "librtas.h"

Defines

#define CALL_AGAIN   1
#define CFG_RC_DONE   0
#define CFG_RC_MEM   5
#define ERRINJCT_BUF_SIZE   1024

Functions

int sc_activate_firmware (int token)
 Set up the activate-firmware rtas system call.
int sc_cfg_connector (int token, char *workarea)
 Set up the cfg-connector rtas system call.
int sc_delay_timeout (uint64_t timeout_ms)
 set the configured timeout value
int sc_display_char (int token, char c)
 Set up display-char rtas system call.
int sc_display_msg (int token, char *buf)
 Set up the display-message rtas system call.
int sc_errinjct (int token, int etoken, int otoken, char *workarea)
 Set up the errinjct rtas system call.
int sc_errinjct_close (int token, int otoken)
 Set up the errinjct close rtas system call.
int sc_errinjct_open (int token, int *otoken)
 Set up the errinjct open rtas system call.
int sc_get_dynamic_sensor (int token, int sensor, void *loc_code, int *state)
 Set up the get-dynamic-sensor rtas system call.
int sc_get_indices (int token, int is_sensor, int type, char *workarea, size_t size, int start, int *next)
 Set up the get-indices rtas system call.
int sc_get_power_level (int token, int powerdomain, int *level)
 Set up the get-power-level rtas system call.
int sc_get_sensor (int token, int sensor, int index, int *state)
 Set up the get-sensor rtas system call.
int sc_get_sysparm (int token, unsigned int parameter, unsigned int length, char *data)
 Setup the get-system-parameter rtas system call.
int sc_get_time (int token, uint32_t *year, uint32_t *month, uint32_t *day, uint32_t *hour, uint32_t *min, uint32_t *sec, uint32_t *nsec)
 Set up the get-time rtas system call.
int sc_get_vpd (int token, char *loc_code, char *workarea, size_t size, unsigned int sequence, unsigned int *seq_next, unsigned int *bytes_ret)
int sc_lpar_perftools (int token, int subfunc, char *workarea, unsigned int length, unsigned int sequence, unsigned int *seq_next)
int sc_platform_dump (int token, uint64_t dump_tag, uint64_t sequence, void *buffer, size_t length, uint64_t *next_seq, uint64_t *bytes_ret)
int sc_read_slot_reset (int token, uint32_t cfg_addr, uint64_t phbid, int *state, int *eeh)
 Set up the read-slot-reset-state rtas system call.
int sc_scan_log_dump (int token, void *buffer, size_t length)
int sc_set_dynamic_indicator (int token, int indicator, int new_value, void *loc_code)
int sc_set_eeh_option (int token, uint32_t cfg_addr, uint64_t phbid, int function)
int sc_set_indicator (int token, int indicator, int index, int new_value)
int sc_set_power_level (int token, int powerdomain, int level, int *setlevel)
int sc_set_poweron_time (int token, uint32_t year, uint32_t month, uint32_t day, uint32_t hour, uint32_t min, uint32_t sec, uint32_t nsec)
int sc_set_sysparm (int token, unsigned int parameter, char *data)
int sc_set_time (int token, uint32_t year, uint32_t month, uint32_t day, uint32_t hour, uint32_t min, uint32_t sec, uint32_t nsec)
static unsigned int handle_delay (int status, uint64_t *elapsed)
 sleep for the specified delay time
static void display_rtas_buf (struct rtas_args *args, int after)
 Dump the contents of the rtas call buffer.
static int sc_rtas_call (int token, int ninputs, int nret,...)
 Perform the actual system call for the rtas call.

Variables

struct rtas_operations syscall_rtas_ops

Detailed Description

Provide user space rtas functions that go through the RTAS system call.

Copyright (C) 2005 IBM Corporation Common Public License Version 1.0 (see COPYRIGHT)

Author:
John Rose <johnrose@us.ibm.com>

Define Documentation

#define CALL_AGAIN   1

#define CFG_RC_DONE   0

#define CFG_RC_MEM   5

#define ERRINJCT_BUF_SIZE   1024


Function Documentation

static void display_rtas_buf ( struct rtas_args args,
int  after 
) [static]

display_rtas_buf

Parameters:
args 
after 

static unsigned int handle_delay ( int  status,
uint64_t *  elapsed 
) [static]

handle_delay

Parameters:
status 
elapsed 
Returns:
0 if the status isn't delay-related CALL_AGAIN if the status is delay related RTAS_TIMEOUT if the requested timeout has been exceeded

int sc_activate_firmware ( int  token  ) 

sc_activate_firmware

Parameters:
token 
Returns:
0 on success, !0 otherwise

int sc_cfg_connector ( int  token,
char *  workarea 
)

sc_cfg_connector

Parameters:
token 
workarea 
Returns:
0 on success, !0 otherwise

int sc_delay_timeout ( uint64_t  timeout_ms  ) 

sc_delay_timeout

Parameters:
timeout_ms new timeout in milliseconds
Returns:
0 on success, !0 otherwise

int sc_display_char ( int  token,
char  c 
)

sc_display_char

Parameters:
token 
c character to display
Returns:
0 on success, !0 otherwise

int sc_display_msg ( int  token,
char *  buf 
)

sc_display_msg

Parameters:
token 
buf message to display
Returns:
0 on success, !0 otherwise

int sc_errinjct ( int  token,
int  etoken,
int  otoken,
char *  workarea 
)

sc_errinjct

Parameters:
token 
etoken error injection token
otoken error injection open token
workarea additional args to rtas call
Returns:
0 on success, !0 otherwise

int sc_errinjct_close ( int  token,
int  otoken 
)

sc_errinjct_close

Parameters:
token 
otoken errinjct open token
Returns:
0 on success, !0 otherwise

int sc_errinjct_open ( int  token,
int *  otoken 
)

sc_errinjct_open

Parameters:
token 
otoken 
Returns:
0 on success, !0 otherwise

int sc_get_dynamic_sensor ( int  token,
int  sensor,
void *  loc_code,
int *  state 
)

sc_get_dynamic_sensor

Parameters:
token 
sensor 
loc_code 
state 
Returns:
0 on success, !0 otherwise

int sc_get_indices ( int  token,
int  is_sensor,
int  type,
char *  workarea,
size_t  size,
int  start,
int *  next 
)

sc_get_indices

Parameters:
token 
is_sensor 
type 
workarea 
size 
start 
next 
Returns:
0 on success, !0 otherwise

int sc_get_power_level ( int  token,
int  powerdomain,
int *  level 
)

sc_get_power_level

Parameters:
token 
powerdomain 
level 
Returns:
0 on success, !0 otherwise

int sc_get_sensor ( int  token,
int  sensor,
int  index,
int *  state 
)

sc_get_sensor

Parameters:
token 
sensor 
index 
state 
Returns:
0 on success, !0 otherwise

int sc_get_sysparm ( int  token,
unsigned int  parameter,
unsigned int  length,
char *  data 
)

sc_get_sysparm

Parameters:
token 
parameter 
length 
data 
Returns:
0 on success, !0 otherwise

int sc_get_time ( int  token,
uint32_t *  year,
uint32_t *  month,
uint32_t *  day,
uint32_t *  hour,
uint32_t *  min,
uint32_t *  sec,
uint32_t *  nsec 
)

sc_get_time

Parameters:
token 
year 
month 
day 
hour 
min 
sec 
nsec 
Returns:
0 on success, !0 otherwise

int sc_get_vpd ( int  token,
char *  loc_code,
char *  workarea,
size_t  size,
unsigned int  sequence,
unsigned int *  seq_next,
unsigned int *  bytes_ret 
)

sc_get_vpd

Parameters:
token 
loc_code 
workarea 
size 
sequence 
seq_next 
bytes_ret 
Returns:
0 on success, !0 otherwise

int sc_lpar_perftools ( int  token,
int  subfunc,
char *  workarea,
unsigned int  length,
unsigned int  sequence,
unsigned int *  seq_next 
)

sc_lpar_perftools

Parameters:
token 
subfunc 
workarea 
length 
sequence 
seq_next 
Returns:
0 on success, !0 otherwise

int sc_platform_dump ( int  token,
uint64_t  dump_tag,
uint64_t  sequence,
void *  buffer,
size_t  length,
uint64_t *  seq_next,
uint64_t *  bytes_ret 
)

sc_platform_dump

Parameters:
token 
dump_tag 
sequence 
buffer 
length 
seq_next 
bytes_ret 
Returns:
0 on success, !0 otherwise

int sc_read_slot_reset ( int  token,
uint32_t  cfg_addr,
uint64_t  phbid,
int *  state,
int *  eeh 
)

sc_read_slot_reset

Parameters:
token 
cfg_addr configuration address of slot to read
phbid PHB ID of slot to read
state 
eeh 
Returns:
0 on success, !0 otherwise

static int sc_rtas_call ( int  token,
int  ninputs,
int  nret,
  ... 
) [static]

sc_rtas_call

Variable argument list consists of inputs followed by pointers to outputs.

Parameters:
token 
ninputs number of inputs
nret number of return variables
Returns:
0 on success, !0 otherwise

int sc_scan_log_dump ( int  token,
void *  buffer,
size_t  length 
)

sc_scan_log_dump

Parameters:
token 
buffer 
length 
Returns:
0 on success, !0 otherwise

int sc_set_dynamic_indicator ( int  token,
int  indicator,
int  new_value,
void *  loc_code 
)

sc_set_dynamic_indicator

Parameters:
token 
indicator 
new_value 
loc_code 
Returns:
0 on success, !0 otherwise

int sc_set_eeh_option ( int  token,
uint32_t  cfg_addr,
uint64_t  phbid,
int  function 
)

sc_set_eeh_option

Parameters:
token 
cfg_addr 
phbid 
function 
Returns:
0 on success, !0 otherwise

int sc_set_indicator ( int  token,
int  indicator,
int  index,
int  new_value 
)

sc_set_indicator

Parameters:
token 
indicator 
index 
new_value 
Returns:
0 on success, !0 otherwise

int sc_set_power_level ( int  token,
int  powerdomain,
int  level,
int *  setlevel 
)

sc_set_power_level

Parameters:
token 
powerdomain 
level 
setlevel 
Returns:
0 on success, !0 otherwise

int sc_set_poweron_time ( int  token,
uint32_t  year,
uint32_t  month,
uint32_t  day,
uint32_t  hour,
uint32_t  min,
uint32_t  sec,
uint32_t  nsec 
)

sc_set_poweron_time

Parameters:
token 
year 
month 
day 
hour 
min 
sec 
nsec 
Returns:
0 on success, !0 otherwise

int sc_set_sysparm ( int  token,
unsigned int  parameter,
char *  data 
)

sc_set_sysparm

Parameters:
token 
parameter 
data 
Returns:
0 on success, !0 otherwise

int sc_set_time ( int  token,
uint32_t  year,
uint32_t  month,
uint32_t  day,
uint32_t  hour,
uint32_t  min,
uint32_t  sec,
uint32_t  nsec 
)

sc_set_time

Parameters:
token 
year 
month 
day 
hour 
min 
sec 
nsec 
Returns:
0 on success, !0 otherwise


Variable Documentation

struct rtas_operations syscall_rtas_ops


Generated on Sat Sep 22 08:52:51 2007 for librtas by  doxygen 1.5.3