blob: eb6a3864e9c07d140d9a9ba263b605edff7903aa [file] [log] [blame]
Wedson Almeida Filho987c0ff2018-06-20 16:34:38 +01001#ifndef _VM_H
2#define _VM_H
3
4#include "cpu.h"
5
6struct vm {
7 struct vcpu vcpus[MAX_CPUS];
Wedson Almeida Filho87009642018-07-02 10:20:07 +01008 uint32_t vcpu_count;
Wedson Almeida Filho987c0ff2018-06-20 16:34:38 +01009 struct arch_page_table page_table;
10};
11
Wedson Almeida Filho87009642018-07-02 10:20:07 +010012void vm_init(struct vm *vm, uint32_t vcpu_count);
13void vm_start_vcpu(struct vm *vm, size_t index, size_t entry, size_t arg,
14 bool is_primary);
Wedson Almeida Filho987c0ff2018-06-20 16:34:38 +010015
Andrew Scull4f170f52018-07-19 12:58:20 +010016#endif /* _VM_H */