blob: 35aba8dda974337dc0d766fe0b1abdd880a0f668 [file] [log] [blame]
Andrew Scullfbc938a2018-08-20 14:09:28 +01001#pragma once
Wedson Almeida Filho3fcbcff2018-07-10 23:53:39 +01002
Andrew Scull18c78fc2018-08-20 12:57:41 +01003#include "hf/cpu.h"
4#include "hf/vm.h"
Wedson Almeida Filho3fcbcff2018-07-10 23:53:39 +01005
Andrew Scullc0e569a2018-10-02 18:05:21 +01006int64_t api_vm_get_count(void);
7int64_t api_vcpu_get_count(uint32_t vm_id);
8int64_t api_vcpu_run(uint32_t vm_id, uint32_t vcpu_idx, struct vcpu **next);
9int64_t api_vm_configure(ipaddr_t send, ipaddr_t recv);
Wedson Almeida Filho2f94ec12018-07-26 16:00:48 +010010
Andrew Scullaa039b32018-10-04 15:02:26 +010011int64_t api_mailbox_send(uint32_t vm_id, size_t size, struct vcpu **next);
12int64_t api_mailbox_receive(bool block, struct vcpu **next);
13int64_t api_mailbox_clear(void);
Andrew Scull6bca35e2018-10-02 12:05:32 +010014
15struct vcpu *api_wait_for_interrupt(void);
16struct vcpu *api_yield(void);