xref: /kvm-unit-tests/lib/arm64/asm/esr.h (revision 201b9e8bdc84c6436dd53b45d93a60c681b92719)
17ee966e9SAndrew Jones /*
27ee966e9SAndrew Jones  * From Linux kernel arch/arm64/include/asm/esr.h
349f758b8SAndrew Jones  *
449f758b8SAndrew Jones  * Copyright (C) 2017, Red Hat Inc, Andrew Jones <drjones@redhat.com>
549f758b8SAndrew Jones  *
649f758b8SAndrew Jones  * This work is licensed under the terms of the GNU GPL, version 2.
77ee966e9SAndrew Jones  */
87ee966e9SAndrew Jones #ifndef _ASMARM64_ESR_H_
97ee966e9SAndrew Jones #define _ASMARM64_ESR_H_
107ee966e9SAndrew Jones 
117ee966e9SAndrew Jones #define ESR_EL1_WRITE		(1 << 6)
127ee966e9SAndrew Jones #define ESR_EL1_CM		(1 << 8)
137ee966e9SAndrew Jones #define ESR_EL1_IL		(1 << 25)
147ee966e9SAndrew Jones 
157ee966e9SAndrew Jones #define ESR_EL1_EC_SHIFT	(26)
167ee966e9SAndrew Jones #define ESR_EL1_EC_UNKNOWN	(0x00)
177ee966e9SAndrew Jones #define ESR_EL1_EC_WFI		(0x01)
187ee966e9SAndrew Jones #define ESR_EL1_EC_CP15_32	(0x03)
197ee966e9SAndrew Jones #define ESR_EL1_EC_CP15_64	(0x04)
207ee966e9SAndrew Jones #define ESR_EL1_EC_CP14_MR	(0x05)
217ee966e9SAndrew Jones #define ESR_EL1_EC_CP14_LS	(0x06)
227ee966e9SAndrew Jones #define ESR_EL1_EC_FP_ASIMD	(0x07)
237ee966e9SAndrew Jones #define ESR_EL1_EC_CP10_ID	(0x08)
247ee966e9SAndrew Jones #define ESR_EL1_EC_CP14_64	(0x0C)
257ee966e9SAndrew Jones #define ESR_EL1_EC_ILL_ISS	(0x0E)
267ee966e9SAndrew Jones #define ESR_EL1_EC_SVC32	(0x11)
277ee966e9SAndrew Jones #define ESR_EL1_EC_SVC64	(0x15)
287ee966e9SAndrew Jones #define ESR_EL1_EC_SYS64	(0x18)
29*1afc6fb7SJoey Gouly #define ESR_EL1_EC_SVE		(0x19)
307ee966e9SAndrew Jones #define ESR_EL1_EC_IABT_EL0	(0x20)
317ee966e9SAndrew Jones #define ESR_EL1_EC_IABT_EL1	(0x21)
327ee966e9SAndrew Jones #define ESR_EL1_EC_PC_ALIGN	(0x22)
337ee966e9SAndrew Jones #define ESR_EL1_EC_DABT_EL0	(0x24)
347ee966e9SAndrew Jones #define ESR_EL1_EC_DABT_EL1	(0x25)
357ee966e9SAndrew Jones #define ESR_EL1_EC_SP_ALIGN	(0x26)
367ee966e9SAndrew Jones #define ESR_EL1_EC_FP_EXC32	(0x28)
377ee966e9SAndrew Jones #define ESR_EL1_EC_FP_EXC64	(0x2C)
387ee966e9SAndrew Jones #define ESR_EL1_EC_SERROR	(0x2F)
397ee966e9SAndrew Jones #define ESR_EL1_EC_BREAKPT_EL0	(0x30)
407ee966e9SAndrew Jones #define ESR_EL1_EC_BREAKPT_EL1	(0x31)
417ee966e9SAndrew Jones #define ESR_EL1_EC_SOFTSTP_EL0	(0x32)
427ee966e9SAndrew Jones #define ESR_EL1_EC_SOFTSTP_EL1	(0x33)
437ee966e9SAndrew Jones #define ESR_EL1_EC_WATCHPT_EL0	(0x34)
447ee966e9SAndrew Jones #define ESR_EL1_EC_WATCHPT_EL1	(0x35)
457ee966e9SAndrew Jones #define ESR_EL1_EC_BKPT32	(0x38)
467ee966e9SAndrew Jones #define ESR_EL1_EC_BRK64	(0x3C)
477ee966e9SAndrew Jones 
48cf251b71SAndrew Jones #define ESR_EL1_FSC_MASK	(0x3F)
49cf251b71SAndrew Jones #define ESR_EL1_FSC_EXTABT	(0x10)
50cf251b71SAndrew Jones 
517ee966e9SAndrew Jones #endif /* _ASMARM64_ESR_H_ */
52