Functions
Functions
SYSTEM » FPB
Collaboration diagram for Functions:

## Functions
void | fpb_enable (uint8_t index_start, uint8_t index_end)
| Enabling patch function. More...
int | fun_replace_by_svc (uint32_t ori_func, uint32_t rep_func, uint8_t patch_table_num)
| Replace old and new functions. More...
uint32_t | SVC_handler_proc (uint32_t *svc_args)
| SVC handler process function. More...
void | fpb_register_patch_init_func (fun_t patch_enable_func)
| Register FPB patch enable function. More...
void | fpb_init (fpb_mode_t fpb_mode)
| FPB init function. More...
void | svc_func_register (uint8_t svc_num, uint32_t func)
| svc sub-function register More...
void | svc_table_register (uint32_t *p_svc_table)
| register sve table function More...
void | fpb_register_user_space (uint32_t *user_fpb_space)
| register fpb space from user layer More...
fpb_state_t | fpb_save_state (void)
| save the FPB state More...
void | fpb_load_state (fpb_state_t state)
| load the FPB state More...

## Detailed Description

## Function Documentation

## ◆ fpb_enable()

void fpb_enable | ( | uint8_t | index_start,
|  | uint8_t | index_end
| ) |  |

Enabling patch function.

Parameters

  [in] | index_start | : Start Index Number
  [in] | index_end | : End Index Number

## ◆ fpb_init()

void fpb_init | ( | fpb_mode_t | fpb_mode | ) |

FPB init function.

Parameters

  [in] | fpb_mode | : the mode of FPB

## ◆ fpb_load_state()

void fpb_load_state | ( | fpb_state_t | state | ) |

load the FPB state

Parameters

  [in] | state | : the FPB state that needs to be loaded

## ◆ fpb_register_patch_init_func()

void fpb_register_patch_init_func | ( | fun_t | patch_enable_func | ) |

Register FPB patch enable function.

Parameters

  [in] | patch_enable_func | : pointer of function

## ◆ fpb_register_user_space()

void fpb_register_user_space | ( | uint32_t * | user_fpb_space | ) |

register fpb space from user layer

Parameters

  [in] | user_fpb_space | : the pointer of fpb user space

## ◆ fpb_save_state()

fpb_state_t fpb_save_state | ( | void |  | ) |

save the FPB state

Returns
  FPB state fpb_state_t

## ◆ fun_replace_by_svc()

int fun_replace_by_svc | ( | uint32_t | ori_func,
|  | uint32_t | rep_func,
|  | uint8_t | patch_table_num
| ) |  |

Replace old and new functions.

Parameters

  [in] | ori_func | : primitive function address
  [in] | rep_func | : replacement function address
  [in] | patch_table_num | : group number

Returns
  -1: Error Otherwise: Patch table number

## ◆ svc_func_register()

void svc_func_register | ( | uint8_t | svc_num,
|  | uint32_t | func
| ) |  |

svc sub-function register

Parameters

  [in] | svc_num | : the number of svc
  [in] | func | : sub-function callback

## ◆ SVC_handler_proc()

uint32_t SVC_handler_proc | ( | uint32_t * | svc_args | ) |

SVC handler process function.

Returns
  0: Function not found in SVc table, Otherwise: Function address for hardware patching

## ◆ svc_table_register()

void svc_table_register | ( | uint32_t * | p_svc_table | ) |

register sve table function

Parameters

  [in] | p_svc_table | : the pointer of sve table