Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
soc:2008:dverkamp:notes:start [2008/05/19 16:23]
mdc created
soc:2008:dverkamp:notes:start [2008/05/20 08:15]
drv
Line 1: Line 1:
-====== Daniel Verkamp: ​Notes, ​COMBOOT Support ======+====== Daniel Verkamp: COMBOOT Support ======
  
-===== Development and Testing Environment ​=====+===== Notes =====
  
-==== QEMU ====+==== COMBOOT ​==== 
 + 
 +  * http://​syslinux.zytor.com/​wiki/​index.php/​Comboot_API 
 +  * What should happen if/when a COMBOOT executable returns? ​ Do any other image types ever return? 
 + 
 +=== Basic COMBOOT execution sequence === 
 + 
 +  * Detect image type (.com/.cbt -> 16-bit COMBOOT; .c32 or magic number B8 FF 4C CD 21 -> COM32) - case-insensitive filenames?​ 
 + 
 +== 16-bit COMBOOT == 
 + 
 +  - Copy image to offset 0x100 of some segment 
 +  - Set up PSP in same segment 
 +  - Set up IDT entries to point at COMBOOT API implementation (stubs in lowmem to call actual protected-mode implementation?​) 
 +  - Change to real mode 
 +  - Set segment registers CS = DS = ES = SS to segment containing PSP and code 
 +  - Set SP to 0xfffe (end of 64k segment) 
 +  - Near call 0x100 (start executing) 
 + 
 +== COM32 == 
 + 
 +  - Copy image to virtual address 0x101000 
 +  - Set DS = ES = SS to the same base as CS (flat address space) 
 +  - Set FS = GS = 0 
 +  - Set ESP to end of available memory 
 +  - Allocate bounce buffer in lowmem 
 +  - Push args onto stack (helper functions, bounce buffer, other args from user) 
 +  - Call entry point 
 + 
 +==== Development and Testing Environment ==== 
 + 
 +=== QEMU ===
  
 New option in QEMU 0.9.1: New option in QEMU 0.9.1:
Line 15: Line 46:
 This way there is no need for TFTP or DHCP servers when testing in QEMU. This way there is no need for TFTP or DHCP servers when testing in QEMU.
  
-==== Real Hardware ​====+=== Real Hardware ===
  
 Development machines: Development machines:

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:2008:dverkamp:notes:start (generated for current page)