diff options
author | Robert Morris <[email protected]> | 2020-08-13 08:05:13 -0400 |
---|---|---|
committer | Robert Morris <[email protected]> | 2020-08-13 08:05:13 -0400 |
commit | e1a2cd59faf0cf7a3b315cefff11d68b68ec54a7 (patch) | |
tree | 79bc9fa5898946b04e61b3366003b117bf6773c2 /kernel | |
parent | d32eac366fd06ec58cc3b34a3ca1824864bd7618 (diff) | |
parent | 315c37c0f1e7c05f7b7d0ec145a2002b0612c49c (diff) | |
download | xv6-labs-e1a2cd59faf0cf7a3b315cefff11d68b68ec54a7.tar.gz xv6-labs-e1a2cd59faf0cf7a3b315cefff11d68b68ec54a7.tar.bz2 xv6-labs-e1a2cd59faf0cf7a3b315cefff11d68b68ec54a7.zip |
Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/entry.S | 2 | ||||
-rw-r--r-- | kernel/proc.c | 14 | ||||
-rw-r--r-- | kernel/ramdisk.c | 2 | ||||
-rw-r--r-- | kernel/virtio_disk.c | 1 | ||||
-rw-r--r-- | kernel/vm.c | 4 |
5 files changed, 12 insertions, 11 deletions
diff --git a/kernel/entry.S b/kernel/entry.S index ef5a56a..62fe1f2 100644 --- a/kernel/entry.S +++ b/kernel/entry.S @@ -1,7 +1,7 @@ # qemu -kernel starts at 0x1000. the instructions # there seem to be provided by qemu, as if it # were a ROM. the code at 0x1000 jumps to - # 0x8000000, the _start function here, + # 0x80000000, the _start function here, # in machine mode. each CPU starts here. .section .data .globl stack0 diff --git a/kernel/proc.c b/kernel/proc.c index cf7f260..417e30a 100644 --- a/kernel/proc.c +++ b/kernel/proc.c @@ -183,13 +183,13 @@ proc_freepagetable(pagetable_t pagetable, uint64 sz) // a user program that calls exec("/init") // od -t xC initcode uchar initcode[] = { - 0x17, 0x05, 0x00, 0x00, 0x13, 0x05, 0x05, 0x02, - 0x97, 0x05, 0x00, 0x00, 0x93, 0x85, 0x05, 0x02, - 0x9d, 0x48, 0x73, 0x00, 0x00, 0x00, 0x89, 0x48, - 0x73, 0x00, 0x00, 0x00, 0xef, 0xf0, 0xbf, 0xff, - 0x2f, 0x69, 0x6e, 0x69, 0x74, 0x00, 0x00, 0x01, - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00 + 0x17, 0x05, 0x00, 0x00, 0x13, 0x05, 0x45, 0x02, + 0x97, 0x05, 0x00, 0x00, 0x93, 0x85, 0x35, 0x02, + 0x93, 0x08, 0x70, 0x00, 0x73, 0x00, 0x00, 0x00, + 0x93, 0x08, 0x20, 0x00, 0x73, 0x00, 0x00, 0x00, + 0xef, 0xf0, 0x9f, 0xff, 0x2f, 0x69, 0x6e, 0x69, + 0x74, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 }; // Set up first user process. diff --git a/kernel/ramdisk.c b/kernel/ramdisk.c index 9901294..eb60ee7 100644 --- a/kernel/ramdisk.c +++ b/kernel/ramdisk.c @@ -1,5 +1,5 @@ // -// ramdisk that uses the disk image loaded by qemu -rdinit fs.img +// ramdisk that uses the disk image loaded by qemu -initrd fs.img // #include "types.h" diff --git a/kernel/virtio_disk.c b/kernel/virtio_disk.c index 3cff024..06e0645 100644 --- a/kernel/virtio_disk.c +++ b/kernel/virtio_disk.c @@ -264,6 +264,7 @@ virtio_disk_intr() disk.used_idx = (disk.used_idx + 1) % NUM; } + *R(VIRTIO_MMIO_INTERRUPT_ACK) = *R(VIRTIO_MMIO_INTERRUPT_STATUS) & 0x3; release(&disk.vdisk_lock); } diff --git a/kernel/vm.c b/kernel/vm.c index d45210a..b48a022 100644 --- a/kernel/vm.c +++ b/kernel/vm.c @@ -65,9 +65,9 @@ kvminithart() // A 64-bit virtual address is split into five fields: // 39..63 -- must be zero. // 30..38 -- 9 bits of level-2 index. -// 21..39 -- 9 bits of level-1 index. +// 21..29 -- 9 bits of level-1 index. // 12..20 -- 9 bits of level-0 index. -// 0..12 -- 12 bits of byte offset within the page. +// 0..11 -- 12 bits of byte offset within the page. pte_t * walk(pagetable_t pagetable, uint64 va, int alloc) { |