sysreg.h (d95c3885865b71e56d8d60c8617f2ce1f0fa079d) sysreg.h (fdec2a9ef853172529baaa192673b4cdb9a44fac)
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Macros for accessing system registers with older binutils.
4 *
5 * Copyright (C) 2014 ARM Ltd.
6 * Author: Catalin Marinas <catalin.marinas@arm.com>
7 */
8

--- 177 unchanged lines hidden (view full) ---

186#define SYS_APDAKEYLO_EL1 sys_reg(3, 0, 2, 2, 0)
187#define SYS_APDAKEYHI_EL1 sys_reg(3, 0, 2, 2, 1)
188#define SYS_APDBKEYLO_EL1 sys_reg(3, 0, 2, 2, 2)
189#define SYS_APDBKEYHI_EL1 sys_reg(3, 0, 2, 2, 3)
190
191#define SYS_APGAKEYLO_EL1 sys_reg(3, 0, 2, 3, 0)
192#define SYS_APGAKEYHI_EL1 sys_reg(3, 0, 2, 3, 1)
193
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Macros for accessing system registers with older binutils.
4 *
5 * Copyright (C) 2014 ARM Ltd.
6 * Author: Catalin Marinas <catalin.marinas@arm.com>
7 */
8

--- 177 unchanged lines hidden (view full) ---

186#define SYS_APDAKEYLO_EL1 sys_reg(3, 0, 2, 2, 0)
187#define SYS_APDAKEYHI_EL1 sys_reg(3, 0, 2, 2, 1)
188#define SYS_APDBKEYLO_EL1 sys_reg(3, 0, 2, 2, 2)
189#define SYS_APDBKEYHI_EL1 sys_reg(3, 0, 2, 2, 3)
190
191#define SYS_APGAKEYLO_EL1 sys_reg(3, 0, 2, 3, 0)
192#define SYS_APGAKEYHI_EL1 sys_reg(3, 0, 2, 3, 1)
193
194#define SYS_SPSR_EL1 sys_reg(3, 0, 4, 0, 0)
195#define SYS_ELR_EL1 sys_reg(3, 0, 4, 0, 1)
196
194#define SYS_ICC_PMR_EL1 sys_reg(3, 0, 4, 6, 0)
195
196#define SYS_AFSR0_EL1 sys_reg(3, 0, 5, 1, 0)
197#define SYS_AFSR1_EL1 sys_reg(3, 0, 5, 1, 1)
198#define SYS_ESR_EL1 sys_reg(3, 0, 5, 2, 0)
199
200#define SYS_ERRIDR_EL1 sys_reg(3, 0, 5, 3, 0)
201#define SYS_ERRSELR_EL1 sys_reg(3, 0, 5, 3, 1)

--- 175 unchanged lines hidden (view full) ---

377#define SYS_TPIDRRO_EL0 sys_reg(3, 3, 13, 0, 3)
378
379#define SYS_CNTFRQ_EL0 sys_reg(3, 3, 14, 0, 0)
380
381#define SYS_CNTP_TVAL_EL0 sys_reg(3, 3, 14, 2, 0)
382#define SYS_CNTP_CTL_EL0 sys_reg(3, 3, 14, 2, 1)
383#define SYS_CNTP_CVAL_EL0 sys_reg(3, 3, 14, 2, 2)
384
197#define SYS_ICC_PMR_EL1 sys_reg(3, 0, 4, 6, 0)
198
199#define SYS_AFSR0_EL1 sys_reg(3, 0, 5, 1, 0)
200#define SYS_AFSR1_EL1 sys_reg(3, 0, 5, 1, 1)
201#define SYS_ESR_EL1 sys_reg(3, 0, 5, 2, 0)
202
203#define SYS_ERRIDR_EL1 sys_reg(3, 0, 5, 3, 0)
204#define SYS_ERRSELR_EL1 sys_reg(3, 0, 5, 3, 1)

--- 175 unchanged lines hidden (view full) ---

