pintos-anon
19 years agoClean up disk layer.
Ben Pfaff [Tue, 31 Aug 2004 23:54:24 +0000 (23:54 +0000)]
Clean up disk layer.

19 years agoUpdate .cvsignore.
Ben Pfaff [Tue, 31 Aug 2004 22:07:49 +0000 (22:07 +0000)]
Update .cvsignore.

19 years agoInitial version.
Ben Pfaff [Tue, 31 Aug 2004 22:07:01 +0000 (22:07 +0000)]
Initial version.

19 years agoAdd fsutil.c.
Ben Pfaff [Tue, 31 Aug 2004 22:05:24 +0000 (22:05 +0000)]
Add fsutil.c.

19 years agoClean up threads.
Ben Pfaff [Tue, 31 Aug 2004 22:05:16 +0000 (22:05 +0000)]
Clean up threads.

19 years agoUse __attribute__ directly.
Ben Pfaff [Tue, 31 Aug 2004 22:04:56 +0000 (22:04 +0000)]
Use __attribute__ directly.

19 years agoAdd LOADER_CMD_LINE_LEN.
Ben Pfaff [Tue, 31 Aug 2004 22:04:45 +0000 (22:04 +0000)]
Add LOADER_CMD_LINE_LEN.

19 years agoImplement command line arguments.
Ben Pfaff [Tue, 31 Aug 2004 22:04:29 +0000 (22:04 +0000)]
Implement command line arguments.

19 years agoAllow user to provide random seed to random_init().
Ben Pfaff [Tue, 31 Aug 2004 22:04:08 +0000 (22:04 +0000)]
Allow user to provide random seed to random_init().

19 years agoAdd atoi().
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.

19 years agoDebug. Add bitmap_dump().
Ben Pfaff [Tue, 31 Aug 2004 22:01:42 +0000 (22:01 +0000)]
Debug.  Add bitmap_dump().

19 years agoAdd filesys_list(), filesys_dump().
Ben Pfaff [Tue, 31 Aug 2004 22:01:25 +0000 (22:01 +0000)]
Add filesys_list(), filesys_dump().

19 years agoAdd dir_list(), dir_dump().
Ben Pfaff [Tue, 31 Aug 2004 22:01:10 +0000 (22:01 +0000)]
Add dir_list(), dir_dump().

19 years agoAdd DEBUG() macro for debugging that can be turned on and off with a
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().

19 years agoClean up threads.c.
Ben Pfaff [Tue, 31 Aug 2004 06:39:54 +0000 (06:39 +0000)]
Clean up threads.c.

19 years agoClean up threads.c.
Ben Pfaff [Tue, 31 Aug 2004 05:57:18 +0000 (05:57 +0000)]
Clean up threads.c.

19 years agoClean up a little.
Ben Pfaff [Tue, 31 Aug 2004 05:34:25 +0000 (05:34 +0000)]
Clean up a little.

19 years agoUpdate comment.
Ben Pfaff [Tue, 31 Aug 2004 05:12:57 +0000 (05:12 +0000)]
Update comment.

19 years agoMark thread_start() NO_RETURN.
Ben Pfaff [Tue, 31 Aug 2004 05:12:41 +0000 (05:12 +0000)]
Mark thread_start() NO_RETURN.

19 years agoSmall loader cleanups.
Ben Pfaff [Tue, 31 Aug 2004 04:09:44 +0000 (04:09 +0000)]
Small loader cleanups.

19 years agoCheck all return values.
Ben Pfaff [Tue, 31 Aug 2004 03:42:27 +0000 (03:42 +0000)]
Check all return values.

19 years agoUse Linux kernel trick of giving an .lds file a .S extension to get it
Ben Pfaff [Tue, 31 Aug 2004 03:23:39 +0000 (03:23 +0000)]
Use Linux kernel trick of giving an .lds file a .S extension to get it
preprocessed.

