1a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#ifndef _SPARC64_HVTRAP_H 2a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#define _SPARC64_HVTRAP_H 3a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg 4a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#ifndef __ASSEMBLY__ 5a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg 6a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#include <linux/types.h> 7a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg 8a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborgstruct hvtramp_mapping { 9a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg __u64 vaddr; 10a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg __u64 tte; 11a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg}; 12a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg 13a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborgstruct hvtramp_descr { 14a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg __u32 cpu; 15a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg __u32 num_mappings; 16a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg __u64 fault_info_va; 17a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg __u64 fault_info_pa; 18a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg __u64 thread_reg; 19a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg struct hvtramp_mapping maps[1]; 20a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg}; 21a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg 22f05a68653e56ca2f23bccf7e50be69486886f052Sam Ravnborgvoid hv_cpu_startup(unsigned long hvdescr_pa); 23a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg 24a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#endif 25a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg 26a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#define HVTRAMP_DESCR_CPU 0x00 27a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#define HVTRAMP_DESCR_NUM_MAPPINGS 0x04 28a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#define HVTRAMP_DESCR_FAULT_INFO_VA 0x08 29a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#define HVTRAMP_DESCR_FAULT_INFO_PA 0x10 30a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#define HVTRAMP_DESCR_THREAD_REG 0x18 31a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#define HVTRAMP_DESCR_MAPS 0x20 32a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg 33a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#define HVTRAMP_MAPPING_VADDR 0x00 34a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#define HVTRAMP_MAPPING_TTE 0x08 35a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#define HVTRAMP_MAPPING_SIZE 0x10 36a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg 37a00736e936c2a1e9c36f22f6f3a69392eaab51f4Sam Ravnborg#endif /* _SPARC64_HVTRAP_H */ 38