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.
Ben Pfaff [Thu, 2 Sep 2004 08:12:53 +0000 (08:12 +0000)]
Redo and improve thread scheduling startup.
In the process make it possible to use locks before the preemptive
scheduler is turned on.
This lets us add locking to the page allocator.
Ben Pfaff [Thu, 2 Sep 2004 05:54:53 +0000 (05:54 +0000)]
Rewrite to suck slightly less.
Add comments.
Ben Pfaff [Thu, 2 Sep 2004 04:16:24 +0000 (04:16 +0000)]
Add comments.
Ben Pfaff [Thu, 2 Sep 2004 04:16:12 +0000 (04:16 +0000)]
Actually initialize IDT in intr_init (!).
Ben Pfaff [Thu, 2 Sep 2004 04:03:53 +0000 (04:03 +0000)]
Enable interrupts after reading CR2 in page fault handler.
Ben Pfaff [Thu, 2 Sep 2004 04:01:57 +0000 (04:01 +0000)]
Add comments.
Ben Pfaff [Thu, 2 Sep 2004 03:55:21 +0000 (03:55 +0000)]
Remove unneeded stuff.
Ben Pfaff [Thu, 2 Sep 2004 03:55:15 +0000 (03:55 +0000)]
Add page fault skeleton.
Ben Pfaff [Thu, 2 Sep 2004 03:25:54 +0000 (03:25 +0000)]
Move user exception support into userprog.
Ben Pfaff [Wed, 1 Sep 2004 22:55:29 +0000 (22:55 +0000)]
Only call addrspace_destroy() if USERPROG.
Ben Pfaff [Wed, 1 Sep 2004 22:52:25 +0000 (22:52 +0000)]
Improve code.
Ben Pfaff [Wed, 1 Sep 2004 22:52:13 +0000 (22:52 +0000)]
Set CR0_WP in CR0.
Ben Pfaff [Wed, 1 Sep 2004 22:36:36 +0000 (22:36 +0000)]
Misc cleanups in init, thread.
Ben Pfaff [Wed, 1 Sep 2004 22:36:24 +0000 (22:36 +0000)]
Add assert.
Ben Pfaff [Wed, 1 Sep 2004 22:25:56 +0000 (22:25 +0000)]
Break TSS out of GDT.
Ben Pfaff [Wed, 1 Sep 2004 22:13:26 +0000 (22:13 +0000)]
Break GDT, TSS out of init.c, mmu.h.
Ben Pfaff [Wed, 1 Sep 2004 21:43:44 +0000 (21:43 +0000)]
Remove lots of unused #define's from mmu.h.
Ben Pfaff [Wed, 1 Sep 2004 21:43:20 +0000 (21:43 +0000)]
Clean up interrupts.[ch].
Ben Pfaff [Wed, 1 Sep 2004 06:14:50 +0000 (06:14 +0000)]
Add comments.
Ben Pfaff [Wed, 1 Sep 2004 06:00:50 +0000 (06:00 +0000)]
Make interrupt.h names more regular.
Ben Pfaff [Wed, 1 Sep 2004 05:52:00 +0000 (05:52 +0000)]
Integrate struct addrspace into struct thread.
Ben Pfaff [Wed, 1 Sep 2004 05:38:55 +0000 (05:38 +0000)]
Clean up threads.
Ben Pfaff [Wed, 1 Sep 2004 04:02:22 +0000 (04:02 +0000)]
s/disk_sector_no/disk_sector_t/g
Ben Pfaff [Wed, 1 Sep 2004 03:58:03 +0000 (03:58 +0000)]
Fix PRDSNu.
Ben Pfaff [Wed, 1 Sep 2004 03:56:22 +0000 (03:56 +0000)]
Tweak.
Ben Pfaff [Wed, 1 Sep 2004 01:16:42 +0000 (01:16 +0000)]
Dump interrupt frame info on user fault.
Ben Pfaff [Wed, 1 Sep 2004 01:16:25 +0000 (01:16 +0000)]
Improve comments.
Ben Pfaff [Tue, 31 Aug 2004 23:54:24 +0000 (23:54 +0000)]
Clean up disk layer.
Ben Pfaff [Tue, 31 Aug 2004 22:07:49 +0000 (22:07 +0000)]
Update .cvsignore.
Ben Pfaff [Tue, 31 Aug 2004 22:07:01 +0000 (22:07 +0000)]
Initial version.
Ben Pfaff [Tue, 31 Aug 2004 22:05:24 +0000 (22:05 +0000)]
Add fsutil.c.
Ben Pfaff [Tue, 31 Aug 2004 22:05:16 +0000 (22:05 +0000)]
Clean up threads.
Ben Pfaff [Tue, 31 Aug 2004 22:04:56 +0000 (22:04 +0000)]
Use __attribute__ directly.
Ben Pfaff [Tue, 31 Aug 2004 22:04:45 +0000 (22:04 +0000)]
Add LOADER_CMD_LINE_LEN.
Ben Pfaff [Tue, 31 Aug 2004 22:04:29 +0000 (22:04 +0000)]
Implement command line arguments.
Ben Pfaff [Tue, 31 Aug 2004 22:04:08 +0000 (22:04 +0000)]
Allow user to provide random seed to random_init().
Ben Pfaff [Tue, 31 Aug 2004 22:03:49 +0000 (22:03 +0000)]
Add atoi().
Add a hex_dump() argument that specifies whether to include ASCII.
Mark vsnprintf(), vprintk() with PRINTF_FORMAT.
Ben Pfaff [Tue, 31 Aug 2004 22:01:42 +0000 (22:01 +0000)]
Debug. Add bitmap_dump().
Ben Pfaff [Tue, 31 Aug 2004 22:01:25 +0000 (22:01 +0000)]
Add filesys_list(), filesys_dump().
Ben Pfaff [Tue, 31 Aug 2004 22:01:10 +0000 (22:01 +0000)]
Add dir_list(), dir_dump().
Ben Pfaff [Tue, 31 Aug 2004 22:00:54 +0000 (22:00 +0000)]
Add DEBUG() macro for debugging that can be turned on and off with a
command line option, and associated support.
Rename panic() to PANIC(). Update references.
Rename backtrace() to debug_backtrace().
Ben Pfaff [Tue, 31 Aug 2004 06:39:54 +0000 (06:39 +0000)]
Clean up threads.c.
Ben Pfaff [Tue, 31 Aug 2004 05:57:18 +0000 (05:57 +0000)]
Clean up threads.c.
Ben Pfaff [Tue, 31 Aug 2004 05:34:25 +0000 (05:34 +0000)]
Clean up a little.
Ben Pfaff [Tue, 31 Aug 2004 05:12:57 +0000 (05:12 +0000)]
Update comment.