Ben Pfaff [Mon, 13 Sep 2004 22:57:25 +0000 (22:57 +0000)]
Use __SIZE_TYPE__ for size_t, __PTRDIFF_TYPE__ for ptrdiff_t.
Ben Pfaff [Mon, 13 Sep 2004 22:57:01 +0000 (22:57 +0000)]
Use `z' modifier to printf size_t.
Ben Pfaff [Mon, 13 Sep 2004 22:56:14 +0000 (22:56 +0000)]
Use i386-elf-* tools by default.
Ben Pfaff [Mon, 13 Sep 2004 22:55:54 +0000 (22:55 +0000)]
Use symbolic links instead of hard links, because hard links don't
work between directories on AFS.
Ben Pfaff [Mon, 13 Sep 2004 03:17:59 +0000 (03:17 +0000)]
Remove FIXME that I fixed in the sources.
Ben Pfaff [Mon, 13 Sep 2004 03:02:50 +0000 (03:02 +0000)]
Rewrite filesystem to support Unix "delete" semantics.
Also, make objects responsible for their own allocation for better
abstraction.
Rename filehdr to inode.
Zero out files at creation time.
Introduce "kernel" and "user" pools as a band-aid for user memory
pressure on kernel.
Ben Pfaff [Mon, 13 Sep 2004 03:00:49 +0000 (03:00 +0000)]
Don't assume 4 kB pages.
Ben Pfaff [Mon, 13 Sep 2004 02:58:44 +0000 (02:58 +0000)]
Make the bitmap responsible for allocation.
Ben Pfaff [Mon, 13 Sep 2004 02:14:24 +0000 (02:14 +0000)]
Change "stddef.h" to <stddef.h>
Ben Pfaff [Mon, 13 Sep 2004 02:13:52 +0000 (02:13 +0000)]
Don't palloc_free() the initial thread, because it's not allocated
from a palloc pool.
Ben Pfaff [Mon, 13 Sep 2004 02:13:10 +0000 (02:13 +0000)]
Add magic numbers for safety.
Fix behavior on free(NULL).
Ben Pfaff [Mon, 13 Sep 2004 01:24:28 +0000 (01:24 +0000)]
Flush serial device on panic.
Ben Pfaff [Mon, 13 Sep 2004 01:24:01 +0000 (01:24 +0000)]
Needs #include <console.h>.
Ben Pfaff [Mon, 13 Sep 2004 01:23:24 +0000 (01:23 +0000)]
Introduce "kernel" and "user" pools as a band-aid for user memory
pressure on kernel.
Ben Pfaff [Sun, 12 Sep 2004 05:46:54 +0000 (05:46 +0000)]
Add MLFQS credit.
Ben Pfaff [Sun, 12 Sep 2004 05:45:47 +0000 (05:45 +0000)]
Describe multi-level feedback queue scheduler.
Ben Pfaff [Sun, 12 Sep 2004 00:00:42 +0000 (00:00 +0000)]
Work on projects.
Ben Pfaff [Sat, 11 Sep 2004 23:35:48 +0000 (23:35 +0000)]
Make less sensitive to slow processors.
Ben Pfaff [Sat, 11 Sep 2004 23:35:30 +0000 (23:35 +0000)]
Update initialization order.
Ben Pfaff [Sat, 11 Sep 2004 23:35:13 +0000 (23:35 +0000)]
Do console locking.
Rename printf.c to console.c to better explain its function.
Move puts() from lib to lib/{user,kernel} so it can take console lock.
Ben Pfaff [Sat, 11 Sep 2004 23:27:29 +0000 (23:27 +0000)]
Do console locking.
Rename printf.c to console.c to better explain its function.
Move puts() from lib to lib/{user,kernel} so it can take console lock.
Ben Pfaff [Sat, 11 Sep 2004 23:18:06 +0000 (23:18 +0000)]
Format null pointers as 0x0.
Ben Pfaff [Sat, 11 Sep 2004 23:17:23 +0000 (23:17 +0000)]
Turn off interrupts on output to lock out interrupt handlers that
might want to write to the console.
Ben Pfaff [Sat, 11 Sep 2004 23:16:45 +0000 (23:16 +0000)]
Call thread_yield() in timer_sleep() if interrupts are on.
Ben Pfaff [Sat, 11 Sep 2004 23:16:03 +0000 (23:16 +0000)]
Only poll on output if the txq is full and interrupts are off, and
only one byte's worth.
Ben Pfaff [Sat, 11 Sep 2004 23:08:19 +0000 (23:08 +0000)]
Declare start symbol for linker's use.
Ben Pfaff [Sat, 11 Sep 2004 22:43:06 +0000 (22:43 +0000)]
Really make it safe to call printf() from any context.
Ben Pfaff [Sat, 11 Sep 2004 22:05:30 +0000 (22:05 +0000)]
Comments.
Ben Pfaff [Sat, 11 Sep 2004 19:32:54 +0000 (19:32 +0000)]
Add a little demo/test code for the `threads' project.
Ben Pfaff [Sat, 11 Sep 2004 19:31:13 +0000 (19:31 +0000)]
Increase queue size to 64.
Ben Pfaff [Sat, 11 Sep 2004 19:29:05 +0000 (19:29 +0000)]
Rewrite loader, improving comments greatly.
Also: load GDT relative to at LOADER_PHYS_BASE.
Ben Pfaff [Sat, 11 Sep 2004 18:48:38 +0000 (18:48 +0000)]
Use ln -f for linking Makefile into build dir.
Ben Pfaff [Fri, 10 Sep 2004 00:19:06 +0000 (00:19 +0000)]
Add timer_sleep() that takes an argument in timer ticks.
Remove timer_msleep(), timer_usleep(), timer_nsleep()
and add corresponding timer_ms2ticks(), timer_us2ticks(), and
timer_ns2ticks() to make the conversions.
Ben Pfaff [Thu, 9 Sep 2004 22:43:45 +0000 (22:43 +0000)]
Add comment.
Ben Pfaff [Thu, 9 Sep 2004 22:43:32 +0000 (22:43 +0000)]
Add some prototypes.
Ben Pfaff [Thu, 9 Sep 2004 22:43:28 +0000 (22:43 +0000)]
Rename run_queue to ready_list.
Ben Pfaff [Thu, 9 Sep 2004 22:43:12 +0000 (22:43 +0000)]
Add new syscall stubs.
Ben Pfaff [Thu, 9 Sep 2004 22:38:20 +0000 (22:38 +0000)]
Add syscalls.
Ben Pfaff [Thu, 9 Sep 2004 22:38:14 +0000 (22:38 +0000)]
Add comment.
Ben Pfaff [Thu, 9 Sep 2004 22:37:59 +0000 (22:37 +0000)]
Add some former CS140 TAs.
Ben Pfaff [Thu, 9 Sep 2004 22:37:50 +0000 (22:37 +0000)]
Initial projects.
Ben Pfaff [Thu, 9 Sep 2004 21:15:35 +0000 (21:15 +0000)]
Add `projects' files authors.
Ben Pfaff [Thu, 9 Sep 2004 20:55:11 +0000 (20:55 +0000)]
Allow students to easily disable VM.
Ben Pfaff [Thu, 9 Sep 2004 19:24:59 +0000 (19:24 +0000)]
#error if TIMER_FREQ too high.
Configurable time slice.
Make timer_msleep() round up to nearest timer tick.
Ben Pfaff [Wed, 8 Sep 2004 00:58:15 +0000 (00:58 +0000)]
Add TAGS, tags targets.
Ben Pfaff [Wed, 8 Sep 2004 00:22:42 +0000 (00:22 +0000)]
Specifications.
Ben Pfaff [Wed, 8 Sep 2004 00:08:35 +0000 (00:08 +0000)]
Update name to Pintos.
Ben Pfaff [Wed, 8 Sep 2004 00:07:56 +0000 (00:07 +0000)]
Fix license: we don't want export clause.
Ben Pfaff [Wed, 8 Sep 2004 00:02:26 +0000 (00:02 +0000)]
Some bochs/qemu tools.
Ben Pfaff [Wed, 8 Sep 2004 00:01:49 +0000 (00:01 +0000)]
Initial list.
Ben Pfaff [Tue, 7 Sep 2004 23:49:15 +0000 (23:49 +0000)]
Implement keyboard device.
Ben Pfaff [Tue, 7 Sep 2004 23:49:03 +0000 (23:49 +0000)]
Move serial interrupt queue into new file intq.c.
Remove serial receive code.
Ben Pfaff [Tue, 7 Sep 2004 23:47:31 +0000 (23:47 +0000)]
Add tolower(), toupper().
Ben Pfaff [Tue, 7 Sep 2004 20:38:10 +0000 (20:38 +0000)]
Prepare to remove serial receive path.
Ben Pfaff [Tue, 7 Sep 2004 06:23:02 +0000 (06:23 +0000)]
First stab at interrupt-driven serial.
Receive doesn't work.
Ben Pfaff [Tue, 7 Sep 2004 06:22:05 +0000 (06:22 +0000)]
Default to INTR_OFF for unregistered interrupts.
Add assert.
Add comment.
Ben Pfaff [Tue, 7 Sep 2004 06:21:06 +0000 (06:21 +0000)]
Add comment.
Ben Pfaff [Tue, 7 Sep 2004 06:20:53 +0000 (06:20 +0000)]
Add isblank().
Ben Pfaff [Mon, 6 Sep 2004 15:44:56 +0000 (15:44 +0000)]
Comment.
Ben Pfaff [Mon, 6 Sep 2004 05:45:49 +0000 (05:45 +0000)]
Fix up header guards.
Ben Pfaff [Mon, 6 Sep 2004 05:45:41 +0000 (05:45 +0000)]
Don't want -DKERNEL_LOAD_PAGES on every kernel.bin prereq.
Ben Pfaff [Mon, 6 Sep 2004 05:38:45 +0000 (05:38 +0000)]
Fix up header guards.
Ben Pfaff [Mon, 6 Sep 2004 05:28:24 +0000 (05:28 +0000)]
Remove unwanted files.
Ben Pfaff [Mon, 6 Sep 2004 05:27:22 +0000 (05:27 +0000)]
REmove unwanted files.
Ben Pfaff [Mon, 6 Sep 2004 05:19:18 +0000 (05:19 +0000)]
Rename printk() to printf().
Create user library by separating kernel library into kernel-specific
and kernel-independent bits.
Break up lib.c by standard header.
Break up lib.h by standard header.
Write our own standard headers for <stdarg.h>, etc.,
and stop using compiler include path.
Ben Pfaff [Mon, 6 Sep 2004 05:02:39 +0000 (05:02 +0000)]
cvsignore
Ben Pfaff [Sun, 5 Sep 2004 23:19:48 +0000 (23:19 +0000)]
Remove NDEBUG.
Ben Pfaff [Sun, 5 Sep 2004 21:56:04 +0000 (21:56 +0000)]
Add .cvsignore.
Ben Pfaff [Sun, 5 Sep 2004 21:55:24 +0000 (21:55 +0000)]
Redo makefiles.
Adjust all #include lines appropriately.
Ben Pfaff [Sun, 5 Sep 2004 16:34:36 +0000 (16:34 +0000)]
Nicer way to generate kernel.lds.s.
Ben Pfaff [Sun, 5 Sep 2004 16:29:37 +0000 (16:29 +0000)]
%#X uses 0X not 0x.
Ben Pfaff [Sun, 5 Sep 2004 08:49:31 +0000 (08:49 +0000)]
License info.
Ben Pfaff [Sun, 5 Sep 2004 08:49:16 +0000 (08:49 +0000)]
Add license info.
Ben Pfaff [Sun, 5 Sep 2004 08:30:04 +0000 (08:30 +0000)]
System call interface.
Ben Pfaff [Sun, 5 Sep 2004 08:29:42 +0000 (08:29 +0000)]
Handle bit_cnt of 0 properly.
Ben Pfaff [Sun, 5 Sep 2004 08:29:30 +0000 (08:29 +0000)]
Don't try to allocate file that's too big in filehdr_allocate.
Ben Pfaff [Sun, 5 Sep 2004 08:14:47 +0000 (08:14 +0000)]
file_write_at() mustn't free bounce buffer.
Ben Pfaff [Sun, 5 Sep 2004 08:14:23 +0000 (08:14 +0000)]
free() on a null pointer is a no-op.
Ben Pfaff [Sun, 5 Sep 2004 08:12:37 +0000 (08:12 +0000)]
Fix some new printf bugs.
Ben Pfaff [Sun, 5 Sep 2004 07:59:21 +0000 (07:59 +0000)]
Add comments.
Ben Pfaff [Sun, 5 Sep 2004 07:58:46 +0000 (07:58 +0000)]
Reorganize.
Add strnlen().
Add comments.
Remove nonstandard types in parse_conversion().
Use 4-digit grouping for hexadecimal with %'.
Add rest of ctype functions.
Ben Pfaff [Sun, 5 Sep 2004 07:56:32 +0000 (07:56 +0000)]
Add comments.
Add assertions.
Make dir_destroy() do nothing on null pointer.
Rename FILENAME_LEN_MAX to NAME_MAX.
Make dir_add() fail too-long names.
Free structure on failure in filehdr_allocate().
Implement filehdr_print().
Add copyright notice to filesys.c.
Change %L to %ll--it's standard!
Ben Pfaff [Sun, 5 Sep 2004 07:53:53 +0000 (07:53 +0000)]
Add copyright notice to synch.h.
Reuse list_elem in struct thread for semaphore's wait list.
Add comments.
Ben Pfaff [Sat, 4 Sep 2004 19:52:45 +0000 (19:52 +0000)]
Document strtok_r().
Ben Pfaff [Fri, 3 Sep 2004 06:46:08 +0000 (06:46 +0000)]
Add comments.
Ben Pfaff [Fri, 3 Sep 2004 06:45:20 +0000 (06:45 +0000)]
Add hash.c to lib sources (!).
Ben Pfaff [Fri, 3 Sep 2004 06:44:52 +0000 (06:44 +0000)]
Add comments.
Ben Pfaff [Fri, 3 Sep 2004 06:33:35 +0000 (06:33 +0000)]
Comments.
Ben Pfaff [Fri, 3 Sep 2004 06:25:44 +0000 (06:25 +0000)]
Reorganize, add comments.
Ben Pfaff [Fri, 3 Sep 2004 06:25:36 +0000 (06:25 +0000)]
Add list_head(), list_tail().
Ben Pfaff [Fri, 3 Sep 2004 05:19:47 +0000 (05:19 +0000)]
Add comments.
Ben Pfaff [Fri, 3 Sep 2004 02:32:44 +0000 (02:32 +0000)]
Improve comment.
Ben Pfaff [Thu, 2 Sep 2004 23:53:23 +0000 (23:53 +0000)]
Reorganize.
Ben Pfaff [Thu, 2 Sep 2004 23:52:22 +0000 (23:52 +0000)]
Add comments.
Rename bitmap_storage_size() as bitmap_file_size(), make conditional
on FILESYS.
Ben Pfaff [Thu, 2 Sep 2004 23:28:07 +0000 (23:28 +0000)]
Destroy PT pages in addrspace_destroy().
Ben Pfaff [Thu, 2 Sep 2004 23:27:56 +0000 (23:27 +0000)]
Reorganization, comments.
Ben Pfaff [Thu, 2 Sep 2004 22:53:58 +0000 (22:53 +0000)]
Update.
Ben Pfaff [Thu, 2 Sep 2004 22:53:05 +0000 (22:53 +0000)]
Source file origins.
Ben Pfaff [Thu, 2 Sep 2004 22:41:32 +0000 (22:41 +0000)]
Fix leak. Add comments. Restructure slightly.
Ben Pfaff [Thu, 2 Sep 2004 22:09:56 +0000 (22:09 +0000)]
Change --gstabs+ to --gstabs in ASFLAGS to support older assemblers.