summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/fs.c2
-rw-r--r--kernel/trampoline.S2
-rw-r--r--user/grind.c5
3 files changed, 6 insertions, 3 deletions
diff --git a/kernel/fs.c b/kernel/fs.c
index dea5864..c6bab15 100644
--- a/kernel/fs.c
+++ b/kernel/fs.c
@@ -194,7 +194,7 @@ static struct inode* iget(uint dev, uint inum);
// Allocate an inode on device dev.
// Mark it as allocated by giving it type type.
// Returns an unlocked but allocated and referenced inode,
-// or NULL if there is no free inode..
+// or NULL if there is no free inode.
struct inode*
ialloc(uint dev, short type)
{
diff --git a/kernel/trampoline.S b/kernel/trampoline.S
index 0aaa413..7fb0b36 100644
--- a/kernel/trampoline.S
+++ b/kernel/trampoline.S
@@ -82,6 +82,7 @@ uservec:
# load the kernel page table, from p->trapframe->kernel_satp
ld t1, 0(a0)
+ sfence.vma zero, zero
csrw satp, t1
sfence.vma zero, zero
@@ -96,6 +97,7 @@ userret:
# a0: user page table, for satp.
# switch to the user page table.
+ sfence.vma zero, zero
csrw satp, a0
sfence.vma zero, zero
diff --git a/user/grind.c b/user/grind.c
index 5cd89f4..431ed19 100644
--- a/user/grind.c
+++ b/user/grind.c
@@ -305,7 +305,7 @@ iter()
exit(1);
}
if(pid1 == 0){
- rand_next = 31;
+ rand_next ^= 31;
go(0);
exit(0);
}
@@ -316,7 +316,7 @@ iter()
exit(1);
}
if(pid2 == 0){
- rand_next = 7177;
+ rand_next ^= 7177;
go(1);
exit(0);
}
@@ -346,5 +346,6 @@ main()
wait(0);
}
sleep(20);
+ rand_next += 1;
}
}