380#define SYS_TPIDRRO_EL0 sys_reg(3, 3, 13, 0, 3)
381
382#define SYS_CNTFRQ_EL0 sys_reg(3, 3, 14, 0, 0)
383
384#define SYS_CNTP_TVAL_EL0 sys_reg(3, 3, 14, 2, 0)
385#define SYS_CNTP_CTL_EL0 sys_reg(3, 3, 14, 2, 1)
386#define SYS_CNTP_CVAL_EL0 sys_reg(3, 3, 14, 2, 2)
387
388#define SYS_CNTV_CTL_EL0 sys_reg(3, 3, 14, 3, 1)
389#define SYS_CNTV_CVAL_EL0 sys_reg(3, 3, 14, 3, 2)
390
385#define SYS_AARCH32_CNTP_TVAL sys_reg(0, 0, 14, 2, 0)
386#define SYS_AARCH32_CNTP_CTL sys_reg(0, 0, 14, 2, 1)
387#define SYS_AARCH32_CNTP_CVAL sys_reg(0, 2, 0, 14, 0)
388
389#define __PMEV_op2(n) ((n) & 0x7)
390#define __CNTR_CRm(n) (0x8 | (((n) >> 3) & 0x3))
391#define SYS_PMEVCNTRn_EL0(n) sys_reg(3, 3, 14, __CNTR_CRm(n), __PMEV_op2(n))
392#define __TYPER_CRm(n) (0xc | (((n) >> 3) & 0x3))
393#define SYS_PMEVTYPERn_EL0(n) sys_reg(3, 3, 14, __TYPER_CRm(n), __PMEV_op2(n))
394
391#define SYS_AARCH32_CNTP_TVAL sys_reg(0, 0, 14, 2, 0)
392#define SYS_AARCH32_CNTP_CTL sys_reg(0, 0, 14, 2, 1)
393#define SYS_AARCH32_CNTP_CVAL sys_reg(0, 2, 0, 14, 0)
394
395#define __PMEV_op2(n) ((n) & 0x7)
396#define __CNTR_CRm(n) (0x8 | (((n) >> 3) & 0x3))
397#define SYS_PMEVCNTRn_EL0(n) sys_reg(3, 3, 14, __CNTR_CRm(n), __PMEV_op2(n))
398#define __TYPER_CRm(n) (0xc | (((n) >> 3) & 0x3))
399#define SYS_PMEVTYPERn_EL0(n) sys_reg(3, 3, 14, __TYPER_CRm(n), __PMEV_op2(n))
400
395#define SYS_PMCCFILTR_EL0 sys_reg (3, 3, 14, 15, 7)
401#define SYS_PMCCFILTR_EL0 sys_reg(3, 3, 14, 15, 7)
396
397#define SYS_ZCR_EL2 sys_reg(3, 4, 1, 2, 0)
402
403#define SYS_ZCR_EL2 sys_reg(3, 4, 1, 2, 0)
398
399#define SYS_DACR32_EL2 sys_reg(3, 4, 3, 0, 0)
404#define SYS_DACR32_EL2 sys_reg(3, 4, 3, 0, 0)
405#define SYS_SPSR_EL2 sys_reg(3, 4, 4, 0, 0)
406#define SYS_ELR_EL2 sys_reg(3, 4, 4, 0, 1)
400#define SYS_IFSR32_EL2 sys_reg(3, 4, 5, 0, 1)
407#define SYS_IFSR32_EL2 sys_reg(3, 4, 5, 0, 1)
408#define SYS_ESR_EL2 sys_reg(3, 4, 5, 2, 0)
401#define SYS_VSESR_EL2 sys_reg(3, 4, 5, 2, 3)
402#define SYS_FPEXC32_EL2 sys_reg(3, 4, 5, 3, 0)
409#define SYS_VSESR_EL2 sys_reg(3, 4, 5, 2, 3)
410#define SYS_FPEXC32_EL2 sys_reg(3, 4, 5, 3, 0)
411#define SYS_FAR_EL2 sys_reg(3, 4, 6, 0, 0)
403
404#define SYS_VDISR_EL2 sys_reg(3, 4, 12, 1, 1)
405#define __SYS__AP0Rx_EL2(x) sys_reg(3, 4, 12, 8, x)
406#define SYS_ICH_AP0R0_EL2 __SYS__AP0Rx_EL2(0)
407#define SYS_ICH_AP0R1_EL2 __SYS__AP0Rx_EL2(1)
408#define SYS_ICH_AP0R2_EL2 __SYS__AP0Rx_EL2(2)
409#define SYS_ICH_AP0R3_EL2 __SYS__AP0Rx_EL2(3)
410

--- 28 unchanged lines hidden (view full) ---

