From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by mx.groups.io with SMTP id smtpd.web08.2939.1606782886012646380 for ; Mon, 30 Nov 2020 16:34:46 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@nuviainc-com.20150623.gappssmtp.com header.s=20150623 header.b=IdBSYWxM; spf=pass (domain: nuviainc.com, ip: 209.85.210.169, mailfrom: rebecca@nuviainc.com) Received: by mail-pf1-f169.google.com with SMTP id q10so11554892pfn.0 for ; Mon, 30 Nov 2020 16:34:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gyfQ018ONCQOzrVsX8fyykA2hPgiUPJPHyzUn0vYMt8=; b=IdBSYWxMhyW3sRiM0YUIPp/tqBrQbTimRtEi1FUtsBVBueWPBqntA1Eg0uOqGDmY3h uX73/EOgmeaVnES189QyKCSaCjchVboVuNGiyVO7qRydGTIvJTWu8g7M7OVGMeoYOcE2 qhY0EqQuicwWmJlX+WIYdIs32fHnCo6yoyv/UtYXJ2LLD1awPKCyB+2c//BlQsw20dBx R6HK2qP9QCwH+ttCe0Yh6pLDAMEwgGNftqm3KKQkiXP3+WPRz2fzzZxmbfhwqTVva/Fh 4b4OoGGYq8ufZ1fXOd94QcmPQITtSUsliRGA/jNCnsD2QauVJjjrz8H5G//Gq9j4YAna OJ1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gyfQ018ONCQOzrVsX8fyykA2hPgiUPJPHyzUn0vYMt8=; b=QpY/haJI9nHKwEwV/iprSmuUM0hL01lg/xANGl4LjGE+hcbunl0fVOpZKO763AT3+/ ftGlvSVPB6XZV4mUE7iWg7jqk1YE05itlXiiOF/B9Nnog08O4jZRyYS9RRA0RkJBjcFm vG9Ge+FwizJEo14QV+IDIG+mR9jOMYjfM37li5jBc5hgAMI/Wm225kIu/lT63oupJ+vV tMSLha0kkUU+YWKWdRVytl7ChwGVRsmP/JqbCtvxrWTilwFd6ZoIZh3geCVPpEJQSxC3 +U+DXGMXTwUTtenj+iq1lTR/BoJlZle+gjKwfnIkwXwqOxvx5vu3LHnONnN95mrXlzFm CYJA== X-Gm-Message-State: AOAM530f+w2V4eKpgbDUknKB63jD8RIVV4glLlKnTgh63/cCtqenDbpG 1s65OhqD5WSKfnq7W48EUKmvtUw8bY5/ZZM80P1J0Ud197fV8zErc+9WSMs5u4IUgG77Z+FV4Fb Wd86zOfwUZYKQu5Ud0yON/Q9k7s9Ck8db+rF79ETcKuV6qhyBMCMTAZ61pF9lWBC+/0G33amQ X-Google-Smtp-Source: ABdhPJx4bh1iwZMDzS9QP6HZU08naIuiTtS59yJHZjmc7a0SK1umTMN0ioc0vTzYWG9/URQWQPZp5A== X-Received: by 2002:a62:ab13:0:b029:197:ca83:7720 with SMTP id p19-20020a62ab130000b0290197ca837720mr77463pff.78.1606782885148; Mon, 30 Nov 2020 16:34:45 -0800 (PST) Return-Path: Received: from cube.nuviainc.com (c-174-52-16-57.hsd1.ut.comcast.net. [174.52.16.57]) by smtp.gmail.com with ESMTPSA id 22sm57899pjb.40.2020.11.30.16.34.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Nov 2020 16:34:43 -0800 (PST) From: "Rebecca Cran" To: devel@edk2.groups.io Cc: Rebecca Cran , Michael D Kinney , Liming Gao , Zhiguang Liu , Leif Lindholm , Ard Biesheuvel , Sami Mujawar Subject: [PATCH v4 06/11] ArmPkg: Add helper to read CCIDX status Date: Mon, 30 Nov 2020 17:33:53 -0700 Message-Id: <20201201003358.8780-7-rebecca@nuviainc.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201201003358.8780-1-rebecca@nuviainc.com> References: <20201201003358.8780-1-rebecca@nuviainc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add a helper function to determine CCIDX support. Signed-off-by: Rebecca Cran --- ArmPkg/Include/Library/ArmLib.h | 6 ++++++ ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c | 12 ++++++++++++ ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c | 12 ++++++++++++ 3 files changed, 30 insertions(+) diff --git a/ArmPkg/Include/Library/ArmLib.h b/ArmPkg/Include/Library/ArmLib.h index 5a27b7c2fc27..87c3a6f1ecac 100644 --- a/ArmPkg/Include/Library/ArmLib.h +++ b/ArmPkg/Include/Library/ArmLib.h @@ -132,6 +132,12 @@ ArmIsArchTimerImplemented ( VOID ); +BOOLEAN +EFIAPI +ArmIsCcidxImplemented ( + VOID + ); + UINTN EFIAPI ArmReadIdPfr0 ( diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c b/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c index 3fbd591192e2..915c2cacdd99 100644 --- a/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c +++ b/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c @@ -71,3 +71,15 @@ ArmCleanDataCache ( ArmDataSynchronizationBarrier (); AArch64DataCacheOperation (ArmCleanDataCacheEntryBySetWay); } + +BOOLEAN +EFIAPI +ArmIsCcidxImplemented ( + VOID + ) +{ + UINTN Mmfr2; + + Mmfr2 = ArmReadIdMmfr2 (); + return (((Mmfr2 >> 20) & 0xF) == 1) ? TRUE : FALSE; +} diff --git a/ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c b/ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c index 2c4a23e1a1b2..7331b1c678f3 100644 --- a/ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c +++ b/ArmPkg/Library/ArmLib/Arm/ArmV7Lib.c @@ -71,3 +71,15 @@ ArmCleanDataCache ( ArmDataSynchronizationBarrier (); ArmV7DataCacheOperation (ArmCleanDataCacheEntryBySetWay); } + +BOOLEAN +EFIAPI +ArmIsCcidxImplemented ( + VOID + ) +{ + UINTN Mmfr4; + + Mmfr4 = ArmReadIdMmfr4 (); + return (((Mmfr4 >> 24) & 0xF) == 1) ? TRUE : FALSE; +} -- 2.26.2