summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/exec.c6
-rw-r--r--kernel/memlayout.h2
-rw-r--r--kernel/proc.c18
-rw-r--r--kernel/proc.h2
-rw-r--r--kernel/syscall.c18
-rw-r--r--kernel/trap.c14
6 files changed, 30 insertions, 30 deletions
diff --git a/kernel/exec.c b/kernel/exec.c
index 6a51499..1077ac0 100644
--- a/kernel/exec.c
+++ b/kernel/exec.c
@@ -97,7 +97,7 @@ exec(char *path, char **argv)
// arguments to user main(argc, argv)
// argc is returned via the system call return
// value, which goes in a0.
- p->tf->a1 = sp;
+ p->trapframe->a1 = sp;
// Save program name for debugging.
for(last=s=path; *s; s++)
@@ -109,8 +109,8 @@ exec(char *path, char **argv)
oldpagetable = p->pagetable;
p->pagetable = pagetable;
p->sz = sz;
- p->tf->epc = elf.entry; // initial program counter = main
- p->tf->sp = sp; // initial stack pointer
+ p->trapframe->epc = elf.entry; // initial program counter = main
+ p->trapframe->sp = sp; // initial stack pointer
proc_freepagetable(oldpagetable, oldsz);
return argc; // this ends up in a0, the first argument to main(argc, argv)
diff --git a/kernel/memlayout.h b/kernel/memlayout.h
index 8ffd538..b6e595d 100644
--- a/kernel/memlayout.h
+++ b/kernel/memlayout.h
@@ -62,6 +62,6 @@
// fixed-size stack
// expandable heap
// ...
-// TRAPFRAME (p->tf, used by the trampoline)
+// TRAPFRAME (p->trapframe, used by the trampoline)
// TRAMPOLINE (the same page as in the kernel)
#define TRAPFRAME (TRAMPOLINE - PGSIZE)
diff --git a/kernel/proc.c b/kernel/proc.c
index 0cb5afe..d4ff37c 100644
--- a/kernel/proc.c
+++ b/kernel/proc.c
@@ -106,7 +106,7 @@ found:
p->pid = allocpid();
// Allocate a trapframe page.
- if((p->tf = (struct trapframe *)kalloc()) == 0){
+ if((p->trapframe = (struct trapframe *)kalloc()) == 0){
release(&p->lock);
return 0;
}
@@ -129,9 +129,9 @@ found:
static void
freeproc(struct proc *p)
{
- if(p->tf)
- kfree((void*)p->tf);
- p->tf = 0;
+ if(p->trapframe)
+ kfree((void*)p->trapframe);
+ p->trapframe = 0;
if(p->pagetable)
proc_freepagetable(p->pagetable, p->sz);
p->pagetable = 0;
@@ -164,7 +164,7 @@ proc_pagetable(struct proc *p)
// map the trapframe just below TRAMPOLINE, for trampoline.S.
mappages(pagetable, TRAPFRAME, PGSIZE,
- (uint64)(p->tf), PTE_R | PTE_W);
+ (uint64)(p->trapframe), PTE_R | PTE_W);
return pagetable;
}
@@ -206,8 +206,8 @@ userinit(void)
p->sz = PGSIZE;
// prepare for the very first "return" from kernel to user.
- p->tf->epc = 0; // user program counter
- p->tf->sp = PGSIZE; // user stack pointer
+ p->trapframe->epc = 0; // user program counter
+ p->trapframe->sp = PGSIZE; // user stack pointer
safestrcpy(p->name, "initcode", sizeof(p->name));
p->cwd = namei("/");
@@ -262,10 +262,10 @@ fork(void)
np->parent = p;
// copy saved user registers.
- *(np->tf) = *(p->tf);
+ *(np->trapframe) = *(p->trapframe);
// Cause fork to return 0 in the child.
- np->tf->a0 = 0;
+ np->trapframe->a0 = 0;
// increment reference counts on open file descriptors.
for(i = 0; i < NOFILE; i++)
diff --git a/kernel/proc.h b/kernel/proc.h
index 812c769..02e7bc3 100644
--- a/kernel/proc.h
+++ b/kernel/proc.h
@@ -98,7 +98,7 @@ struct proc {
uint64 kstack; // Virtual address of kernel stack
uint64 sz; // Size of process memory (bytes)
pagetable_t pagetable; // Page table
- struct trapframe *tf; // data page for trampoline.S
+ struct trapframe *trapframe; // data page for trampoline.S
struct context context; // swtch() here to run process
struct file *ofile[NOFILE]; // Open files
struct inode *cwd; // Current directory
diff --git a/kernel/syscall.c b/kernel/syscall.c
index 2817e44..c1b3670 100644
--- a/kernel/syscall.c
+++ b/kernel/syscall.c
@@ -37,17 +37,17 @@ argraw(int n)
struct proc *p = myproc();
switch (n) {
case 0:
- return p->tf->a0;
+ return p->trapframe->a0;
case 1:
- return p->tf->a1;
+ return p->trapframe->a1;
case 2:
- return p->tf->a2;
+ return p->trapframe->a2;
case 3:
- return p->tf->a3;
+ return p->trapframe->a3;
case 4:
- return p->tf->a4;
+ return p->trapframe->a4;
case 5:
- return p->tf->a5;
+ return p->trapframe->a5;
}
panic("argraw");
return -1;
@@ -135,12 +135,12 @@ syscall(void)
int num;
struct proc *p = myproc();
- num = p->tf->a7;
+ num = p->trapframe->a7;
if(num > 0 && num < NELEM(syscalls) && syscalls[num]) {
- p->tf->a0 = syscalls[num]();
+ p->trapframe->a0 = syscalls[num]();
} else {
printf("%d %s: unknown sys call %d\n",
p->pid, p->name, num);
- p->tf->a0 = -1;
+ p->trapframe->a0 = -1;
}
}
diff --git a/kernel/trap.c b/kernel/trap.c
index 5e11e4b..77ff868 100644
--- a/kernel/trap.c
+++ b/kernel/trap.c
@@ -48,7 +48,7 @@ usertrap(void)
struct proc *p = myproc();
// save user program counter.
- p->tf->epc = r_sepc();
+ p->trapframe->epc = r_sepc();
if(r_scause() == 8){
// system call
@@ -58,7 +58,7 @@ usertrap(void)
// sepc points to the ecall instruction,
// but we want to return to the next instruction.
- p->tf->epc += 4;
+ p->trapframe->epc += 4;
// an interrupt will change sstatus &c registers,
// so don't enable until done with those registers.
@@ -100,10 +100,10 @@ usertrapret(void)
// set up trapframe values that uservec will need when
// the process next re-enters the kernel.
- p->tf->kernel_satp = r_satp(); // kernel page table
- p->tf->kernel_sp = p->kstack + PGSIZE; // process's kernel stack
- p->tf->kernel_trap = (uint64)usertrap;
- p->tf->kernel_hartid = r_tp(); // hartid for cpuid()
+ p->trapframe->kernel_satp = r_satp(); // kernel page table
+ p->trapframe->kernel_sp = p->kstack + PGSIZE; // process's kernel stack
+ p->trapframe->kernel_trap = (uint64)usertrap;
+ p->trapframe->kernel_hartid = r_tp(); // hartid for cpuid()
// set up the registers that trampoline.S's sret will use
// to get to user space.
@@ -115,7 +115,7 @@ usertrapret(void)
w_sstatus(x);
// set S Exception Program Counter to the saved user pc.
- w_sepc(p->tf->epc);
+ w_sepc(p->trapframe->epc);
// tell trampoline.S the user page table to switch to.
uint64 satp = MAKE_SATP(p->pagetable);