nit
This commit is contained in:
parent
a759b8a450
commit
3341e30f6e
4 changed files with 11 additions and 13 deletions
6
cat.c
6
cat.c
|
@ -5,7 +5,7 @@
|
||||||
char buf[512];
|
char buf[512];
|
||||||
|
|
||||||
void
|
void
|
||||||
rfile(int fd)
|
cat(int fd)
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ main(int argc, char *argv[])
|
||||||
int fd, i;
|
int fd, i;
|
||||||
|
|
||||||
if(argc <= 1) {
|
if(argc <= 1) {
|
||||||
rfile(0);
|
cat(0);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ main(int argc, char *argv[])
|
||||||
printf(1, "cat: cannot open %s\n", argv[i]);
|
printf(1, "cat: cannot open %s\n", argv[i]);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
rfile(fd);
|
cat(fd);
|
||||||
close(fd);
|
close(fd);
|
||||||
}
|
}
|
||||||
exit();
|
exit();
|
||||||
|
|
2
fcntl.h
2
fcntl.h
|
@ -1,4 +1,4 @@
|
||||||
#define O_CREATE 0x200
|
|
||||||
#define O_RDONLY 0x000
|
#define O_RDONLY 0x000
|
||||||
#define O_WRONLY 0x001
|
#define O_WRONLY 0x001
|
||||||
#define O_RDWR 0x002
|
#define O_RDWR 0x002
|
||||||
|
#define O_CREATE 0x200
|
||||||
|
|
6
fs.c
6
fs.c
|
@ -205,7 +205,7 @@ ilock(struct inode *ip)
|
||||||
|
|
||||||
if(!(ip->flags & I_VALID)){
|
if(!(ip->flags & I_VALID)){
|
||||||
bp = bread(ip->dev, IBLOCK(ip->inum));
|
bp = bread(ip->dev, IBLOCK(ip->inum));
|
||||||
dip = &((struct dinode*)(bp->data))[ip->inum % IPB];
|
dip = (struct dinode*)bp->data + ip->inum%IPB;
|
||||||
ip->type = dip->type;
|
ip->type = dip->type;
|
||||||
ip->major = dip->major;
|
ip->major = dip->major;
|
||||||
ip->minor = dip->minor;
|
ip->minor = dip->minor;
|
||||||
|
@ -275,7 +275,7 @@ ialloc(uint dev, short type)
|
||||||
readsb(dev, &sb);
|
readsb(dev, &sb);
|
||||||
for(inum = 1; inum < sb.ninodes; inum++) { // loop over inode blocks
|
for(inum = 1; inum < sb.ninodes; inum++) { // loop over inode blocks
|
||||||
bp = bread(dev, IBLOCK(inum));
|
bp = bread(dev, IBLOCK(inum));
|
||||||
dip = (struct dinode*)(bp->data) + inum%IPB;
|
dip = (struct dinode*)bp->data + inum%IPB;
|
||||||
if(dip->type == 0) { // a free inode
|
if(dip->type == 0) { // a free inode
|
||||||
memset(dip, 0, sizeof(*dip));
|
memset(dip, 0, sizeof(*dip));
|
||||||
dip->type = type;
|
dip->type = type;
|
||||||
|
@ -296,7 +296,7 @@ iupdate(struct inode *ip)
|
||||||
struct dinode *dip;
|
struct dinode *dip;
|
||||||
|
|
||||||
bp = bread(ip->dev, IBLOCK(ip->inum));
|
bp = bread(ip->dev, IBLOCK(ip->inum));
|
||||||
dip = (struct dinode*)(bp->data) + ip->inum%IPB;
|
dip = (struct dinode*)bp->data + ip->inum%IPB;
|
||||||
dip->type = ip->type;
|
dip->type = ip->type;
|
||||||
dip->major = ip->major;
|
dip->major = ip->major;
|
||||||
dip->minor = ip->minor;
|
dip->minor = ip->minor;
|
||||||
|
|
10
main.c
10
main.c
|
@ -5,9 +5,7 @@
|
||||||
#include "proc.h"
|
#include "proc.h"
|
||||||
#include "x86.h"
|
#include "x86.h"
|
||||||
|
|
||||||
extern char edata[], end[];
|
static void bootothers(void);
|
||||||
|
|
||||||
void bootothers(void);
|
|
||||||
|
|
||||||
// Bootstrap processor starts running C code here.
|
// Bootstrap processor starts running C code here.
|
||||||
int
|
int
|
||||||
|
@ -15,6 +13,7 @@ main(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
static volatile int bcpu; // cannot be on stack
|
static volatile int bcpu; // cannot be on stack
|
||||||
|
extern char edata[], end[];
|
||||||
|
|
||||||
// clear BSS
|
// clear BSS
|
||||||
memset(edata, 0, end - edata);
|
memset(edata, 0, end - edata);
|
||||||
|
@ -65,7 +64,6 @@ mpmain(void)
|
||||||
idtinit();
|
idtinit();
|
||||||
lapic_init(cpu());
|
lapic_init(cpu());
|
||||||
setupsegs(0);
|
setupsegs(0);
|
||||||
|
|
||||||
cpuid(0, 0, 0, 0, 0); // memory barrier
|
cpuid(0, 0, 0, 0, 0); // memory barrier
|
||||||
cpus[cpu()].booted = 1;
|
cpus[cpu()].booted = 1;
|
||||||
|
|
||||||
|
@ -76,7 +74,7 @@ mpmain(void)
|
||||||
scheduler();
|
scheduler();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
bootothers(void)
|
bootothers(void)
|
||||||
{
|
{
|
||||||
extern uchar _binary_bootother_start[], _binary_bootother_size[];
|
extern uchar _binary_bootother_start[], _binary_bootother_size[];
|
||||||
|
@ -91,7 +89,7 @@ bootothers(void)
|
||||||
if(c == cpus+cpu()) // We've started already.
|
if(c == cpus+cpu()) // We've started already.
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Set target %esp, %eip
|
// Fill in %esp, %eip and start code on cpu.
|
||||||
*(void**)(code-4) = c->mpstack + MPSTACK;
|
*(void**)(code-4) = c->mpstack + MPSTACK;
|
||||||
*(void**)(code-8) = mpmain;
|
*(void**)(code-8) = mpmain;
|
||||||
lapic_startap(c->apicid, (uint)code);
|
lapic_startap(c->apicid, (uint)code);
|
||||||
|
|
Loading…
Reference in a new issue