From 9c7d7e0db057c1bb3d9568b7777cfaad26187f05 Mon Sep 17 00:00:00 2001 From: Xie XiuQi Date: Tue, 29 Jan 2019 17:38:13 +0800 Subject: [PATCH 2808/2944] openEuler: arm64/mpam: set MPAM1_EL1/MPAM2_EL2 in mpam_sched_in() commit 2643efc096e0d94f2b52bdff524e218561d2da28 openEuler-1.0 hulk inclusion category: feature bugzilla: 5510 CVE: NA Signed-off-by: Xie XiuQi Reviewed-by: Hanjun Guo Signed-off-by: Yang Yingliang Signed-off-by: Xin Hao Reviewed-by: Baolin Wang --- arch/arm64/include/asm/mpam_sched.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/arm64/include/asm/mpam_sched.h b/arch/arm64/include/asm/mpam_sched.h index 02aea18..586b02b 100644 --- a/arch/arm64/include/asm/mpam_sched.h +++ b/arch/arm64/include/asm/mpam_sched.h @@ -71,10 +71,23 @@ static void __mpam_sched_in(void) state->cur_closid = partid; state->cur_rmid = pmg; + /* set in EL0 */ reg = read_sysreg_s(SYS_MPAM0_EL1); reg = reg & (~PARTID_MASK) & partid; reg = reg & (~PMG_MASK) & pmg; write_sysreg_s(reg, SYS_MPAM0_EL1); + + /* set in EL1 */ + reg = read_sysreg_s(SYS_MPAM1_EL1); + reg = reg & (~PARTID_MASK) & partid; + reg = reg & (~PMG_MASK) & pmg; + write_sysreg_s(reg, SYS_MPAM1_EL1); + + /* set in EL2 */ + reg = read_sysreg_s(SYS_MPAM2_EL2); + reg = reg & (~PARTID_MASK) & partid; + reg = reg & (~PMG_MASK) & pmg; + write_sysreg_s(reg, SYS_MPAM2_EL2); } } -- 1.8.3.1