0001
0002 #ifndef _SPARC64_HVTRAP_H
0003 #define _SPARC64_HVTRAP_H
0004
0005 #ifndef __ASSEMBLY__
0006
0007 #include <linux/types.h>
0008
0009 struct hvtramp_mapping {
0010 __u64 vaddr;
0011 __u64 tte;
0012 };
0013
0014 struct hvtramp_descr {
0015 __u32 cpu;
0016 __u32 num_mappings;
0017 __u64 fault_info_va;
0018 __u64 fault_info_pa;
0019 __u64 thread_reg;
0020 struct hvtramp_mapping maps[1];
0021 };
0022
0023 void hv_cpu_startup(unsigned long hvdescr_pa);
0024
0025 #endif
0026
0027 #define HVTRAMP_DESCR_CPU 0x00
0028 #define HVTRAMP_DESCR_NUM_MAPPINGS 0x04
0029 #define HVTRAMP_DESCR_FAULT_INFO_VA 0x08
0030 #define HVTRAMP_DESCR_FAULT_INFO_PA 0x10
0031 #define HVTRAMP_DESCR_THREAD_REG 0x18
0032 #define HVTRAMP_DESCR_MAPS 0x20
0033
0034 #define HVTRAMP_MAPPING_VADDR 0x00
0035 #define HVTRAMP_MAPPING_TTE 0x08
0036 #define HVTRAMP_MAPPING_SIZE 0x10
0037
0038 #endif