439#define SYS_ICH_LR10_EL2 __SYS__LR8_EL2(2)
440#define SYS_ICH_LR11_EL2 __SYS__LR8_EL2(3)
441#define SYS_ICH_LR12_EL2 __SYS__LR8_EL2(4)
442#define SYS_ICH_LR13_EL2 __SYS__LR8_EL2(5)
443#define SYS_ICH_LR14_EL2 __SYS__LR8_EL2(6)
444#define SYS_ICH_LR15_EL2 __SYS__LR8_EL2(7)
445
446/* VHE encodings for architectural EL0/1 system registers */
412
413#define SYS_VDISR_EL2 sys_reg(3, 4, 12, 1, 1)
414#define __SYS__AP0Rx_EL2(x) sys_reg(3, 4, 12, 8, x)
415#define SYS_ICH_AP0R0_EL2 __SYS__AP0Rx_EL2(0)
416#define SYS_ICH_AP0R1_EL2 __SYS__AP0Rx_EL2(1)
417#define SYS_ICH_AP0R2_EL2 __SYS__AP0Rx_EL2(2)
418#define SYS_ICH_AP0R3_EL2 __SYS__AP0Rx_EL2(3)
419

--- 28 unchanged lines hidden (view full) ---

448#define SYS_ICH_LR10_EL2 __SYS__LR8_EL2(2)
449#define SYS_ICH_LR11_EL2 __SYS__LR8_EL2(3)
450#define SYS_ICH_LR12_EL2 __SYS__LR8_EL2(4)
451#define SYS_ICH_LR13_EL2 __SYS__LR8_EL2(5)
452#define SYS_ICH_LR14_EL2 __SYS__LR8_EL2(6)
453#define SYS_ICH_LR15_EL2 __SYS__LR8_EL2(7)
454
455/* VHE encodings for architectural EL0/1 system registers */
456#define SYS_SCTLR_EL12 sys_reg(3, 5, 1, 0, 0)
457#define SYS_CPACR_EL12 sys_reg(3, 5, 1, 0, 2)
447#define SYS_ZCR_EL12 sys_reg(3, 5, 1, 2, 0)
458#define SYS_ZCR_EL12 sys_reg(3, 5, 1, 2, 0)
459#define SYS_TTBR0_EL12 sys_reg(3, 5, 2, 0, 0)
460#define SYS_TTBR1_EL12 sys_reg(3, 5, 2, 0, 1)
461#define SYS_TCR_EL12 sys_reg(3, 5, 2, 0, 2)
462#define SYS_SPSR_EL12 sys_reg(3, 5, 4, 0, 0)
463#define SYS_ELR_EL12 sys_reg(3, 5, 4, 0, 1)
464#define SYS_AFSR0_EL12 sys_reg(3, 5, 5, 1, 0)
465#define SYS_AFSR1_EL12 sys_reg(3, 5, 5, 1, 1)
466#define SYS_ESR_EL12 sys_reg(3, 5, 5, 2, 0)
467#define SYS_FAR_EL12 sys_reg(3, 5, 6, 0, 0)
468#define SYS_MAIR_EL12 sys_reg(3, 5, 10, 2, 0)
469#define SYS_AMAIR_EL12 sys_reg(3, 5, 10, 3, 0)
470#define SYS_VBAR_EL12 sys_reg(3, 5, 12, 0, 0)
471#define SYS_CONTEXTIDR_EL12 sys_reg(3, 5, 13, 0, 1)
472#define SYS_CNTKCTL_EL12 sys_reg(3, 5, 14, 1, 0)
473#define SYS_CNTP_TVAL_EL02 sys_reg(3, 5, 14, 2, 0)
474#define SYS_CNTP_CTL_EL02 sys_reg(3, 5, 14, 2, 1)
475#define SYS_CNTP_CVAL_EL02 sys_reg(3, 5, 14, 2, 2)
476#define SYS_CNTV_TVAL_EL02 sys_reg(3, 5, 14, 3, 0)
477#define SYS_CNTV_CTL_EL02 sys_reg(3, 5, 14, 3, 1)
478#define SYS_CNTV_CVAL_EL02 sys_reg(3, 5, 14, 3, 2)
448
449/* Common SCTLR_ELx flags. */
450#define SCTLR_ELx_DSSBS (_BITUL(44))
451#define SCTLR_ELx_ENIA (_BITUL(31))
452#define SCTLR_ELx_ENIB (_BITUL(30))
453#define SCTLR_ELx_ENDA (_BITUL(27))
454#define SCTLR_ELx_EE (_BITUL(25))
455#define SCTLR_ELx_IESB (_BITUL(21))

--- 382 unchanged lines hidden ---
479
480/* Common SCTLR_ELx flags. */
481#define SCTLR_ELx_DSSBS (_BITUL(44))
482#define SCTLR_ELx_ENIA (_BITUL(31))
483#define SCTLR_ELx_ENIB (_BITUL(30))
484#define SCTLR_ELx_ENDA (_BITUL(27))
485#define SCTLR_ELx_EE (_BITUL(25))
486#define SCTLR_ELx_IESB (_BITUL(21))

--- 382 unchanged lines hidden ---