Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
soc:2008:dverkamp:journal:start [2008/06/11 10:28]
drv
soc:2008:dverkamp:journal:start [2008/07/29 13:50]
drv
Line 3: Line 3:
 ===== Journal ===== ===== Journal =====
  
-==== Week 0 ==== +  * [[ week10 | Week 10]] 
-----+  * [[ week9 | Week 9 ]] 
 +  * [[ week8 | Week 8 ]] 
 +  * [[ week7 | Week 7 ]] 
 +  * [[ week6 | Week 6 ]] 
 +  * [[ week5 | Week 5 ]] 
 +  * [[ week4 | Week 4 ]] 
 +  * [[ week3 | Week 3 ]] 
 +  * [[ week2 | Week 2 ]] 
 +  * [[ week1 | Week 1 ]] 
 +  * [[ week0 | Week 0 ]]
  
-=== 19 May 2008 === 
- 
-Journal created. ​ 
- 
-=== 21 May 2008 === 
- 
-  * Image type detection by filename: check image->​uri?​ 
-  * arch/​i386/​README.i386:​ use libpm for COM32 transitions,​ librm for 16-bit COMBOOT 
-  * hook_bios_interrupt -> hook the COMBOOT API ints (for 16-bit) with stubs that call back into gPXE? 
-  * REAL_CODE, PHYS_CODE in inline asm 
-  * memcpy_user,​ real_to_user 
-  * i386_all_regs,​ regs_t (ordered like PUSHA) types 
-  * _virt_to_phys to switch from etherboot-style virtual address space to flat physical addresses (COM32) 
-  * basemem_packet (BASEMEM_PACKET_LEN = 1514) 
-  * arch/​i386/​include/​virtaddr.h:​ VIRTUAL/​PHYSICAL/​REAL_CS/​DS 
-  * install_rm_callback_interface 
-  * Split COMBOOT and C32 or use the same image type for both? 
- 
-== TODO == 
- 
-  * Check current PXE API support 
-  * Find out how to add config option for image type 
- 
-=== 23 May 2008 === 
- 
-  * Had meeting with mdc and mcb30; discussed basic architecture for COMBOOT support 
-  * Discovered how near RET from 16-bit COMBOOT works - INT 20h at byte 0 of segment (documented as part of PSP in COMBOOT spec) 
-  * Sample hook_bios_interrupt/​call_prot code from mcb30; see [[soc/​2008/​dverkamp/​notes/​hook_bios_interrupt]] 
-  * Finished basic 16-bit COMBOOT loading and INT 20h and INT 21h AH=02h hooks {{:​soc:​2008:​dverkamp:​journal:​dverkamp-may-23-2008.png|}} 
- 
-=== 24 May 2008 === 
- 
-  * Figured out and fixed why RET wasn't working - top of stack wasn't being cleared 
-  * Cleaned up and committed beginnings of COMBOOT API 
- 
-==== Week 1 ==== 
----- 
- 
-=== 25-26 May 2008 === 
- 
-  * Allow COMBOOT images to return via INT 20h - save the (far) return address during exec, then save the old stack address in the PSP, so in INT 20h handler, just change back to old stack and do RETF 
-  * Handle other termination API functions (INT 21h, AH=00h and AH=4Ch) - call INT 20h handler 
-  * Handle INT 21h, AH=09h (Write DOS String to Console) and AH=30h (Check DOS Version) 
- 
-=== 29 May 2008 === 
- 
-  * Add beginning of SYSLINUX AX=0001h (get version) and AX=0003h (run command) 
-  * Run command function was looping on itself (comboot executable ran again when "​boot"​ executed?), so did similar "​unregister image while running"​ like image/​script.c 
- 
-=== 30 May 2008 === 
- 
-  * Meeting with mdc 
-==== Week 2 ==== 
----- 
- 
-=== 02 June 2008 === 
- 
-  * Message to soc-mentors discussing implementation details; learned how to get available memory, test if key is hit, call protected-mode code with flat-memory setup, etc. 
-  * Finish COMBOOT API "Get Version"​ - return address of version and copyright strings [[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commitdiff;​h=4f02100d29583bd9586e4a832eb910f9192d304b | 4f02100d29583bd9586e4a832eb910f9192d304b ]] 
-  * Fill in correct value for available memory field in PSP header [[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commit;​h=c07e41f20e6ef9b89e290733d5c06a8fcadfb0e1 | c07e41f20e6ef9b89e290733d5c06a8fcadfb0e1 ]] 
- 
-=== 03 June 2008 === 
- 
-  * Initial try at COM32 support; helper functions are not implemented yet, so nothing really works [[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commitdiff;​h=6d18cc20c85e7a1a195705d1da6bd67c0917138f | 6d18cc20c85e7a1a195705d1da6bd67c0917138f ]] 
-  * Wrappers for COM32 helper functions to switch between flat mapping used by COM32 and the virtual address space used by gPXE (COM32 still mainly untested) [[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commitdiff;​h=d5e92f83c8fba51e0a2c803b9204bae7d86c9cd8 | d5e92f83c8fba51e0a2c803b9204bae7d86c9cd8 ]] 
-  * Some small fixes to COMBOOT (always load the image in the same place, and use that fact to locate the PSP even if the image changes segment registers) [[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commitdiff;​h=245547103ed490bfc380d94ea7f7634a6e46f11a | 245547103ed490bfc380d94ea7f7634a6e46f11a ]] 
- 
-TODO: 
-  * Find correct end of available memory value for ESP before executing COM32 images 
-  * Finish helper functions (copy between registers and com32sys_t structs) 
- 
-=== 04 June 2008 === 
- 
-   * Find end of memory value from walking memmap and pass it to COM32 programs [[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commitdiff;​h=164672592936bb3026b4ada3113b3e66f0e6f51c | 164672592936bb3026b4ada3113b3e66f0e6f51c ]] 
- 
-=== 05 June 2008 === 
- 
-   * Fix a lot of small things related to COM32; now ''​hello.c32''​ and ''​hello2.c32''​ run correctly! 
- 
-[[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commitdiff;​h=3876fad11e9f4ba3d8319eaadffce7c30aaaeaa6 | 3876fad11e9f4ba3d8319eaadffce7c30aaaeaa6 ]], [[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commitdiff;​h=bcb1ffca2899973f73381d36cdae88e7c13c0881 | bcb1ffca2899973f73381d36cdae88e7c13c0881 ]], [[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commitdiff;​h=32030bd5f16208b01441eed8ef0d101362770ef0 | 32030bd5f16208b01441eed8ef0d101362770ef0 ]], [[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commitdiff;​h=8f4adae9cb357b8f88beea16439fa2afdcc127d3 | 8f4adae9cb357b8f88beea16439fa2afdcc127d3 ]], [[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commitdiff;​h=f7a3b956e3eaa5689da98721d1bbb55910b5d6c1 | f7a3b956e3eaa5689da98721d1bbb55910b5d6c1 ]] 
- 
-{{:​soc:​2008:​dverkamp:​journal:​jun-05-2008.png|}} 
- 
-  * Only the intcall helper is implemented;​ the farcall and cfarcall helper functions are still unimplemented,​ but should be relatively easy now that intcall is working 
- 
-==== Week 3 ==== 
----- 
- 
-=== 10 June 2008 === 
-  * Implement file I/O functions (open, read, close) based on gPXE's posix_io support [[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commitdiff;​h=dcf8448c1e922892ee8dc4cf7a238eaebca1a5df | dcf8448c1e922892ee8dc4cf7a238eaebca1a5df ]] 
- 
-=== 11 June 2008 === 
- 
-  * Finally debugged why my VGA test case (a 256-byte demo, [[ http://​pouet.net/​prod.php?​which=3397 | tube by 3SC ]]) wasn't working - it was assuming that registers were 0, and I hadn't been clearing them; after taking care of that, it works fine in bochs, qemu, and real hardware: [[ http://​git.etherboot.org/?​p=people/​dverkamp/​gpxe.git;​a=commitdiff;​h=169e9975ba0aea887bf5515f9bbe32466bf3b5e0 | 169e9975ba0aea887bf5515f9bbe32466bf3b5e0 ]] 
- 
-{{:​soc:​2008:​dverkamp:​journal:​jun-11-2008.png|}} 

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