diff options
author | rtm <rtm> | 2006-08-15 22:18:20 +0000 |
---|---|---|
committer | rtm <rtm> | 2006-08-15 22:18:20 +0000 |
commit | 350e63f7a9b1be695c0cf69e380bd96733524f25 (patch) | |
tree | 782259566c4596eef115590ff3e054fc7c5f3718 /proc.h | |
parent | 69332d1918fda38b25fc3ec8c786d16bb17e9e68 (diff) | |
download | xv6-labs-350e63f7a9b1be695c0cf69e380bd96733524f25.tar.gz xv6-labs-350e63f7a9b1be695c0cf69e380bd96733524f25.tar.bz2 xv6-labs-350e63f7a9b1be695c0cf69e380bd96733524f25.zip |
no more proc[] entry per cpu for idle loop
each cpu[] has its own gdt and tss
no per-proc gdt or tss, re-write cpu's in scheduler (you win, cliff)
main0() switches to cpu[0].mpstack
Diffstat (limited to 'proc.h')
-rw-r--r-- | proc.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -48,8 +48,6 @@ struct proc{ struct fd *fds[NOFILE]; struct inode *cwd; - struct taskstate ts; // only to give cpu address of kernel stack - struct segdesc gdt[NSEGS]; uint esp; // kernel stack pointer uint ebp; // kernel frame pointer @@ -67,6 +65,8 @@ extern struct proc *curproc[NCPU]; // can be NULL if no proc running. struct cpu { uchar apicid; // Local APIC ID struct jmpbuf jmpbuf; + struct taskstate ts; // only to give cpu address of kernel stack + struct segdesc gdt[NSEGS]; int guard1; char mpstack[MPSTACK]; // per-cpu start-up stack int guard2; |