From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43994) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WzFHu-00077z-A1 for qemu-devel@nongnu.org; Mon, 23 Jun 2014 21:12:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WzFHo-00056M-5f for qemu-devel@nongnu.org; Mon, 23 Jun 2014 21:12:42 -0400 Received: from mail-yk0-x22d.google.com ([2607:f8b0:4002:c07::22d]:56565) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WzFHo-00056G-1L for qemu-devel@nongnu.org; Mon, 23 Jun 2014 21:12:36 -0400 Received: by mail-yk0-f173.google.com with SMTP id 142so5196491ykq.32 for ; Mon, 23 Jun 2014 18:12:35 -0700 (PDT) Sender: Alistair Francis From: Alistair Francis Date: Tue, 24 Jun 2014 11:12:30 +1000 Message-Id: <10bd87e6e7ac5e74bdec79f05349d0977e62f907.1403572003.git.alistair.francis@xilinx.com> In-Reply-To: References: Subject: [Qemu-devel] [PATCH v1 6/7] target-arm: Implement pmccfiltr_write function List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, peter.crosthwaite@xilinx.com, alistair.francis@xilinx.com This is the function that is called when writing to the PMCCFILTR_EL0 register Signed-off-by: Alistair Francis --- target-arm/helper.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/target-arm/helper.c b/target-arm/helper.c index bbd4b23..3e0a9a1 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -624,6 +624,14 @@ static void pmccntr_write(CPUARMState *env, const ARMCPRegInfo *ri, } #endif +static void pmccfiltr_write(CPUARMState *env, const ARMCPRegInfo *ri, + uint64_t value) +{ + pmccntr_sync(env); + env->cp15.pmccfiltr_el0 = value & 0x7E000000; + pmccntr_sync(env); +} + static void pmcntenset_write(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t value) { @@ -786,6 +794,7 @@ static const ARMCPRegInfo v7_cp_reginfo[] = { #endif { .name = "PMCCFILTR_EL0", .state = ARM_CP_STATE_AA64, .opc0 = 3, .opc1 = 3, .crn = 14, .crm = 15, .opc2 = 7, + .writefn = pmccfiltr_write, .access = PL0_RW, .accessfn = pmreg_access, .state = ARM_CP_STATE_AA64, .resetvalue = 0, -- 1.7.1