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 | |
Wedson Almeida Filho | 2f94ec1 | 2018-07-26 16:00:48 +0100 | [diff] [blame] | 6 | struct vcpu *api_switch_to_primary(size_t primary_retval, |
| 7 | enum vcpu_state secondary_state); |
| 8 | |
Wedson Almeida Filho | 3fcbcff | 2018-07-10 23:53:39 +0100 | [diff] [blame] | 9 | int32_t api_vm_get_count(void); |
Andrew Scull | 1950326 | 2018-09-20 14:48:39 +0100 | [diff] [blame] | 10 | int32_t api_vcpu_get_count(uint32_t vm_id); |
| 11 | int32_t api_vcpu_run(uint32_t vm_id, uint32_t vcpu_idx, struct vcpu **next); |
Wedson Almeida Filho | 3fcbcff | 2018-07-10 23:53:39 +0100 | [diff] [blame] | 12 | struct vcpu *api_wait_for_interrupt(void); |
Andrew Scull | 265ada9 | 2018-07-30 15:19:01 +0100 | [diff] [blame] | 13 | int32_t api_vm_configure(ipaddr_t send, ipaddr_t recv); |
Wedson Almeida Filho | 2f94ec1 | 2018-07-26 16:00:48 +0100 | [diff] [blame] | 14 | |
Andrew Scull | 1950326 | 2018-09-20 14:48:39 +0100 | [diff] [blame] | 15 | int32_t api_rpc_request(uint32_t vm_id, size_t size); |
Wedson Almeida Filho | 2f94ec1 | 2018-07-26 16:00:48 +0100 | [diff] [blame] | 16 | int32_t api_rpc_read_request(bool block, struct vcpu **next); |
| 17 | int32_t api_rpc_reply(size_t size, bool ack, struct vcpu **next); |
| 18 | int32_t api_rpc_ack(void); |