diff options
author | Frans Kaashoek <[email protected]> | 2017-08-07 14:35:05 -0400 |
---|---|---|
committer | Frans Kaashoek <[email protected]> | 2017-08-07 14:35:05 -0400 |
commit | 61cb32aa9bc457a6b39c5055cbf7fdd718dab7c2 (patch) | |
tree | 74f1a818d7722264d8a0fe825760d01ea7a83a9a /proc.h | |
parent | 5cbccef811ce0347370723c0b931e108c306279e (diff) | |
parent | c9fa90f7e514f27fa1ac071cd9795f3830ab6a1b (diff) | |
download | xv6-labs-61cb32aa9bc457a6b39c5055cbf7fdd718dab7c2.tar.gz xv6-labs-61cb32aa9bc457a6b39c5055cbf7fdd718dab7c2.tar.bz2 xv6-labs-61cb32aa9bc457a6b39c5055cbf7fdd718dab7c2.zip |
Merge branch 'nogs'
Diffstat (limited to 'proc.h')
-rw-r--r-- | proc.h | 16 |
1 files changed, 1 insertions, 15 deletions
@@ -7,26 +7,12 @@ struct cpu { volatile uint started; // Has the CPU started? int ncli; // Depth of pushcli nesting. int intena; // Were interrupts enabled before pushcli? - - // Cpu-local storage variables; see below - struct cpu *cpu; - struct proc *proc; // The currently-running process. + struct proc *proc; // The process running on this cpu or null }; extern struct cpu cpus[NCPU]; extern int ncpu; -// Per-CPU variables, holding pointers to the -// current cpu and to the current process. -// The asm suffix tells gcc to use "%gs:0" to refer to cpu -// and "%gs:4" to refer to proc. seginit sets up the -// %gs segment register so that %gs refers to the memory -// holding those two variables in the local cpu's struct cpu. -// This is similar to how thread-local variables are implemented -// in thread libraries such as Linux pthreads. -extern struct cpu *cpu asm("%gs:0"); // &cpus[cpunum()] -extern struct proc *proc asm("%gs:4"); // cpus[cpunum()].proc - //PAGEBREAK: 17 // Saved registers for kernel context switches. // Don't need to save all the segment registers (%cs, etc), |