coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
rmodule.h File Reference
#include <stdint.h>
#include <stddef.h>
#include <string.h>
#include <commonlib/rmodule-defs.h>
Include dependency graph for rmodule.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rmod_stage_load
 
struct  rmodule
 

Macros

#define RMODULE_ENTRY(entry_)
 

Enumerations

enum  { RMODULE_TYPE_SMM , RMODULE_TYPE_SIPI_VECTOR , RMODULE_TYPE_STAGE , RMODULE_TYPE_VBOOT }
 

Functions

int rmodule_parse (void *ptr, struct rmodule *m)
 
voidrmodule_parameters (const struct rmodule *m)
 
voidrmodule_entry (const struct rmodule *m)
 
int rmodule_entry_offset (const struct rmodule *m)
 
int rmodule_memory_size (const struct rmodule *m)
 
int rmodule_load (void *loc, struct rmodule *m)
 
int rmodule_load_alignment (const struct rmodule *m)
 
int rmodule_calc_region (unsigned int region_alignment, size_t rmodule_size, size_t *region_size, int *load_offset)
 
int rmodule_stage_load (struct rmod_stage_load *rsl)
 

Macro Definition Documentation

◆ RMODULE_ENTRY

#define RMODULE_ENTRY (   entry_)

Definition at line 64 of file rmodule.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
RMODULE_TYPE_SMM 
RMODULE_TYPE_SIPI_VECTOR 
RMODULE_TYPE_STAGE 
RMODULE_TYPE_VBOOT 

Definition at line 10 of file rmodule.h.

Function Documentation

◆ rmodule_calc_region()

int rmodule_calc_region ( unsigned int  region_alignment,
size_t  rmodule_size,
size_t region_size,
int *  load_offset 
)

◆ rmodule_entry()

void* rmodule_entry ( const struct rmodule m)

Definition at line 86 of file rmodule.c.

References rmodule::header, rmodule_header::module_entry_point, NULL, rmodule_is_loaded(), and rmodule_load_addr().

Referenced by rmodule_copy_payload(), rmodule_stage_load(), smm_load_module(), and smm_load_module_aseg().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rmodule_entry_offset()

int rmodule_entry_offset ( const struct rmodule m)

Definition at line 80 of file rmodule.c.

References rmodule::header, rmodule_header::module_entry_point, and rmodule_header::module_link_start_address.

Referenced by load_sipi_vector(), and smm_stub_place_staggered_entry_points().

Here is the caller graph for this function:

◆ rmodule_load()

int rmodule_load ( void loc,
struct rmodule m 
)

Definition at line 171 of file rmodule.c.

References base, rmodule::location, prog_segment_loaded(), rmodule_clear_bss(), rmodule_copy_payload(), rmodule_memory_size(), rmodule_relocate(), and SEG_FINAL.

Referenced by load_sipi_vector(), rmodule_stage_load(), smm_load_module(), smm_load_module_aseg(), and smm_module_setup_stub().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rmodule_load_alignment()

int rmodule_load_alignment ( const struct rmodule m)

Definition at line 162 of file rmodule.c.

Referenced by load_sipi_vector(), smm_load_module(), and smm_load_module_aseg().

Here is the caller graph for this function:

◆ rmodule_memory_size()

int rmodule_memory_size ( const struct rmodule m)

◆ rmodule_parameters()

void* rmodule_parameters ( const struct rmodule m)

Definition at line 68 of file rmodule.c.

References rmodule::header, NULL, rmodule_header::parameters_begin, rmodule_header::parameters_end, rmodule_is_loaded(), and rmodule_load_addr().

Referenced by load_sipi_vector(), rmodule_stage_load(), smm_load_module(), smm_load_module_aseg(), and smm_module_setup_stub().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rmodule_parse()

◆ rmodule_stage_load()