NOVA User-Level Environment  Version testbox/changed-memory-timing-317-g320d8b5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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_events.h"
#include "nul/service_fs.h"
#include "nul/service_log.h"
#include "nul/service_disk.h"
#include "vancouver.cc"

Classes

struct  donor_buffer

Macros

#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 EXPERIMENTAL
#define VM_FUNC(NR, NAME, INPUT, CODE)   {NR, NAME, INPUT},
#define EXPERIMENTAL

Enumerations

enum  Cap_space_layout { PT_VMX = 0x100, PT_SVM = 0x200 }
 Layout of the capability space. More...

Functions

 PARAM_HANDLER (kbmodifier,"kbmodifier:value - change the kbmodifier. Default: RWIN.","Example: 'kbmodifier:0x40000' uses LWIN as modifier.","See keyboard.h for definitions.")
 PARAM_HANDLER (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_HANDLER(ncpu

Variables

char __freemem
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
bool _service_events = false
bool _donor_net = false
unsigned long _original_physsize
timevalue _last_to = ~0ULL
struct {
   struct donor_buffer *   recv
   struct donor_buffer *   send
   unsigned   send_slot
   unsigned   recv_slot
_vnet
public ProgramConsole

Macro Definition Documentation

#define EXPERIMENTAL
#define EXPERIMENTAL
#define PT_FUNC (   NAME)    static void NAME(unsigned pid, Vancouver *tls, Utcb *utcb) __attribute__((regparm(1)))
#define VANCOUVER_CONFIG_SEPARATOR   "||"
#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.

These are not absolute offsets. Each VCPU gets its own block of caps (obviously).

Enumerator:
PT_VMX 
PT_SVM 

Function Documentation

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"   
)
PARAM_HANDLER ( kbmodifier  ,
"kbmodifier:value - change the kbmodifier. Default: RWIN."  ,
"Example: 'kbmodifier:0x40000' uses LWIN as modifier."  ,
"See keyboard.h for definitions."   
)
PARAM_HANDLER ( panic  ,
"panic - panic the system at creation time"   
)

Variable Documentation

char __freemem
long _consolelock
unsigned _debug
bool _donor_net = false
bool _dpci
const void* _forward_pkt
unsigned _keyboard_modifier = KBFLAG_RWIN
timevalue _last_to = ~0ULL
Semaphore _lock
unsigned _ncpu = 1
unsigned long _original_physsize
bool _rdtsc_exit
bool _service_events = false
unsigned _shared_sem[256]
TimeoutList<32, void> _timeouts
bool _tsc_offset = false
struct { ... } _vnet
struct donor_buffer* recv
unsigned recv_slot
struct donor_buffer* send
unsigned send_slot