提交 a9766c8f 创建 作者: Silas Boyd-Wickizer's avatar Silas Boyd-Wickizer

Peel initseg off of inittrap.

上级 0b9afb2a
......@@ -67,7 +67,7 @@ xv6memfs.img: bootblock kernelmemfs
clean:
rm -f *.o *.d *.asm *.sym initcode kernel bootother
QEMUOPTS = -smp $(CPUS) -m 512
QEMUOPTS = -smp $(CPUS) -m 512 -nographic
qemu: kernel
$(QEMU) $(QEMUOPTS) -kernel kernel #-S -s
......
......@@ -12,6 +12,7 @@ extern void initmp(void);
extern void initlapic(void);
extern void inittls(void);
extern void inittrap(void);
extern void initseg(void);
extern void initkalloc(void);
extern void initrcu(void);
extern void initproc(void);
......@@ -20,7 +21,6 @@ extern void inituser(void);
static volatile int bstate;
#if 1
// Common CPU setup code.
// Bootstrap CPU comes here from mainc().
// Other CPUs jump here from bootother.S.
......@@ -28,9 +28,9 @@ void
mpboot(void)
{
// XXX(sbw) load VA for gdt, etc
initseg();
panic("mpboot");
}
#endif
// Start the non-boot processors.
static void
......@@ -74,6 +74,7 @@ cmain(void)
initcga();
initconsole();
inittrap();
initseg();
initpg();
initmp();
initlapic();
......
......@@ -33,7 +33,6 @@ trap(struct trapframe *tf)
void
inittrap(void)
{
volatile struct desctr dtr;
uint64 entry;
uint32 bits;
int i;
......@@ -43,6 +42,12 @@ inittrap(void)
entry = trapentry[i];
idt[i] = INTDESC(KCSEG, entry, bits);
}
}
void
initseg(void)
{
volatile struct desctr dtr;
dtr.limit = sizeof(idt) - 1;
dtr.base = (u64)idt;
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论