gh_common.h 907 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
  5. *
  6. */
  7. #ifndef __GH_COMMON_H
  8. #define __GH_COMMON_H
  9. #include <linux/types.h>
  10. /* Common Gunyah types */
  11. typedef u16 gh_vmid_t;
  12. typedef u32 gh_rm_msgid_t;
  13. typedef u32 gh_virq_handle_t;
  14. typedef u32 gh_label_t;
  15. typedef u32 gh_memparcel_handle_t;
  16. typedef u64 gh_capid_t;
  17. typedef u64 gh_dbl_flags_t;
  18. struct gh_vminfo {
  19. u8 *guid;
  20. char *uri;
  21. char *name;
  22. char *sign_auth;
  23. };
  24. /* Common Gunyah macros */
  25. #define GH_CAPID_INVAL U64_MAX
  26. #define GH_VMID_INVAL U16_MAX
  27. enum gh_vm_names {
  28. /*
  29. * GH_SELF_VM is an alias for VMID 0. Useful for RM APIs which allow
  30. * operations on current VM such as console
  31. */
  32. GH_SELF_VM,
  33. GH_PRIMARY_VM,
  34. GH_TRUSTED_VM,
  35. GH_CPUSYS_VM,
  36. GH_OEM_VM,
  37. GH_AUTO_VM,
  38. GH_VM_MAX
  39. };
  40. #endif