Piotr Jaroszyński: Usermode debugging under Linux

Project Plan

Summary

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.

Implementation details

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

Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code soc:2010:peper:project_plan:start (generated for current page)