diff options
| author | Robert Morris <rtm@csail.mit.edu> | 2016-08-10 10:51:14 -0400 | 
|---|---|---|
| committer | Robert Morris <rtm@csail.mit.edu> | 2016-08-10 10:51:14 -0400 | 
| commit | 858475e4dfabb61dc72ab5b4f105e2a0a636e7e8 (patch) | |
| tree | 16f960cc7005744d73e50bb55d2eecb8f080dafa | |
| parent | 0a4a4230a32696ef7f1f6272ca24520826195b7f (diff) | |
| download | xv6-labs-858475e4dfabb61dc72ab5b4f105e2a0a636e7e8.tar.gz xv6-labs-858475e4dfabb61dc72ab5b4f105e2a0a636e7e8.tar.bz2 xv6-labs-858475e4dfabb61dc72ab5b4f105e2a0a636e7e8.zip | |
tiny clarifications to some gdt code.
| -rw-r--r-- | mmu.h | 4 | ||||
| -rw-r--r-- | proc.h | 3 | ||||
| -rw-r--r-- | vm.c | 3 | 
3 files changed, 5 insertions, 5 deletions
| @@ -39,6 +39,7 @@  #define CR4_PSE         0x00000010      // Page size extension +// various segment selectors.  #define SEG_KCODE 1  // kernel code  #define SEG_KDATA 2  // kernel data+stack  #define SEG_KCPU  3  // kernel per-cpu data @@ -46,6 +47,9 @@  #define SEG_UDATA 5  // user data+stack  #define SEG_TSS   6  // this process's task state +// cpu->gdt[NSEGS] holds the above segments. +#define NSEGS     7 +  //PAGEBREAK!  #ifndef __ASSEMBLER__  // Segment Descriptor @@ -1,6 +1,3 @@ -// Segments in proc->gdt. -#define NSEGS     7 -  // Per-CPU state  struct cpu {    uchar id;                    // Local APIC ID; index into cpus[] below @@ -9,7 +9,6 @@  extern char data[];  // defined by kernel.ld  pde_t *kpgdir;  // for use in scheduler() -struct segdesc gdt[NSEGS];  // Set up CPU's kernel segment descriptors.  // Run once on entry on each CPU. @@ -28,7 +27,7 @@ seginit(void)    c->gdt[SEG_UCODE] = SEG(STA_X|STA_R, 0, 0xffffffff, DPL_USER);    c->gdt[SEG_UDATA] = SEG(STA_W, 0, 0xffffffff, DPL_USER); -  // Map cpu, and curproc +  // Map cpu and curproc -- these are private per cpu.    c->gdt[SEG_KCPU] = SEG(STA_W, &c->cpu, 8, 0);    lgdt(c->gdt, sizeof(c->gdt)); | 
