exec.c
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 41 行
C
41 行
#include "u.h"#include "mem.h"#include "dat.h"#include "fns.h"#include "lib.h"uchar pcbpage[64*1024+sizeof(PCB)];PCB *pcb;void (*kentry)(Bootconf*);voidgokernel(void){ (*kentry)(&conf);}voidkexec(ulong entry){ uvlong pcbb, paltype; pcb = (PCB*)(((ulong)pcbpage+0xffff) & ~0xffff); /* page align, even on 64K page Alphas */ memset(pcb, 0, sizeof(PCB)); pcb->ksp = (uvlong)&entry; pcb->ptbr = getptbr(); pcb->fen = 1; conf.pcb = pcb; pcbb = paddr((uvlong)pcb); kentry = (void(*)(Bootconf*))entry; paltype = 2; /* OSF/1 please */ switch (swppal(paltype, (uvlong)gokernel, pcbb, hwrpb->vptb, pcb->ksp)) { case 1: panic("unknown PALcode variant"); case 2: panic("PALcode variant not loaded"); default: panic("weird return status from swppal"); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?