Commit graph

1276 commits

Author SHA1 Message Date
Ayan Shafqat 4f2d38147f Fixed broken build on Arch Linux 2015-08-12 22:11:39 -04:00
Frans Kaashoek ecb40fb19d coding style (per Jeremías Feltan <jeremias.feltan@gmail.com>) 2015-06-30 16:23:56 -04:00
Frans Kaashoek b67ed0902d Update memide to reflect recent changes to fs and buf 2015-06-27 13:38:03 -04:00
Frans Kaashoek 8320d61be5 Pick up where i left off in april:
- move log into metadata part of disk, so that marking
that the log's blocks are in use falls out for free
- superblock describes the whole disk (sizes and offets)
- sizes and offsets are computed in one place (mkfs) and
the rest of the code refers to the superblock for these values,
instead of recomputing them.
2015-06-27 12:39:13 -04:00
Frans Kaashoek de4af193c8 One ide command for nsector_per_block generates nsector_per_block interrupts,
instead of 1.   ideintr() should wait for nsector_per_block interrupts before
waking up the reader; now it wakes up the reader after 1 interrupt, which
apparently means that the first sector is available of the command instead of all.
For now keep BSIZE to 512.
2015-04-10 20:39:40 -04:00
Frans Kaashoek 895af77fe6 check blockno passed to idestart 2015-04-10 07:15:06 -04:00
Frans Kaashoek c24ac5d763 Disentangle block size from the disk's sector size. Set block size to 1024 to show
that they can be different.  Clean up mkfs, simplifying specifying fs parameters,
remove some redundancy between fs and mkfs, and fix disk layout bugs. Call blocks
in the file system blocks instead of sectors.  Passes usertests for different
block sizes.
2015-04-03 08:22:02 -04:00
Austin Clements 7443b9649a Fix missing NUL-terminator in grep
Currently, grep read()s into a buffer and then uses the buffer as a
string. Since there's no NUL-terminator, this can cause it to falsely
identify line breaks and matches from leftover data on earlier lines
and, if a line fills up the entire buffer, to read past the end of the
buffer.

Fix this by NUL-terminating any data returned by read().

Thanks to Keiichi Watanabe for the report.
2015-03-24 20:54:39 -04:00
Cody Cutler 3d2dedd427 fix buf where concurrent fs syscalls race on log entries 2015-02-19 11:51:47 -05:00
Austin Clements 41f16c2183 Increase VM memory when running qemu-memfs
Presumably because of the pre-loaded file system, the default RAM is
insufficient when running kernelmemfs
2014-10-03 09:44:26 -04:00
Austin Clements 8e54196355 Make kernelmemfs depend on kernel.ld 2014-10-03 09:43:44 -04:00
Austin Clements 0dd991dd20 Fix kernelmemfs linking
Commit 9aa0337d introduced a linker script for linking the kernel image,
but only changed the kernel target to use it.  kernelmemfs was still
using the old linker command line arguments, which weren't sufficient.
2014-10-03 09:39:09 -04:00
Frans Kaashoek 053082fbed ggdb -> gdwarf-2 for gcc4.8 2014-09-23 07:39:32 -04:00
Cody Cutler e7d77aad2b whoops. forgot date.h 2014-09-12 18:41:38 -04:00
Cody Cutler aae4e7490f cmosgetdate() for system-call homework
the day of reckoning has come for the debug port "Shutdown" hack.

