some comment changes

This commit is contained in:
kaashoek 2006-09-08 14:36:44 +00:00
parent 50f8850366
commit 8e1d1ec934
7 changed files with 15 additions and 16 deletions

View file

@ -5,7 +5,7 @@
.set CR0_PE_ON,0x1 # protected mode enable flag .set CR0_PE_ON,0x1 # protected mode enable flag
######################################################################### #########################################################################
# ENTRY POINT # ENTRY POINT for the bootstrap processor
# This code should be stored in the first sector of the hard disk. # This code should be stored in the first sector of the hard disk.
# After the BIOS initializes the hardware on startup or system reset, # After the BIOS initializes the hardware on startup or system reset,
# it loads this code at physical address 0x7c00 - 0x7d00 (512 bytes). # it loads this code at physical address 0x7c00 - 0x7d00 (512 bytes).

4
buf.h
View file

@ -6,5 +6,5 @@ struct buf {
struct buf *next; struct buf *next;
uchar data[512]; uchar data[512];
}; };
#define B_BUSY 0x1 #define B_BUSY 0x1 // buffer is locked by some process
#define B_VALID 0x2 #define B_VALID 0x2 // buffer contains the data of the sector

2
fs.c
View file

@ -160,7 +160,7 @@ iget(uint dev, uint inum)
return nip; return nip;
} }
// Copy ip->d, which has changed, to disk. // Copy inode in memory, which has changed, to disk.
// Caller must have locked ip. // Caller must have locked ip.
void void
iupdate(struct inode *ip) iupdate(struct inode *ip)

4
init.c
View file

@ -17,8 +17,8 @@ main(void)
mknod("console", T_DEV, 1, 1); mknod("console", T_DEV, 1, 1);
open("console", O_RDWR); open("console", O_RDWR);
} }
dup(0); dup(0); // stdout
dup(0); dup(0); // stderr
for(;;){ for(;;){
pid = fork(); pid = fork();

View file

@ -35,7 +35,7 @@ kinit(void)
initlock(&kalloc_lock, "kalloc"); initlock(&kalloc_lock, "kalloc");
start = (char*) &end; start = (char*) &end;
start = (char*) (((uint)start + PAGE) & ~(PAGE-1)); start = (char*) (((uint)start + PAGE) & ~(PAGE-1));
mem = 256; // assume 256 pages of RAM mem = 256; // assume computer has 256 pages of RAM
cprintf("mem = %d\n", mem * PAGE); cprintf("mem = %d\n", mem * PAGE);
kfree(start, mem * PAGE); kfree(start, mem * PAGE);
} }

4
main.c
View file

@ -15,7 +15,7 @@ extern uchar _binary__init_start[], _binary__init_size[];
void process0(); void process0();
// CPU 0 starts running C code here. // Bootstrap processor starts running C code here.
// This is called main0 not main so that it can have // This is called main0 not main so that it can have
// a void return type. Gcc can't handle functions named // a void return type. Gcc can't handle functions named
// main that don't return int. Really. // main that don't return int. Really.
@ -28,7 +28,7 @@ main0(void)
// clear BSS // clear BSS
memset(edata, 0, end - edata); memset(edata, 0, end - edata);
// switch to cpu0's cpu stack // switch to bootstrap processor's stack
asm volatile("movl %0, %%esp" : : "r" (cpus[0].mpstack + MPSTACK - 32)); asm volatile("movl %0, %%esp" : : "r" (cpus[0].mpstack + MPSTACK - 32));
asm volatile("movl %0, %%ebp" : : "r" (cpus[0].mpstack + MPSTACK)); asm volatile("movl %0, %%ebp" : : "r" (cpus[0].mpstack + MPSTACK));

View file

@ -51,10 +51,9 @@ acquire(struct spinlock *lock)
while(cmpxchg(0, 1, &lock->locked) == 1) while(cmpxchg(0, 1, &lock->locked) == 1)
; ;
// Now that lock is acquired, make sure // Serialize instructions: now that lock is acquired, make sure
// we wait for all pending writes from other // we wait for all pending writes from other processors.
// processors. cpuid(0, 0, 0, 0, 0); // memory barrier (see Ch 7 of IA-32 manual, vol 3)
cpuid(0, 0, 0, 0, 0); // memory barrier
// Record info about lock acquisition for debugging. // Record info about lock acquisition for debugging.
// The +10 is only so that we can tell the difference // The +10 is only so that we can tell the difference
@ -74,9 +73,9 @@ release(struct spinlock *lock)
lock->pcs[0] = 0; lock->pcs[0] = 0;
lock->cpu = 0xffffffff; lock->cpu = 0xffffffff;
// Before unlocking the lock, make sure to flush // Serialize instructions: before unlocking the lock, make sure
// any pending memory writes from this processor. // to flush any pending memory writes from this processor.
cpuid(0, 0, 0, 0, 0); // memory barrier cpuid(0, 0, 0, 0, 0); // memory barrier (see Ch 7 of IA-32 manual, vol 3)
lock->locked = 0; lock->locked = 0;
if(--cpus[cpu()].nlock == 0) if(--cpus[cpu()].nlock == 0)