Andrew Scull | fbc938a | 2018-08-20 14:09:28 +0100 | [diff] [blame] | 1 | #pragma once |
Wedson Almeida Filho | 3fcbcff | 2018-07-10 23:53:39 +0100 | [diff] [blame] | 2 | |
Andrew Scull | 18c78fc | 2018-08-20 12:57:41 +0100 | [diff] [blame] | 3 | #include "hf/cpu.h" |
| 4 | #include "hf/vm.h" |
Wedson Almeida Filho | 3fcbcff | 2018-07-10 23:53:39 +0100 | [diff] [blame] | 5 | |
Andrew Scull | c0e569a | 2018-10-02 18:05:21 +0100 | [diff] [blame] | 6 | int64_t api_vm_get_count(void); |
| 7 | int64_t api_vcpu_get_count(uint32_t vm_id); |
| 8 | int64_t api_vcpu_run(uint32_t vm_id, uint32_t vcpu_idx, struct vcpu **next); |
| 9 | int64_t api_vm_configure(ipaddr_t send, ipaddr_t recv); |
Wedson Almeida Filho | 2f94ec1 | 2018-07-26 16:00:48 +0100 | [diff] [blame] | 10 | |
Andrew Scull | aa039b3 | 2018-10-04 15:02:26 +0100 | [diff] [blame^] | 11 | int64_t api_mailbox_send(uint32_t vm_id, size_t size, struct vcpu **next); |
| 12 | int64_t api_mailbox_receive(bool block, struct vcpu **next); |
| 13 | int64_t api_mailbox_clear(void); |
Andrew Scull | 6bca35e | 2018-10-02 12:05:32 +0100 | [diff] [blame] | 14 | |
| 15 | struct vcpu *api_wait_for_interrupt(void); |
| 16 | struct vcpu *api_yield(void); |