Classes | Defines | Enumerations | Functions | Variables

vancouver/apps/vancouver/vancouver.cc File Reference

#include "host/keyboard.h"
#include "nul/motherboard.h"
#include "nul/program.h"
#include "nul/vcpu.h"
#include "sigma0/console.h"
#include "nul/service_timer.h"
#include "nul/service_admission.h"
#include "nul/service_fs.h"
#include "nul/service_log.h"
#include "vancouver.cc"

Classes

class  Vancouver
class  Vancouver::Vancouver

Defines

#define VANCOUVER_CONFIG_SEPARATOR   "||"
#define PT_FUNC(NAME)   static void NAME(unsigned pid, Vancouver *tls, Utcb *utcb) __attribute__((regparm(1)))
#define VM_FUNC(NR, NAME, INPUT, CODE)
#define VANCOUVER_CONFIG_SEPARATOR   "||"
#define PT_FUNC(NAME)   static void NAME(unsigned pid, Vancouver *tls, Utcb *utcb) __attribute__((regparm(1)))
#define VM_FUNC(NR, NAME, INPUT, CODE)
#define VM_FUNC(NR, NAME, INPUT, CODE)   {NR, NAME, INPUT},
#define VM_FUNC(NR, NAME, INPUT, CODE)   {NR, NAME, INPUT},
#define VANCOUVER_CONFIG_SEPARATOR   "||"
#define PT_FUNC(NAME)   static void NAME(unsigned pid, Vancouver *tls, Utcb *utcb) __attribute__((regparm(1)))
#define VM_FUNC(NR, NAME, INPUT, CODE)
#define VM_FUNC(NR, NAME, INPUT, CODE)   {NR, NAME, INPUT},

Enumerations

enum  Cap_space_layout { PT_IRQ = 0x20, PT_VMX = 0x100, PT_SVM = 0x200 }
 

Layout of the capability space.

More...

Functions

 PARAM (kbmodifier, _keyboard_modifier=argv[0];,"kbmodifier:value - change the kbmodifier. Default: RWIN.","Example: 'kbmodifier:0x40000' uses LWIN as modifier.","See keyboard.h for definitions.") PARAM(panic
panic panic the system at
creation time 
PARAM_ALIAS (PC_PS2,"an alias to create an PS2 compatible PC"," mem:0,0xa0000 mem:0x100000 ioio nullio:0x80 pic:0x20,,0x4d0 pic:0xa0,2,0x4d1"" pit:0x40,0 scp:0x92,0x61 kbc:0x60,1,12 keyb:0,0x10000 mouse:1,0x10001 rtc:0x70,8"" serial:0x3f8,0x4,0x4711 hostsink:0x4712,80 vga:0x03c0"" vbios_disk vbios_keyboard vbios_mem vbios_time vbios_reset vbios_multiboot"" msi ioapic pcihostbridge:0,0x10,0xcf8,0xe0000000 pmtimer:0x8000 vcpus") PARAM(ncpu
 PARAM (vcpus, for(unsigned count=0;count< _ncpu;count++) mb.parse_args("vcpu halifax vbios lapic");," vcpus - instantiate the vcpus defined with 'ncpu'")
 PARAM (tsc_offset, _tsc_offset=true,"Enable TSC offsetting.")
 PARAM (rdtsc_exit, _rdtsc_exit=true,"Enable RDTSC exits.")

Variables

Motherboard_mb
unsigned _debug
const void * _forward_pkt
Semaphore _lock
long _consolelock
TimeoutList< 32, void > _timeouts
unsigned _shared_sem [256]
unsigned _keyboard_modifier = KBFLAG_RWIN
bool _dpci
unsigned _ncpu = 1
bool _tsc_offset = false
bool _rdtsc_exit
 if (argv[0]) Logging
ncpu change the number of
vcpus that are 
created

Define Documentation

#define PT_FUNC (   NAME  )     static void NAME(unsigned pid, Vancouver *tls, Utcb *utcb) __attribute__((regparm(1)))
#define PT_FUNC (   NAME  )     static void NAME(unsigned pid, Vancouver *tls, Utcb *utcb) __attribute__((regparm(1)))
#define PT_FUNC (   NAME  )     static void NAME(unsigned pid, Vancouver *tls, Utcb *utcb) __attribute__((regparm(1)))
#define VANCOUVER_CONFIG_SEPARATOR   "||"
#define VANCOUVER_CONFIG_SEPARATOR   "||"
#define VANCOUVER_CONFIG_SEPARATOR   "||"
#define VM_FUNC (   NR,
  NAME,
  INPUT,
  CODE 
)    {NR, NAME, INPUT},
#define VM_FUNC (   NR,
  NAME,
  INPUT,
  CODE 
)
Value:
static void  NAME(unsigned pid, VCpu *tls, Utcb *utcb) __attribute__((regparm(1))) \
  {  CODE;                                                              \
    asmlinkage_protect("g"(tls), "g"(utcb));                            \
  }
