summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Morris <[email protected]>2019-06-13 06:57:38 -0400
committerRobert Morris <[email protected]>2019-06-13 06:57:38 -0400
commit4adf01692539c57c7612f105ecf3e8b5291ae018 (patch)
treecfbf3e46a2a967e3dc4e82349b876bec42f39af3
parentde9d72c9086ec935d5b2b889f50ff611135f80fa (diff)
downloadxv6-labs-4adf01692539c57c7612f105ecf3e8b5291ae018.tar.gz
xv6-labs-4adf01692539c57c7612f105ecf3e8b5291ae018.tar.bz2
xv6-labs-4adf01692539c57c7612f105ecf3e8b5291ae018.zip
eliminate ramdisk
-rw-r--r--Makefile2
-rw-r--r--kernel/bio.c2
-rw-r--r--kernel/main.c1
-rw-r--r--kernel/memlayout.h1
-rw-r--r--kernel/vm.c6
5 files changed, 2 insertions, 10 deletions
diff --git a/Makefile b/Makefile
index 7580ad5..88130e1 100644
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,6 @@ OBJS = \
$K/sleeplock.o \
$K/file.o \
$K/pipe.o \
- $K/ramdisk.o \
$K/exec.o \
$K/sysfile.o \
$K/kernelvec.o \
@@ -163,7 +162,6 @@ ifndef CPUS
CPUS := 3
endif
QEMUOPTS = -machine virt -kernel $K/kernel -m 3G -smp $(CPUS) -nographic
-QEMUOPTS += -initrd fs.img
QEMUOPTS += -drive file=fs.img,if=none,format=raw,id=x0 -device virtio-blk-device,drive=x0,bus=virtio-mmio-bus.0
qemu: $K/kernel fs.img
diff --git a/kernel/bio.c b/kernel/bio.c
index 07ea030..41e3d1f 100644
--- a/kernel/bio.c
+++ b/kernel/bio.c
@@ -101,7 +101,6 @@ bread(uint dev, uint blockno)
b = bget(dev, blockno);
if((b->flags & B_VALID) == 0) {
- //ramdiskrw(b);
virtio_disk_rw(b);
}
return b;
@@ -114,7 +113,6 @@ bwrite(struct buf *b)
if(!holdingsleep(&b->lock))
panic("bwrite");
b->flags |= B_DIRTY;
- //ramdiskrw(b);
virtio_disk_rw(b);
}
diff --git a/kernel/main.c b/kernel/main.c
index d44c82c..f3c5ea6 100644
--- a/kernel/main.c
+++ b/kernel/main.c
@@ -27,7 +27,6 @@ main()
binit(); // buffer cache
fileinit(); // file table
virtio_disk_init(); // emulated hard disk
- ramdiskinit(); // in-memory disk
userinit(); // first user process
started = 1;
} else {
diff --git a/kernel/memlayout.h b/kernel/memlayout.h
index 6d86166..e8c9aab 100644
--- a/kernel/memlayout.h
+++ b/kernel/memlayout.h
@@ -22,6 +22,7 @@
#define UART0 0x10000000L
#define UART0_IRQ 10
+// virtio mmio interface
#define VIRTIO 0x10001000
#define VIRTIO_IRQ 1 // really the first of 8 units
diff --git a/kernel/vm.c b/kernel/vm.c
index 0d0a9d9..b6ca85b 100644
--- a/kernel/vm.c
+++ b/kernel/vm.c
@@ -30,7 +30,7 @@ kvminit()
mappages(kernel_pagetable, UART0, PGSIZE,
UART0, PTE_R | PTE_W);
- // virtio disk interface
+ // virtio mmio disk interface
mappages(kernel_pagetable, VIRTIO, PGSIZE,
VIRTIO, PTE_R | PTE_W);
@@ -50,10 +50,6 @@ kvminit()
mappages(kernel_pagetable, (uint64)etext, PHYSTOP-(uint64)etext,
(uint64)etext, PTE_R | PTE_W);
- // map the qemu -initrd fs.img ramdisk
- mappages(kernel_pagetable, RAMDISK, FSSIZE * BSIZE,
- RAMDISK, PTE_R | PTE_W);
-
// map the trampoline for trap entry/exit to
// the highest virtual address in the kernel.
mappages(kernel_pagetable, TRAMPOLINE, PGSIZE,