Daniel Verkamp: COMBOOT Support

Journal

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 hook_bios_interrupt
  • Finished basic 16-bit COMBOOT loading and INT 20h and INT 21h AH=02h hooks

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

QR Code
QR Code soc:2008:dverkamp:journal:week0 (generated for current page)