19 years agoDon't include malloc.h.
Ben Pfaff [Tue, 31 Aug 2004 03:22:39 +0000 (03:22 +0000)]
Don't include malloc.h.

19 years agoAdd some missing dependencies.
Ben Pfaff [Tue, 31 Aug 2004 02:55:58 +0000 (02:55 +0000)]
Add some missing dependencies.

19 years agoUpdate comments, put LOADER_PHYS_BASE back at 3 GB.
Ben Pfaff [Tue, 31 Aug 2004 02:55:48 +0000 (02:55 +0000)]
Update comments, put LOADER_PHYS_BASE back at 3 GB.

19 years agoDon't use <string.h>.
Ben Pfaff [Tue, 31 Aug 2004 01:04:27 +0000 (01:04 +0000)]
Don't use <string.h>.

19 years agoGet rid of backdoor.
Ben Pfaff [Tue, 31 Aug 2004 01:04:15 +0000 (01:04 +0000)]
Get rid of backdoor.

19 years agoNo FILESYS_STUB anymore.
Ben Pfaff [Tue, 31 Aug 2004 01:02:34 +0000 (01:02 +0000)]
No FILESYS_STUB anymore.

19 years agoUse lib.h instead of <string.h>.
Ben Pfaff [Tue, 31 Aug 2004 01:02:24 +0000 (01:02 +0000)]
Use lib.h instead of <string.h>.

19 years agoBase on loader.
Ben Pfaff [Tue, 31 Aug 2004 01:02:00 +0000 (01:02 +0000)]
Base on loader.

19 years agoMake loader use constants.
Ben Pfaff [Tue, 31 Aug 2004 01:01:51 +0000 (01:01 +0000)]
Make loader use constants.

19 years agoNow kernel.lds.in is preprocessed to get kernel.lds.
Ben Pfaff [Tue, 31 Aug 2004 01:00:56 +0000 (01:00 +0000)]
Now kernel.lds.in is preprocessed to get kernel.lds.

19 years agoDeclare argc, argv.
Ben Pfaff [Tue, 31 Aug 2004 01:00:37 +0000 (01:00 +0000)]
Declare argc, argv.

19 years agoSplit RAM initialization into function.
Ben Pfaff [Tue, 31 Aug 2004 01:00:19 +0000 (01:00 +0000)]
Split RAM initialization into function.

19 years agoAdd strtok_r().
Ben Pfaff [Tue, 31 Aug 2004 00:59:23 +0000 (00:59 +0000)]
Add strtok_r().

19 years agoProduce kernel.lds from kernel.lds.in.
Ben Pfaff [Tue, 31 Aug 2004 00:59:12 +0000 (00:59 +0000)]
Produce kernel.lds from kernel.lds.in.

19 years agoAdd vm subdirectory.
Ben Pfaff [Tue, 31 Aug 2004 00:59:01 +0000 (00:59 +0000)]
Add vm subdirectory.

19 years agoFilesys stubs no longer wanted.
Ben Pfaff [Mon, 30 Aug 2004 22:58:46 +0000 (22:58 +0000)]
Filesys stubs no longer wanted.

19 years agoAdd new filesys files.
Ben Pfaff [Mon, 30 Aug 2004 22:57:50 +0000 (22:57 +0000)]
Add new filesys files.

19 years agoAdapt to new file interface.
Ben Pfaff [Mon, 30 Aug 2004 22:57:38 +0000 (22:57 +0000)]
Adapt to new file interface.

19 years agoMove filesys_init into main_thread.
Ben Pfaff [Mon, 30 Aug 2004 22:56:34 +0000 (22:56 +0000)]
Move filesys_init into main_thread.

19 years agoAdd strcmp(), asserts.
Ben Pfaff [Mon, 30 Aug 2004 22:56:22 +0000 (22:56 +0000)]
Add strcmp(), asserts.

