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 06:55] 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. | ||
- | ==== Outline ==== | + | [[..:notes/implementation_details|Implementation details]] |
- | ==== Milestones and Timeline ==== | + | [[..:notes/usermode_explained|How usermode under Linux is done]] |
+ | |||
+ | ==== 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 |