summaryrefslogtreecommitdiff
path: root/proc.h
diff options
context:
space:
mode:
authorrtm <rtm>2006-08-15 22:18:20 +0000
committerrtm <rtm>2006-08-15 22:18:20 +0000
commit350e63f7a9b1be695c0cf69e380bd96733524f25 (patch)
tree782259566c4596eef115590ff3e054fc7c5f3718 /proc.h
parent69332d1918fda38b25fc3ec8c786d16bb17e9e68 (diff)
downloadxv6-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.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/proc.h b/proc.h
index 88e630b..611f9b5 100644
--- a/proc.h
+++ b/proc.h
@@ -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;