1 /*
2  * Copyright (c) 2006-2023, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2022-02-24     GuEe-GUI     first version
9  * 2023-02-21     GuEe-GUI     update API
10  */
11 
12 #include <hypercall.h>
13 
rt_hv_version(rt_uint32_t * out_version)14 rt_err_t rt_hv_version(rt_uint32_t *out_version)
15 {
16     if (out_version)
17     {
18         *out_version = rt_hw_hypercall(HYPERCALL_START + 0, 0, 0, 0, 0, 0, 0, 0);
19 
20         if ((int)*out_version < 0)
21         {
22             return *out_version;
23         }
24     }
25 
26     return -RT_EINVAL;
27 }
28 
rt_hv_debug(rt_uint32_t id,rt_uint32_t argc,rt_ubase_t arg0,rt_ubase_t arg1,rt_ubase_t arg2,rt_ubase_t arg3,rt_ubase_t arg4)29 rt_err_t rt_hv_debug(rt_uint32_t id, rt_uint32_t argc,
30         rt_ubase_t arg0, rt_ubase_t arg1, rt_ubase_t arg2,
31         rt_ubase_t arg3, rt_ubase_t arg4)
32 {
33     return rt_hw_hypercall(HYPERCALL_START + 1, id,
34             arg0, arg1, arg2, arg3, arg4, argc);
35 }
36 
rt_hv_console(char c)37 rt_err_t rt_hv_console(char c)
38 {
39     return rt_hw_hypercall(HYPERCALL_START + 2, c, 0, 0, 0, 0, 0, 0);
40 }
41