Pip
Architecture-dependent parts of Pip: MAL, IAL and boot
Macros | Functions | Variables
malinit.c File Reference
#include <stdint.h>
#include "string.h"
#include "mmu.h"
#include "memlayout.h"
#include "context.h"
#include "debug.h"
#include "fpinfo.h"
#include "mal.h"
#include "elf.h"

Macros

#define MIN(a, b)   ((a)<(b)?(a):(b))
 

Functions

static void * mal_alloc_user (void)
 
static unsigned * mal_create_root_part (void)
 
void mal_map_kernel (unsigned int *part)
 
static void mal_prepare_map (unsigned *part, unsigned *va)
 
static void mal_map_in_part (unsigned *part, void *pa, unsigned *va, uint8_t user)
 
static void mal_load_seg (unsigned *part, Elf32_Phdr *phdr, unsigned paddr)
 
static void * mal_load_elf (unsigned *part, void *start, void *end)
 
void mal_init_root_part (unsigned int *part)
 
void mal_init (void)
 

Variables

uint32_t nbPage = 0
 
static void * user_alloc_pos = user_mem_start
 

Macro Definition Documentation

◆ MIN

#define MIN (   a,
 
)    ((a)<(b)?(a):(b))

Function Documentation

◆ mal_alloc_user()

static void* mal_alloc_user ( void  )
static

◆ mal_create_root_part()

static unsigned* mal_create_root_part ( void  )
static

◆ mal_init()

void mal_init ( void  )

◆ mal_init_root_part()

void mal_init_root_part ( unsigned int *  part)

◆ mal_load_elf()

static void* mal_load_elf ( unsigned *  part,
void *  start,
void *  end 
)
static

◆ mal_load_seg()

static void mal_load_seg ( unsigned *  part,
Elf32_Phdr *  phdr,
unsigned  paddr 
)
static

◆ mal_map_in_part()

static void mal_map_in_part ( unsigned *  part,
void *  pa,
unsigned *  va,
uint8_t  user 
)
static

◆ mal_map_kernel()

void mal_map_kernel ( unsigned int *  part)

◆ mal_prepare_map()

static void mal_prepare_map ( unsigned *  part,
unsigned *  va 
)
static

Variable Documentation

◆ nbPage

uint32_t nbPage = 0

◆ user_alloc_pos

void* user_alloc_pos = user_mem_start
static