19 years agoAdd bitmap_read(), bitmap_write().
Ben Pfaff [Mon, 30 Aug 2004 22:55:58 +0000 (22:55 +0000)]
Add bitmap_read(), bitmap_write().

19 years agoWorking filesystem.
Ben Pfaff [Mon, 30 Aug 2004 22:55:39 +0000 (22:55 +0000)]
Working filesystem.

19 years agoFix disk_write(): interrupt fires *after* write complete, not before.
Ben Pfaff [Mon, 30 Aug 2004 22:54:56 +0000 (22:54 +0000)]
Fix disk_write(): interrupt fires *after* write complete, not before.

19 years agoFix bitmap usage.
Ben Pfaff [Mon, 30 Aug 2004 18:07:59 +0000 (18:07 +0000)]
Fix bitmap usage.

19 years agoIgnore generated files.
Ben Pfaff [Mon, 30 Aug 2004 17:48:59 +0000 (17:48 +0000)]
Ignore generated files.

19 years agoInitial version.
Ben Pfaff [Mon, 30 Aug 2004 17:48:16 +0000 (17:48 +0000)]
Initial version.

19 years ago*** empty log message ***
Ben Pfaff [Mon, 30 Aug 2004 17:47:38 +0000 (17:47 +0000)]
*** empty log message ***

19 years agoTest disk code slightly more thoroughly.
Ben Pfaff [Mon, 30 Aug 2004 17:46:07 +0000 (17:46 +0000)]
Test disk code slightly more thoroughly.

19 years agoStart work on filesystem code.
Ben Pfaff [Mon, 30 Aug 2004 04:50:13 +0000 (04:50 +0000)]
Start work on filesystem code.

19 years agoMake user responsible for allocating `struct bitmap's.
Ben Pfaff [Mon, 30 Aug 2004 04:49:44 +0000 (04:49 +0000)]
Make user responsible for allocating `struct bitmap's.

19 years agoImprove error message.
Ben Pfaff [Mon, 30 Aug 2004 04:49:04 +0000 (04:49 +0000)]
Improve error message.

19 years agoFix grouping (sigh).
Ben Pfaff [Sun, 29 Aug 2004 22:11:32 +0000 (22:11 +0000)]
Fix grouping (sigh).

19 years agoBetter ID message. Add per-channel mutual exclusion.
Ben Pfaff [Sun, 29 Aug 2004 22:10:52 +0000 (22:10 +0000)]
Better ID message.  Add per-channel mutual exclusion.

19 years agoAdd idle thread.
Ben Pfaff [Sun, 29 Aug 2004 21:54:04 +0000 (21:54 +0000)]
Add idle thread.

19 years agoBasic disk test code.
Ben Pfaff [Sun, 29 Aug 2004 21:50:07 +0000 (21:50 +0000)]
Basic disk test code.

19 years agoFix pic_eoi() for slave PIC interrupts.
Ben Pfaff [Sun, 29 Aug 2004 21:36:22 +0000 (21:36 +0000)]
Fix pic_eoi() for slave PIC interrupts.

19 years agoPrototype hex_dump().
Ben Pfaff [Sun, 29 Aug 2004 21:35:45 +0000 (21:35 +0000)]
Prototype hex_dump().
Add various is*() functions.

19 years agoFix snprintf() return value.
Ben Pfaff [Sun, 29 Aug 2004 21:35:33 +0000 (21:35 +0000)]
Fix snprintf() return value.
Add grouping support to printf.
Add a function for hex dumps.

19 years agoImplement read/write support.
Ben Pfaff [Sun, 29 Aug 2004 21:34:16 +0000 (21:34 +0000)]
Implement read/write support.

19 years agoMove "include" command to end, so that the first target is "all".
Ben Pfaff [Sun, 29 Aug 2004 21:33:26 +0000 (21:33 +0000)]
Move "include" command to end, so that the first target is "all".

