162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef _SPARC64_HVTRAP_H 362306a36Sopenharmony_ci#define _SPARC64_HVTRAP_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#ifndef __ASSEMBLY__ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include <linux/types.h> 862306a36Sopenharmony_ci 962306a36Sopenharmony_cistruct hvtramp_mapping { 1062306a36Sopenharmony_ci __u64 vaddr; 1162306a36Sopenharmony_ci __u64 tte; 1262306a36Sopenharmony_ci}; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_cistruct hvtramp_descr { 1562306a36Sopenharmony_ci __u32 cpu; 1662306a36Sopenharmony_ci __u32 num_mappings; 1762306a36Sopenharmony_ci __u64 fault_info_va; 1862306a36Sopenharmony_ci __u64 fault_info_pa; 1962306a36Sopenharmony_ci __u64 thread_reg; 2062306a36Sopenharmony_ci struct hvtramp_mapping maps[1]; 2162306a36Sopenharmony_ci}; 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_civoid hv_cpu_startup(unsigned long hvdescr_pa); 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci#endif 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci#define HVTRAMP_DESCR_CPU 0x00 2862306a36Sopenharmony_ci#define HVTRAMP_DESCR_NUM_MAPPINGS 0x04 2962306a36Sopenharmony_ci#define HVTRAMP_DESCR_FAULT_INFO_VA 0x08 3062306a36Sopenharmony_ci#define HVTRAMP_DESCR_FAULT_INFO_PA 0x10 3162306a36Sopenharmony_ci#define HVTRAMP_DESCR_THREAD_REG 0x18 3262306a36Sopenharmony_ci#define HVTRAMP_DESCR_MAPS 0x20 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci#define HVTRAMP_MAPPING_VADDR 0x00 3562306a36Sopenharmony_ci#define HVTRAMP_MAPPING_TTE 0x08 3662306a36Sopenharmony_ci#define HVTRAMP_MAPPING_SIZE 0x10 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci#endif /* _SPARC64_HVTRAP_H */ 39