550W Document
550W, a high-end OS
stack.c 文件参考
#include <asm/csr.h>
#include <asm/pgtable.h>
#include <asm/regs.h>
#include <asm/stack.h>
#include <lib/stdio.h>
#include <lib/string.h>
#include <os/mm.h>
#include <os/smp.h>
stack.c 的引用(Include)关系图:

函数

void user_ret_from_exception ()
 
void __global_pointer ()
 
ptr_t get_kernel_address (pid_t pid)
 
ptr_t get_user_address (pid_t pid)
 
void init_context_stack (ptr_t kernel_stack, ptr_t user_stack, int argc, char *argv[], ptr_t entry_point, pcb_t *pcb)
 
void fork_pcb_stack (ptr_t kernel_stack, ptr_t user_stack, pcb_t *pcb)
 
void clone_pcb_stack (ptr_t kernel_stack, ptr_t user_stack, pcb_t *pcb, unsigned long flags, void *tls)
 

变量

ptr_t address_base = 0xffffffc080504000lu
 

函数说明

◆ __global_pointer()

void __global_pointer ( )

◆ clone_pcb_stack()

void clone_pcb_stack ( ptr_t  kernel_stack,
ptr_t  user_stack,
pcb_t pcb,
unsigned long  flags,
void *  tls 
)

◆ fork_pcb_stack()

void fork_pcb_stack ( ptr_t  kernel_stack,
ptr_t  user_stack,
pcb_t pcb 
)

◆ get_kernel_address()

ptr_t get_kernel_address ( pid_t  pid)

◆ get_user_address()

ptr_t get_user_address ( pid_t  pid)

◆ init_context_stack()

void init_context_stack ( ptr_t  kernel_stack,
ptr_t  user_stack,
int  argc,
char *  argv[],
ptr_t  entry_point,
pcb_t pcb 
)

◆ user_ret_from_exception()

void user_ret_from_exception ( )

变量说明

◆ address_base

ptr_t address_base = 0xffffffc080504000lu