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