Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754534AbcCWJ1D (ORCPT ); Wed, 23 Mar 2016 05:27:03 -0400 Received: from mga11.intel.com ([192.55.52.93]:9168 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754244AbcCWJ05 (ORCPT ); Wed, 23 Mar 2016 05:26:57 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,381,1455004800"; d="scan'208";a="769746324" From: Evgeny Voevodin To: Vineet Gupta Cc: Sergey Samoylidi , linux-snps-arc@lists.infradead.org, linux-kernel@vger.kernel.org, Evgeny Voevodin Subject: [PATCH] ARCv2: Additional trace IRQs to support locking correctness validator Date: Wed, 23 Mar 2016 12:26:52 +0300 Message-Id: <1458725212-21215-1-git-send-email-evgeny.voevodin@intel.com> X-Mailer: git-send-email 1.8.5.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3577 Lines: 132 Flags should be saved in the same format in which clri instruction saves them since they are passed directly to seti instruction over arch_local_save_flags/arch_local_irq_restore calls. Trace of all clri/seti assembly calls is added to support locking correctness validator properly. With this patch it is possible to use locking correctness framework which did stop itself due to incomplete support. Locking tests are also became available and work propely. Signed-off-by: Evgeny Voevodin --- arch/arc/include/asm/irqflags-arcv2.h | 31 ++++++++++++++++++++++++++++++- arch/arc/kernel/entry-arcv2.S | 14 +++++++++++++- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/arch/arc/include/asm/irqflags-arcv2.h b/arch/arc/include/asm/irqflags-arcv2.h index 37c2f75..bb17044 100644 --- a/arch/arc/include/asm/irqflags-arcv2.h +++ b/arch/arc/include/asm/irqflags-arcv2.h @@ -15,8 +15,13 @@ #define STATUS_AD_BIT 19 /* Disable Align chk: core supports non-aligned */ #define STATUS_IE_BIT 31 +/* status32 Bits stored on clri instruction */ +#define CLRI_STATUS_IE_BIT 4 + #define STATUS_AD_MASK (1<