1a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/**************************************************************************** 2a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng **************************************************************************** 3a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** 4a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** This header was automatically generated from a Linux kernel header 5a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** of the same name, to make information necessary for userspace to 6a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** call into the kernel available to libc. It contains only constants, 7a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** structures, and macros generated from the original header, and thus, 8a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** contains no copyrightable information. 9a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** 10a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** To edit the content of this header, modify the corresponding 11a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** source file (e.g. under external/kernel-headers/original/) then 12a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** run bionic/libc/kernel/tools/update_all.py 13a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** 14a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** Any manual change here will be lost the next time this script will 15a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** be run. You've been warned! 16a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** 17a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng **************************************************************************** 18a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng ****************************************************************************/ 19a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#ifndef __ARM_KVM_H__ 20a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define __ARM_KVM_H__ 21a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#include <linux/types.h> 22a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#include <asm/ptrace.h> 23a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define __KVM_HAVE_GUEST_DEBUG 25a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define __KVM_HAVE_IRQ_LINE 26a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_SIZE(id) (1U << (((id) & KVM_REG_SIZE_MASK) >> KVM_REG_SIZE_SHIFT)) 27a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_SVC_sp svc_regs[0] 28a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_SVC_lr svc_regs[1] 30a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_SVC_spsr svc_regs[2] 31a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_ABT_sp abt_regs[0] 32a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_ABT_lr abt_regs[1] 33a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_ABT_spsr abt_regs[2] 35a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_UND_sp und_regs[0] 36a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_UND_lr und_regs[1] 37a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_UND_spsr und_regs[2] 38a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_sp irq_regs[0] 40a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_lr irq_regs[1] 41a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_spsr irq_regs[2] 42a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_FIQ_r8 fiq_regs[0] 43a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_FIQ_r9 fiq_regs[1] 45a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_FIQ_r10 fiq_regs[2] 46a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_FIQ_fp fiq_regs[3] 47a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_FIQ_ip fiq_regs[4] 48a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_FIQ_sp fiq_regs[5] 50a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_FIQ_lr fiq_regs[6] 51a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_FIQ_spsr fiq_regs[7] 52a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Chengstruct kvm_regs { 53a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng struct pt_regs usr_regs; 55a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng unsigned long svc_regs[3]; 56a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng unsigned long abt_regs[3]; 57a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng unsigned long und_regs[3]; 58a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng unsigned long irq_regs[3]; 60a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng unsigned long fiq_regs[8]; 61a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng}; 62a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_TARGET_CORTEX_A15 0 63a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_ARM_TARGET_CORTEX_A7 1 6538062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_ARM_NUM_TARGETS 2 66a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_DEVICE_TYPE_SHIFT 0 67a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_DEVICE_TYPE_MASK (0xffff << KVM_ARM_DEVICE_TYPE_SHIFT) 68a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_ARM_DEVICE_ID_SHIFT 16 70a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_DEVICE_ID_MASK (0xffff << KVM_ARM_DEVICE_ID_SHIFT) 71a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_DEVICE_VGIC_V2 0 72a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_VGIC_V2_ADDR_TYPE_DIST 0 73a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_VGIC_V2_ADDR_TYPE_CPU 1 75a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_VGIC_V2_DIST_SIZE 0x1000 76a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_VGIC_V2_CPU_SIZE 0x2000 77a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_VCPU_POWER_OFF 0 78a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7938062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisstruct kvm_vcpu_init { 80a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng __u32 target; 81a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng __u32 features[7]; 82a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng}; 83a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8438062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisstruct kvm_sregs { 85a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng}; 86a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Chengstruct kvm_fpu { 87a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng}; 88a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8938062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisstruct kvm_guest_debug_arch { 90a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng}; 91a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Chengstruct kvm_debug_exit_arch { 92a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng}; 93a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9438062f954c637861348dd8078cefb73554e6f12cChristopher Ferrisstruct kvm_sync_regs { 95a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng}; 96a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Chengstruct kvm_arch_memory_slot { 97a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng}; 98a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_REG_ARM_COPROC_MASK 0x000000000FFF0000 100a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_COPROC_SHIFT 16 101a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_32_OPC2_MASK 0x0000000000000007 102a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_32_OPC2_SHIFT 0 103a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_REG_ARM_OPC1_MASK 0x0000000000000078 105a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_OPC1_SHIFT 3 106a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_CRM_MASK 0x0000000000000780 107a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_CRM_SHIFT 7 108a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_REG_ARM_32_CRN_MASK 0x0000000000007800 110a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_32_CRN_SHIFT 11 11138062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define ARM_CP15_REG_SHIFT_MASK(x,n) (((x) << KVM_REG_ARM_ ## n ## _SHIFT) & KVM_REG_ARM_ ## n ## _MASK) 11238062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define __ARM_CP15_REG(op1,crn,crm,op2) (KVM_REG_ARM | (15 << KVM_REG_ARM_COPROC_SHIFT) | ARM_CP15_REG_SHIFT_MASK(op1, OPC1) | ARM_CP15_REG_SHIFT_MASK(crn, 32_CRN) | ARM_CP15_REG_SHIFT_MASK(crm, CRM) | ARM_CP15_REG_SHIFT_MASK(op2, 32_OPC2)) 11338062f954c637861348dd8078cefb73554e6f12cChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define ARM_CP15_REG32(...) (__ARM_CP15_REG(__VA_ARGS__) | KVM_REG_SIZE_U32) 11538062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define __ARM_CP15_REG64(op1,crm) (__ARM_CP15_REG(op1, 0, crm, 0) | KVM_REG_SIZE_U64) 11638062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define ARM_CP15_REG64(...) __ARM_CP15_REG64(__VA_ARGS__) 11738062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_REG_ARM_TIMER_CTL ARM_CP15_REG32(0, 14, 3, 1) 11838062f954c637861348dd8078cefb73554e6f12cChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_REG_ARM_TIMER_CNT ARM_CP15_REG64(1, 14) 12038062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_REG_ARM_TIMER_CVAL ARM_CP15_REG64(3, 14) 121a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_CORE (0x0010 << KVM_REG_ARM_COPROC_SHIFT) 122a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_CORE_REG(name) (offsetof(struct kvm_regs, name) / 4) 123a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 12438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_REG_ARM_DEMUX (0x0011 << KVM_REG_ARM_COPROC_SHIFT) 125a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_DEMUX_ID_MASK 0x000000000000FF00 126a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_DEMUX_ID_SHIFT 8 127a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_DEMUX_ID_CCSIDR (0x00 << KVM_REG_ARM_DEMUX_ID_SHIFT) 128a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 12938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_REG_ARM_DEMUX_VAL_MASK 0x00000000000000FF 130a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_DEMUX_VAL_SHIFT 0 131a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_VFP (0x0012 << KVM_REG_ARM_COPROC_SHIFT) 132a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_VFP_MASK 0x000000000000FFFF 133a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 13438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_REG_ARM_VFP_BASE_REG 0x0 135a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_VFP_FPSID 0x1000 136a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_VFP_FPSCR 0x1001 137a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_VFP_MVFR1 0x1006 138a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 13938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_REG_ARM_VFP_MVFR0 0x1007 140a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_VFP_FPEXC 0x1008 141a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_VFP_FPINST 0x1009 142a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_REG_ARM_VFP_FPINST2 0x100A 14338062f954c637861348dd8078cefb73554e6f12cChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 14438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_DEV_ARM_VGIC_GRP_ADDR 0 14538062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1 14638062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2 14738062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_DEV_ARM_VGIC_CPUID_SHIFT 32 14838062f954c637861348dd8078cefb73554e6f12cChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 14938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_DEV_ARM_VGIC_CPUID_MASK (0xffULL << KVM_DEV_ARM_VGIC_CPUID_SHIFT) 15038062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_DEV_ARM_VGIC_OFFSET_SHIFT 0 15138062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define KVM_DEV_ARM_VGIC_OFFSET_MASK (0xffffffffULL << KVM_DEV_ARM_VGIC_OFFSET_SHIFT) 152a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_TYPE_SHIFT 24 153a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_TYPE_MASK 0xff 155a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_VCPU_SHIFT 16 156a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_VCPU_MASK 0xff 157a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_NUM_SHIFT 0 158a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_NUM_MASK 0xffff 160a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_TYPE_CPU 0 161a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_TYPE_SPI 1 162a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_TYPE_PPI 2 163a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_CPU_IRQ 0 165a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_CPU_FIQ 1 166a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_ARM_IRQ_GIC_MAX 127 167a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_PSCI_FN_BASE 0x95c1ba5e 168a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_PSCI_FN(n) (KVM_PSCI_FN_BASE + (n)) 170a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_PSCI_FN_CPU_SUSPEND KVM_PSCI_FN(0) 171a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_PSCI_FN_CPU_OFF KVM_PSCI_FN(1) 172a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_PSCI_FN_CPU_ON KVM_PSCI_FN(2) 173a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_PSCI_FN_MIGRATE KVM_PSCI_FN(3) 175a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_PSCI_RET_SUCCESS 0 176a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_PSCI_RET_NI ((unsigned long)-1) 177a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_PSCI_RET_INVAL ((unsigned long)-2) 178a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define KVM_PSCI_RET_DENIED ((unsigned long)-3) 180a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#endif 181