instead of mucking with ACPI or using a new hack, the student will now write
sys_date() using the cmosgetdate() helper.
2014-09-12 18:09:51 -04:00
Frans Kaashoek 75dee1219f Oops (thanks David Lawrence) 2014-09-08 18:00:53 -04:00
Frans Kaashoek 9ba21267e7 no need to generate postscript version 2014-08-29 17:10:32 -04:00
Frans Kaashoek 74c77da6f8 Nice layout for a printout of the code 2014-08-29 17:06:49 -04:00
Frans Kaashoek ac83a21a5b Ack all bug reports and patches. Is this all of them? 2014-08-29 09:03:29 -04:00
Frans Kaashoek 698b8fb598 update for 2014 2014-08-28 17:28:40 -04:00
Robert Morris e2b4583d05 xx 2014-08-28 17:04:47 -04:00
Robert Morris 8d618cab78 Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6 2014-08-28 16:13:58 -04:00
Robert Morris 2b2c1971fc write log blocks from cache only at end of transaction 2014-08-28 16:06:12 -04:00
Robert Morris 11183588dc nits 2014-08-28 06:27:01 -04:00
Robert Morris 48aa917403 i think this is a working concurrent logging scheme 2014-08-28 05:57:47 -04:00
Robert Morris 71453f72f2 a start at concurrent FS system calls 2014-08-27 17:15:30 -04:00
Robert Morris 12eeefc72d comments 2014-08-27 14:14:52 -04:00
Robert Morris 2c56547272 every iput() and namei() must be inside a transaction 2014-08-04 13:06:48 -04:00
Robert Morris 020c8e2384 use acquire/release to force order for pid=np->pid;np->state=RUNNING
for bug reported by symingz@gmail.com and cs1100254@cse.iitd.ernet.in
2014-08-04 06:13:49 -04:00
Frans Kaashoek 86188d9d49 newer versions of qemu have different binary names (per Joel Nider <joel@nider.org>) 2014-07-31 11:15:15 -04:00
Stephen Tu ff2783442e Correct a security bug in copyuvm()
copyuvm() should not allow new copied pages to inherit more
permissions than the original pages.
2013-03-04 16:16:54 -05:00
Cam Tenny 241c068066 Prevent extra rebuild of fs.img by keeping intermediate object files. 2012-10-24 18:52:40 -04:00
Frans Kaashoek c440b5cd97 Use static assert instead of _LP64 (thanks Eddie!) 2012-09-10 21:58:18 -04:00
Frans Kaashoek cf57e525c1 Remove -m32 flag from native gcc compiler
But check that mkfs.c is building with LP64
2012-09-07 17:39:04 -04:00
Robert Morris 2ae8392a5c make the book happy 2012-08-28 14:41:08 -04:00
Robert Morris 792d83cad1 nits 2012-08-28 14:11:23 -04:00
Robert Morris c1ee7eb4d3 Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6 2012-08-28 12:57:13 -04:00
Robert Morris 8960f60b30 junk 2012-08-28 12:57:05 -04:00
Austin Clements 951b77f7ec Various fixes and improvements to printpcs
Search for an addr2line that supports elf32-i386.  Don't print the
path of addr2line as a side-effect of which.  Don't uselessly pipe
"grep '^ '" to addr2line's stdin.  Enable as many pretty-printing and
otherwise helpful options as possible (this makes the output *much*
more pleasant on modern addr2lines).
2012-08-24 14:51:52 -04:00
Frans Kaashoek 020acb4f10 For the convenience of students 2012-08-23 09:35:00 -04:00
Frans Kaashoek 6650cc934a Use addr2line (or i386-jos-elf-addr2line, if you cross compile) 2012-08-22 21:25:19 -04:00
Frans Kaashoek 3fb7eceea7 Runoff still complaints these lines are too long, but it is now ok on printout 2012-08-22 21:24:13 -04:00
Frans Kaashoek f3f4b0fd88 chmod +x 2012-08-22 20:54:47 -04:00
Frans Kaashoek c2d393df13 Decode getcallerpcs() (thanks to Peter Froehlich) 2012-08-22 20:51:29 -04:00
Frans Kaashoek 95692c4a8c Remove left-over from some logging plan making complete syscalls atomic
0 is not a system call (thanks to Peter Froehlich)
2012-08-22 20:28:58 -04:00
Frans Kaashoek 432acbaf9e Merge branch 'master' of git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6 2012-08-22 20:20:17 -04:00
Frans Kaashoek 4ce832ddd2 Remove unused argument to setupkvm (thanks to Peter Froehlich) 2012-08-22 20:19:37 -04:00
Frans Kaashoek 70c555574a Remove unused argument from lapicinit (thanks to Peter Froehlich) 2012-08-22 20:13:43 -04:00
Frans Kaashoek b08d16f61d Fix from Peter Froehlich 2012-08-22 20:07:04 -04:00
Austin Clements 9d59eb0151 Make fetchint and fetchstr use proc instead of taking a struct proc
Previously, these were inconsistent: they used their struct proc
argument for bounds checking, but always copied the argument from the
current address space (and hence the current process).  Drop the
struct proc argument and always use the current proc.

Suggested by Carmi Merimovich.
2012-02-17 23:20:13 -05:00