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:35] 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 |