19 years agoBasic disk detection stuff.
Ben Pfaff [Sun, 29 Aug 2004 19:18:25 +0000 (19:18 +0000)]
Basic disk detection stuff.

19 years agoMake thread_root() enable interrupts, otherwise kernel threads will
Ben Pfaff [Sun, 29 Aug 2004 19:18:10 +0000 (19:18 +0000)]
Make thread_root() enable interrupts, otherwise kernel threads will
run with interrupts off, which is really bad...

19 years agoFormatting.
Ben Pfaff [Sun, 29 Aug 2004 19:17:21 +0000 (19:17 +0000)]
Formatting.

19 years agoMake yield_on_return only usable in an external interrupt context: (1)
Ben Pfaff [Sun, 29 Aug 2004 19:17:14 +0000 (19:17 +0000)]
Make yield_on_return only usable in an external interrupt context: (1)
it's a global variable so it must be in use only in one context at
once, which is okay because we don't nest external interrupts and (2)
if we're not in an external interrupt context then we might as well
just call thread_yield() and not screw around with "yield on return".

Also, enforce interrupts being off in external interrupt contexts.

19 years agoAdd snprintf(), vsnprintf().
Ben Pfaff [Sun, 29 Aug 2004 19:13:35 +0000 (19:13 +0000)]
Add snprintf(), vsnprintf().

19 years agoAdd timer_msleep, timer_usleep, timer_nsleep().
Ben Pfaff [Sun, 29 Aug 2004 19:13:08 +0000 (19:13 +0000)]
Add timer_msleep, timer_usleep, timer_nsleep().

19 years agoInitial un-working code.
Ben Pfaff [Sun, 29 Aug 2004 07:09:57 +0000 (07:09 +0000)]
Initial un-working code.

19 years agothread_schedule() now static.
Ben Pfaff [Sun, 29 Aug 2004 07:09:30 +0000 (07:09 +0000)]
thread_schedule() now static.

19 years agoAdjust rules for the interrupt level during scheduling.
Ben Pfaff [Sun, 29 Aug 2004 07:09:17 +0000 (07:09 +0000)]
Adjust rules for the interrupt level during scheduling.

19 years agoAdjust indentation for .globl directives.
Ben Pfaff [Sun, 29 Aug 2004 07:08:21 +0000 (07:08 +0000)]
Adjust indentation for .globl directives.

19 years agoAdd .data, .text to output.
Ben Pfaff [Sun, 29 Aug 2004 07:02:56 +0000 (07:02 +0000)]
Add .data, .text to output.
Pop intr_handler arg inside intr_entry, not intr_exit.

19 years agoMake intr_stubs const.
Ben Pfaff [Sun, 29 Aug 2004 06:54:21 +0000 (06:54 +0000)]
Make intr_stubs const.

19 years agoFix wild bit in interrupt gate addresses. Make some things static.
Ben Pfaff [Sun, 29 Aug 2004 06:54:14 +0000 (06:54 +0000)]
Fix wild bit in interrupt gate addresses.  Make some things static.

19 years ago(printf_integer) Fix handling of precision. Improve comments.
Ben Pfaff [Sun, 29 Aug 2004 06:53:30 +0000 (06:53 +0000)]
(printf_integer) Fix handling of precision.  Improve comments.

19 years agoImprove comments.
Ben Pfaff [Sun, 29 Aug 2004 05:24:57 +0000 (05:24 +0000)]
Improve comments.

19 years agoWork on loader to prepare for passing in a command line.
Ben Pfaff [Sat, 28 Aug 2004 07:08:54 +0000 (07:08 +0000)]
Work on loader to prepare for passing in a command line.

19 years agoMake userspace actually work.
Ben Pfaff [Fri, 27 Aug 2004 07:18:38 +0000 (07:18 +0000)]
Make userspace actually work.

19 years agoprintk() disables interrupts.
Ben Pfaff [Fri, 27 Aug 2004 07:17:37 +0000 (07:17 +0000)]
printk() disables interrupts.