#define VM_FUNC (   NR,
  NAME,
  INPUT,
  CODE 
)
Value:
static void  NAME(unsigned pid, VCpu *tls, Utcb *utcb) __attribute__((regparm(1))) \
  {  CODE;                                                              \
    asmlinkage_protect("g"(tls), "g"(utcb));                            \
  }
#define VM_FUNC (   NR,
  NAME,
  INPUT,
  CODE 
)    {NR, NAME, INPUT},
#define VM_FUNC (   NR,
  NAME,
  INPUT,
  CODE 
)
Value:
static void  NAME(unsigned pid, VCpu *tls, Utcb *utcb) __attribute__((regparm(1))) \
  {  CODE;                                                              \
    asmlinkage_protect("g"(tls), "g"(utcb));                            \
  }
#define VM_FUNC (   NR,
  NAME,
  INPUT,
  CODE 
)    {NR, NAME, INPUT},

Enumeration Type Documentation

Layout of the capability space.

Enumerator:
PT_IRQ 
PT_VMX 
PT_SVM 

Function Documentation

PARAM ( kbmodifier  ,
_keyboard_modifier  = argv[0];,
"kbmodifier:value - change the kbmodifier. Default: RWIN."  ,
"Example: 'kbmodifier:0x40000' uses LWIN as modifier."  ,
"See keyboard.h for definitions."   
)
PARAM ( rdtsc_exit  ,
_rdtsc_exit  = true,
"Enable RDTSC exits."   
)
PARAM ( tsc_offset  ,
_tsc_offset  = true,
"Enable TSC offsetting."   
)
PARAM ( vcpus  ,
for(unsigned count=0;count< _ncpu;count++) mb.parse_args("vcpu halifax vbios lapic");  ,
" vcpus - instantiate the vcpus defined with 'ncpu'"   
)
panic panic the system at creation time PARAM_ALIAS ( PC_PS2  ,
"an alias to create an PS2 compatible PC"  ,
" mem:0  ,
0xa0000 mem:0x100000 ioio nullio:0x80 pic:0x20  ,
0x4d0 pic:0xa0  ,
,
0x4d1" "pit:0x40  ,
0 scp:0x92  ,
0x61 kbc:0x60  ,
,
12 keyb:0  ,
0x10000 mouse:1  ,
0x10001 rtc:0x70  ,
8" "serial:0x3f8  ,
0x4  ,
0x4711 hostsink:0x4712  ,
80 vga:0x03c0" "vbios_disk vbios_keyboard vbios_mem vbios_time vbios_reset vbios_multiboot" "msi ioapic pcihostbridge:0  ,
0x10  ,
0xcf8  ,
0xe0000000 pmtimer:0x8000 vcpus"   
)

Variable Documentation

unsigned _debug
bool _dpci
const void* _forward_pkt
unsigned _keyboard_modifier = KBFLAG_RWIN
panic panic the system at creation time _ncpu = 1
unsigned _shared_sem[256]
bool _tsc_offset = false
ncpu change the number of vcpus that are created
if(argv[0]) Logging
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines