hvtramp.h 782 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _SPARC64_HVTRAP_H
  3. #define _SPARC64_HVTRAP_H
  4. #ifndef __ASSEMBLY__
  5. #include <linux/types.h>
  6. struct hvtramp_mapping {
  7. __u64 vaddr;
  8. __u64 tte;
  9. };
  10. struct hvtramp_descr {
  11. __u32 cpu;
  12. __u32 num_mappings;
  13. __u64 fault_info_va;
  14. __u64 fault_info_pa;
  15. __u64 thread_reg;
  16. struct hvtramp_mapping maps[1];
  17. };
  18. void hv_cpu_startup(unsigned long hvdescr_pa);
  19. #endif
  20. #define HVTRAMP_DESCR_CPU 0x00
  21. #define HVTRAMP_DESCR_NUM_MAPPINGS 0x04
  22. #define HVTRAMP_DESCR_FAULT_INFO_VA 0x08
  23. #define HVTRAMP_DESCR_FAULT_INFO_PA 0x10
  24. #define HVTRAMP_DESCR_THREAD_REG 0x18
  25. #define HVTRAMP_DESCR_MAPS 0x20
  26. #define HVTRAMP_MAPPING_VADDR 0x00
  27. #define HVTRAMP_MAPPING_TTE 0x08
  28. #define HVTRAMP_MAPPING_SIZE 0x10
  29. #endif /* _SPARC64_HVTRAP_H */