#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 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 | ||||
) |
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 | ||||
) |
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 | ||||
) |
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}, |
enum Cap_space_layout |
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 | , | |||
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" | ||||
) |
long _consolelock |
unsigned _debug |
bool _dpci |
const void* _forward_pkt |
unsigned _keyboard_modifier = KBFLAG_RWIN |
panic panic the system at creation time _ncpu = 1 |
bool _rdtsc_exit |
unsigned _shared_sem[256] |
TimeoutList<32, void> _timeouts |
bool _tsc_offset = false |
if(argv[0]) Logging |