summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorrsc <rsc>2006-07-16 15:41:47 +0000
committerrsc <rsc>2006-07-16 15:41:47 +0000
commitef2bd07ae4cb2e27d62cfdcb7e71d82948fb80ed (patch)
tree3c5f126bb04d4c6c26dcb8295959fad224dfbf5d /main.c
parent6b765c480f8c810fc495a32baa696bbeb75adc09 (diff)
downloadxv6-labs-ef2bd07ae4cb2e27d62cfdcb7e71d82948fb80ed.tar.gz
xv6-labs-ef2bd07ae4cb2e27d62cfdcb7e71d82948fb80ed.tar.bz2
xv6-labs-ef2bd07ae4cb2e27d62cfdcb7e71d82948fb80ed.zip
standardize on not using foo_ prefix in struct foo
Diffstat (limited to 'main.c')
-rw-r--r--main.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/main.c b/main.c
index 5f2d698..63e8e35 100644
--- a/main.c
+++ b/main.c
@@ -62,9 +62,9 @@ main()
p->kstack = kalloc(KSTACKSIZE);
p->tf = (struct Trapframe *) (p->kstack + KSTACKSIZE - sizeof(struct Trapframe));
memset(p->tf, 0, sizeof(struct Trapframe));
- p->tf->tf_es = p->tf->tf_ds = p->tf->tf_ss = (SEG_UDATA << 3) | 3;
- p->tf->tf_cs = (SEG_UCODE << 3) | 3;
- p->tf->tf_eflags = FL_IF;
+ p->tf->es = p->tf->ds = p->tf->ss = (SEG_UDATA << 3) | 3;
+ p->tf->cs = (SEG_UCODE << 3) | 3;
+ p->tf->eflags = FL_IF;
p->pid = 0;
p->ppid = 0;
setupsegs(p);
@@ -103,26 +103,26 @@ load_icode(struct proc *p, uint8_t *binary, unsigned size)
// Check magic number on binary
elf = (struct Elf*) binary;
- cprintf("elf %x magic %x\n", elf, elf->e_magic);
- if (elf->e_magic != ELF_MAGIC)
+ cprintf("elf %x magic %x\n", elf, elf->magic);
+ if (elf->magic != ELF_MAGIC)
panic("load_icode: not an ELF binary");
- p->tf->tf_eip = elf->e_entry;
- p->tf->tf_esp = p->sz;
+ p->tf->eip = elf->entry;
+ p->tf->esp = p->sz;
// Map and load segments as directed.
- ph = (struct Proghdr*) (binary + elf->e_phoff);
- for (i = 0; i < elf->e_phnum; i++, ph++) {
- if (ph->p_type != ELF_PROG_LOAD)
+ ph = (struct Proghdr*) (binary + elf->phoff);
+ for (i = 0; i < elf->phnum; i++, ph++) {
+ if (ph->type != ELF_PROG_LOAD)
continue;
- cprintf("va %x memsz %d\n", ph->p_va, ph->p_memsz);
- if (ph->p_va + ph->p_memsz < ph->p_va)
+ cprintf("va %x memsz %d\n", ph->va, ph->memsz);
+ if (ph->va + ph->memsz < ph->va)
panic("load_icode: overflow in elf header segment");
- if (ph->p_va + ph->p_memsz >= p->sz)
+ if (ph->va + ph->memsz >= p->sz)
panic("load_icode: icode wants to be above UTOP");
// Load/clear the segment
- memmove(p->mem + ph->p_va, binary + ph->p_offset, ph->p_filesz);
- memset(p->mem + ph->p_va + ph->p_filesz, 0, ph->p_memsz - ph->p_filesz);
+ memmove(p->mem + ph->va, binary + ph->offset, ph->filesz);
+ memset(p->mem + ph->va + ph->filesz, 0, ph->memsz - ph->filesz);
}
}