Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
soc:2010:peper:project_plan:start [2010/05/01 01:28] 127.0.0.1 external edit |
soc:2010:peper:project_plan:start [2010/06/14 16:31] (current) peper |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Project Plan ===== | ===== Project Plan ===== | ||
- | |||
==== Summary ==== | ==== Summary ==== | ||
- | ==== Outline ==== | + | 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. |
+ | |||
+ | [[..:notes/implementation_details|Implementation details]] | ||
+ | |||
+ | [[..:notes/usermode_explained|How usermode under Linux is done]] | ||
- | ==== Milestones and Timeline ==== | + | ==== Tasks ==== |
+ | === Already done === | ||
+ | * Add a ''linux'' ''PLATFORM'' | ||
+ | * Link against hacked ''stdlib'' | ||
+ | * Add linker scripts for ''i386'' and ''x86_64'' with tables support | ||
+ | * Add the necessary subsystems for a tap network driver | ||
+ | * ''CONSOLE_LINUX'' | ||
+ | * ''TIMER_LINUX'' | ||
+ | * ''UACCESS_LINUX'' | ||
+ | * ''UMALLOC_LINUX'' | ||
+ | * ''NAP_LINUX'' | ||
+ | * ''SMBIOS_LINUX'' (empty) | ||
+ | * Add a tap network 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 === | ||
+ | * Research how to map gPXE's driver API to hardware via kernel |