Wedson Almeida Filho | 987c0ff | 2018-06-20 16:34:38 +0100 | [diff] [blame] | 1 | #ifndef _VM_H |
| 2 | #define _VM_H |
| 3 | |
| 4 | #include "cpu.h" |
| 5 | |
| 6 | struct vm { |
| 7 | struct vcpu vcpus[MAX_CPUS]; |
Wedson Almeida Filho | 8700964 | 2018-07-02 10:20:07 +0100 | [diff] [blame] | 8 | uint32_t vcpu_count; |
Wedson Almeida Filho | 987c0ff | 2018-06-20 16:34:38 +0100 | [diff] [blame] | 9 | struct arch_page_table page_table; |
| 10 | }; |
| 11 | |
Wedson Almeida Filho | 8700964 | 2018-07-02 10:20:07 +0100 | [diff] [blame] | 12 | void vm_init(struct vm *vm, uint32_t vcpu_count); |
| 13 | void vm_start_vcpu(struct vm *vm, size_t index, size_t entry, size_t arg, |
| 14 | bool is_primary); |
Wedson Almeida Filho | 987c0ff | 2018-06-20 16:34:38 +0100 | [diff] [blame] | 15 | |
Andrew Scull | 4f170f5 | 2018-07-19 12:58:20 +0100 | [diff] [blame^] | 16 | #endif /* _VM_H */ |