Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
soc:2010:peper:project_plan:start [2010/05/25 14:24] peper |
soc:2010:peper:project_plan:start [2010/06/14 16:31] (current) peper |
||
|---|---|---|---|
| Line 6: | Line 6: | ||
| Allow gPXE to run as a usermode application under Linux on both i386 and x86_64. Hence opening new debugging possibilities and shortening the development cycle considerably. | Allow gPXE to run as a usermode application under Linux on both i386 and x86_64. Hence opening new debugging possibilities and shortening the development cycle considerably. | ||
| - | [[soc/2010/peper/notes/implementation_details|Implementation details]] | + | [[..:notes/implementation_details|Implementation details]] |
| + | |||
| + | [[..:notes/usermode_explained|How usermode under Linux is done]] | ||
| ==== Tasks ==== | ==== Tasks ==== | ||
| - | Already done: | + | === Already done === |
| * Add a ''linux'' ''PLATFORM'' | * Add a ''linux'' ''PLATFORM'' | ||
| * Link against hacked ''stdlib'' | * Link against hacked ''stdlib'' | ||
| * Add linker scripts for ''i386'' and ''x86_64'' with tables support | * Add linker scripts for ''i386'' and ''x86_64'' with tables support | ||
| - | + | * Add the necessary subsystems for a tap network driver | |
| - | Current: | + | |
| - | * Add the necessary subsystems for a tap network driver [Needs cleanup] | + | |
| * ''CONSOLE_LINUX'' | * ''CONSOLE_LINUX'' | ||
| * ''TIMER_LINUX'' | * ''TIMER_LINUX'' | ||
| Line 22: | Line 22: | ||
| * ''UMALLOC_LINUX'' | * ''UMALLOC_LINUX'' | ||
| * ''NAP_LINUX'' | * ''NAP_LINUX'' | ||
| - | * Add a tap network driver [Needs cleanup] | + | * ''SMBIOS_LINUX'' (empty) |
| + | * Add a tap network driver | ||
| * Add command-line arguments allowing configuration of the tap driver | * Add command-line arguments allowing configuration of the tap driver | ||
| - | + | * Drop the stdlib dep | |
| - | Planned for near-future: | + | * Implement ''syscall()'' and ''linux_*'' on top of it where possible |
| - | * Implement syscall interface directly (i.e. don't use ''stdlib'') | + | * Implement ''linux_realloc'' |
| - | + | * Implement ''_start'' | |
| - | Planned for later: | + | * Make it not too hard to switch to linking to stdlib for debugging purposes |
| + | === Current === | ||
| + | * Making gPXE valgrindable | ||
| + | === Planned for near future === | ||
| * Research how to map gPXE's driver API to hardware via kernel | * Research how to map gPXE's driver API to hardware via kernel | ||