Skip to content
  • Keir Fraser's avatar
    Add stubdomain support. See stubdom/README for usage details. · 6115d0c9
    Keir Fraser authored
    
    
    - Move PAGE_SIZE and STACK_SIZE into __PAGE_SIZE and __STACK_SIZE in
      arch_limits.h so as to permit getting them from there without
      pulling all the internal Mini-OS defines.
    - Setup a xen-elf cross-compilation environment in stubdom/cross-root
    - Add a POSIX layer on top of Mini-OS by linking against the newlib C
      library and lwIP, and implementing the Unixish part in mini-os/lib/sys.c
    - Cross-compile zlib and libpci too.
    - Add an xs.h-compatible layer on top of Mini-OS' xenbus.
    - Cross-compile libxc with an additional xc_minios.c and a few things
      disabled.
    - Cross-compile ioemu with an additional block-vbd, but without sound,
      tpm and other details.  A few hacks are needed:
      - Align ide and scsi buffers at least on sector size to permit
      direct transmission to the block backend. While we are at it, just
      page-align it to possibly save a segment. Also, limit the scsi
      buffer size because of limitations of the block paravirtualization
      protocol.
      - Allocate big tables dynamically rather that letting them go to
      bss: when Mini-OS gets installed in memory, bss is not lazily
      allocated, and doing so during Mini-OS is unnecessarily trick while
      we can simply use malloc.
    - Had to change the Mini-OS compilation somehow, so as to export
      Mini-OS compilation flags to the Makefiles of libxc and ioemu.
    
    Signed-off-by: default avatarSamuel Thibault <samuel.thibault@eu.citrix.com>
    6115d0c9