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:42] 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 ==== | ||
Line 14: | Line 16: | ||
* 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 | ||
+ | * Implement ''syscall()'' and ''linux_*'' on top of it where possible | ||
+ | * Implement ''linux_realloc'' | ||
+ | * Implement ''_start'' | ||
+ | * Make it not too hard to switch to linking to stdlib for debugging purposes | ||
+ | === Current === | ||
+ | * Making gPXE valgrindable | ||
=== Planned for near future === | === Planned for near future === | ||
- | * Implement syscall interface directly (i.e. don't use ''stdlib'') | ||
- | |||
- | Planned for later: | ||
* Research how to map gPXE's driver API to hardware via kernel | * Research how to map gPXE's driver API to hardware via kernel |