some comment changes
This commit is contained in:
parent
50f8850366
commit
8e1d1ec934
7 changed files with 15 additions and 16 deletions
|
@ -5,7 +5,7 @@
|
|||
.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.
|
||||
# After the BIOS initializes the hardware on startup or system reset,
|
||||
# it loads this code at physical address 0x7c00 - 0x7d00 (512 bytes).
|
||||
|
|
4
buf.h
4
buf.h
|
@ -6,5 +6,5 @@ struct buf {
|
|||
struct buf *next;
|
||||
uchar data[512];
|
||||
};
|
||||
#define B_BUSY 0x1
|
||||
#define B_VALID 0x2
|
||||
#define B_BUSY 0x1 // buffer is locked by some process
|
||||
#define B_VALID 0x2 // buffer contains the data of the sector
|
||||
|
|
2
fs.c
2
fs.c
|
@ -160,7 +160,7 @@ iget(uint dev, uint inum)
|
|||
return nip;
|
||||
}
|
||||
|
||||
// Copy ip->d, which has changed, to disk.
|
||||
// Copy inode in memory, which has changed, to disk.
|
||||
// Caller must have locked ip.
|
||||
void
|
||||
iupdate(struct inode *ip)
|
||||
|
|
4
init.c
4
init.c
|
@ -17,8 +17,8 @@ main(void)
|
|||
mknod("console", T_DEV, 1, 1);
|
||||
open("console", O_RDWR);
|
||||
}
|
||||
dup(0);
|
||||
dup(0);
|
||||
dup(0); // stdout
|
||||
dup(0); // stderr
|
||||
|
||||
for(;;){
|
||||
pid = fork();
|
||||
|
|
2
kalloc.c
2
kalloc.c
|
@ -35,7 +35,7 @@ kinit(void)
|
|||
initlock(&kalloc_lock, "kalloc");
|
||||
start = (char*) &end;
|
||||
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);
|
||||
kfree(start, mem * PAGE);
|
||||
}
|
||||
|
|
4
main.c
4
main.c
|
@ -15,7 +15,7 @@ extern uchar _binary__init_start[], _binary__init_size[];
|
|||
|
||||
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
|
||||
// a void return type. Gcc can't handle functions named
|
||||
// main that don't return int. Really.
|
||||
|
@ -28,7 +28,7 @@ main0(void)
|
|||
// clear BSS
|
||||
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, %%ebp" : : "r" (cpus[0].mpstack + MPSTACK));
|
||||
|
||||
|
|
13
spinlock.c
13
spinlock.c
|
@ -51,10 +51,9 @@ acquire(struct spinlock *lock)
|
|||
while(cmpxchg(0, 1, &lock->locked) == 1)
|
||||
;
|
||||
|
||||
// Now that lock is acquired, make sure
|
||||
// we wait for all pending writes from other
|
||||
// processors.
|
||||
cpuid(0, 0, 0, 0, 0); // memory barrier
|
||||
// Serialize instructions: now that lock is acquired, make sure
|
||||
// we wait for all pending writes from other processors.
|
||||
cpuid(0, 0, 0, 0, 0); // memory barrier (see Ch 7 of IA-32 manual, vol 3)
|
||||
|
||||
// Record info about lock acquisition for debugging.
|
||||
// The +10 is only so that we can tell the difference
|
||||
|
@ -74,9 +73,9 @@ release(struct spinlock *lock)
|
|||
lock->pcs[0] = 0;
|
||||
lock->cpu = 0xffffffff;
|
||||
|
||||
// Before unlocking the lock, make sure to flush
|
||||
// any pending memory writes from this processor.
|
||||
cpuid(0, 0, 0, 0, 0); // memory barrier
|
||||
// Serialize instructions: before unlocking the lock, make sure
|
||||
// to flush any pending memory writes from this processor.
|
||||
cpuid(0, 0, 0, 0, 0); // memory barrier (see Ch 7 of IA-32 manual, vol 3)
|
||||
|
||||
lock->locked = 0;
|
||||
if(--cpus[cpu()].nlock == 0)
|
||||
|
|
Loading…
Reference in a new issue