#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 |
1.7.1