hypercall.c 921 B

12345678910111213141516171819202122232425262728293031323334353637383940
  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. #include <hypercall.h>
  12. rt_err_t rt_hv_version(rt_uint32_t *out_version)
  13. {
  14. if (out_version)
  15. {
  16. *out_version = rt_hw_hypercall(HYPERCALL_START + 0, 0, 0, 0, 0, 0, 0, 0);
  17. if ((int)*out_version < 0)
  18. {
  19. return *out_version;
  20. }
  21. }
  22. return -RT_EINVAL;
  23. }
  24. rt_err_t rt_hv_debug(rt_uint32_t id, rt_uint32_t argc,
  25. rt_ubase_t arg0, rt_ubase_t arg1, rt_ubase_t arg2,
  26. rt_ubase_t arg3, rt_ubase_t arg4)
  27. {
  28. return rt_hw_hypercall(HYPERCALL_START + 1, id,
  29. arg0, arg1, arg2, arg3, arg4, argc);
  30. }
  31. rt_err_t rt_hv_console(char c)
  32. {
  33. return rt_hw_hypercall(HYPERCALL_START + 2, c, 0, 0, 0, 0, 0, 0);
  34. }