]> git.lizzy.rs Git - plan9front.git/blob - sys/src/9/bcm64/sysreg.h
c057bbba8a316b80fbb51758b78e0990e6d4c1e9
[plan9front.git] / sys / src / 9 / bcm64 / sysreg.h
1 #define MIDR_EL1                        SYSREG(3,0,0,0,0)
2 #define MPIDR_EL1                       SYSREG(3,0,0,0,5)
3 #define ID_AA64AFR0_EL1                 SYSREG(3,0,0,5,4)
4 #define ID_AA64AFR1_EL1                 SYSREG(3,0,0,5,5)
5 #define ID_AA64DFR0_EL1                 SYSREG(3,0,0,5,0)
6 #define ID_AA64DFR1_EL1                 SYSREG(3,0,0,5,1)
7 #define ID_AA64ISAR0_EL1                SYSREG(3,0,0,6,0)
8 #define ID_AA64ISAR1_EL1                SYSREG(3,0,0,6,1)
9 #define ID_AA64MMFR0_EL1                SYSREG(3,0,0,7,0)
10 #define ID_AA64MMFR1_EL1                SYSREG(3,0,0,7,1)
11 #define ID_AA64PFR0_EL1                 SYSREG(3,0,0,4,0)
12 #define ID_AA64PFR1_EL1                 SYSREG(3,0,0,4,1)
13 #define SCTLR_EL1                       SYSREG(3,0,1,0,0)
14 #define CPACR_EL1                       SYSREG(3,0,1,0,2)
15 #define MAIR_EL1                        SYSREG(3,0,10,2,0)
16 #define TCR_EL1                         SYSREG(3,0,2,0,2)
17 #define TTBR0_EL1                       SYSREG(3,0,2,0,0)
18 #define TTBR1_EL1                       SYSREG(3,0,2,0,1)
19 #define ESR_EL1                         SYSREG(3,0,5,2,0)
20 #define FAR_EL1                         SYSREG(3,0,6,0,0)
21 #define VBAR_EL1                        SYSREG(3,0,12,0,0)
22 #define VTTBR_EL2                       SYSREG(3,4,2,1,0)
23 #define SP_EL0                          SYSREG(3,0,4,1,0)
24 #define SP_EL1                          SYSREG(3,4,4,1,0)
25 #define SP_EL2                          SYSREG(3,6,4,1,0)
26 #define SCTLR_EL2                       SYSREG(3,4,1,0,0)
27 #define HCR_EL2                         SYSREG(3,4,1,1,0)
28 #define MDCR_EL2                        SYSREG(3,4,1,1,1)
29 #define PMCR_EL0                        SYSREG(3,3,9,12,0)
30 #define PMCNTENSET                      SYSREG(3,3,9,12,1)
31 #define PMCCNTR_EL0                     SYSREG(3,3,9,13,0)
32 #define PMUSERENR_EL0                   SYSREG(3,3,9,14,0)
33
34 #define CNTPCT_EL0                      SYSREG(3,3,14,0,1)
35 #define CNTP_TVAL_EL0                   SYSREG(3,3,14,2,0)
36 #define CNTP_CTL_EL0                    SYSREG(3,3,14,2,1)
37 #define CNTP_CVAL_EL0                   SYSREG(3,3,14,2,2)
38
39 #define TPIDR_EL0                       SYSREG(3,3,13,0,2)
40 #define TPIDR_EL1                       SYSREG(3,0,13,0,4)
41
42 #define CCSIDR_EL1                      SYSREG(3,1,0,0,0)
43 #define CSSELR_EL1                      SYSREG(3,2,0,0,0)
44
45 #define ACTLR_EL2                       SYSREG(3,4,1,0,1)
46 #define CPUACTLR_EL1                    SYSREG(3,1,15,2,0)
47 #define CPUECTLR_EL1                    SYSREG(3,1,15,2,1)
48 #define CBAR_EL1                        SYSREG(3,1,15,3,0)
49
50 /* l.s redefines this for the assembler */
51 #define SYSREG(op0,op1,Cn,Cm,op2)       ((op0)<<19|(op1)<<16|(Cn)<<12|(Cm)<<8|(op2)<<5)
52
53 #define OSHLD   (0<<2 | 1)
54 #define OSHST   (0<<2 | 2)
55 #define OSH     (0<<2 | 3)
56 #define NSHLD   (1<<2 | 1)
57 #define NSHST   (1<<2 | 2)
58 #define NSH     (1<<2 | 3)
59 #define ISHLD   (2<<2 | 1)
60 #define ISHST   (2<<2 | 2)
61 #define ISH     (2<<2 | 3)
62 #define LD      (3<<2 | 1)
63 #define ST      (3<<2 | 2)
64 #define SY      (3<<2 | 3)