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.
Ben Pfaff [Thu, 2 Sep 2004 22:04:57 +0000 (22:04 +0000)]
Add comments.
Ben Pfaff [Thu, 2 Sep 2004 21:50:25 +0000 (21:50 +0000)]
Make linking of start.S less brittle.
Ben Pfaff [Thu, 2 Sep 2004 21:40:16 +0000 (21:40 +0000)]
Add comments.
Ben Pfaff [Thu, 2 Sep 2004 21:03:03 +0000 (21:03 +0000)]
Don't destroy current thread's pagedir before activating a different
one (!).
thread_wake() needs to run with interrupts off.
Ben Pfaff [Thu, 2 Sep 2004 20:59:49 +0000 (20:59 +0000)]
Comments.
Ben Pfaff [Thu, 2 Sep 2004 20:59:40 +0000 (20:59 +0000)]
Activate the base page directory if pagedir_activate() is passed a
null pointer.