19 years ago(printf_integer) Fix handling of # flag. This time for sure!
Ben Pfaff [Fri, 27 Aug 2004 05:45:02 +0000 (05:45 +0000)]
(printf_integer) Fix handling of # flag.  This time for sure!

19 years agoFix TSS descriptor.
Ben Pfaff [Fri, 27 Aug 2004 02:27:33 +0000 (02:27 +0000)]
Fix TSS descriptor.

19 years agoSet RPL=3 for user selectors.
Ben Pfaff [Fri, 27 Aug 2004 00:06:16 +0000 (00:06 +0000)]
Set RPL=3 for user selectors.

19 years agoUserspace almost (?) working.
Ben Pfaff [Fri, 27 Aug 2004 00:05:55 +0000 (00:05 +0000)]
Userspace almost (?) working.

19 years agoClean up interrupt handling.
Ben Pfaff [Fri, 27 Aug 2004 00:05:15 +0000 (00:05 +0000)]
Clean up interrupt handling.

19 years agoFix formatting.
Ben Pfaff [Fri, 27 Aug 2004 00:04:02 +0000 (00:04 +0000)]
Fix formatting.

19 years agoMore clean up stack frame handling.
Ben Pfaff [Thu, 26 Aug 2004 21:53:33 +0000 (21:53 +0000)]
More clean up stack frame handling.

19 years agointr_args => intr_frame.
Ben Pfaff [Thu, 26 Aug 2004 21:44:12 +0000 (21:44 +0000)]
intr_args => intr_frame.

19 years agoClean up handling of stack frames.
Ben Pfaff [Thu, 26 Aug 2004 21:41:41 +0000 (21:41 +0000)]
Clean up handling of stack frames.

19 years agoImprove mmu.h.
Ben Pfaff [Thu, 26 Aug 2004 19:52:36 +0000 (19:52 +0000)]
Improve mmu.h.

19 years agoStart work on program loading.
Ben Pfaff [Thu, 26 Aug 2004 19:06:27 +0000 (19:06 +0000)]
Start work on program loading.

19 years agoHeader for init.c.
Ben Pfaff [Thu, 26 Aug 2004 19:04:25 +0000 (19:04 +0000)]
Header for init.c.

19 years agoIgnore build directory.
Ben Pfaff [Thu, 26 Aug 2004 19:03:43 +0000 (19:03 +0000)]
Ignore build directory.

19 years agoAdd PGOFS macro.
Ben Pfaff [Thu, 26 Aug 2004 19:02:33 +0000 (19:02 +0000)]
Add PGOFS macro.
Add assertions.

19 years agoChange list_elem from a struct to a typedef to make the hash table
Ben Pfaff [Thu, 26 Aug 2004 19:01:59 +0000 (19:01 +0000)]
Change list_elem from a struct to a typedef to make the hash table
implementation more straightforward.

19 years agoAdd ROUND_DOWN macro.
Ben Pfaff [Thu, 26 Aug 2004 19:01:18 +0000 (19:01 +0000)]
Add ROUND_DOWN macro.

19 years agoOptimize filesys_stub_get_bytes().
Ben Pfaff [Thu, 26 Aug 2004 19:01:02 +0000 (19:01 +0000)]
Optimize filesys_stub_get_bytes().

19 years agoInitial hash table implementation.
Ben Pfaff [Thu, 26 Aug 2004 18:58:41 +0000 (18:58 +0000)]
Initial hash table implementation.

19 years agoBeginnings of userspace.
Ben Pfaff [Wed, 18 Aug 2004 16:03:26 +0000 (16:03 +0000)]
Beginnings of userspace.

19 years agoRemove call to sema_self_test() from main().
Ben Pfaff [Wed, 18 Aug 2004 00:15:14 +0000 (00:15 +0000)]
Remove call to sema_self_test() from main().