From c01bfb76c6afd83bce11c85a97f2cd2e37ae33f1 Mon Sep 17 00:00:00 2001 From: ajfish Date: Sun, 22 Oct 2006 07:34:25 +0000 Subject: [PATCH] Deleted CacheFlush as it's in the MDE Cache library git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1812 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/EdkDxeSalLib/Ipf/AsmIpfCpuCache.s | 88 ------------------- 1 file changed, 88 deletions(-) delete mode 100644 EdkModulePkg/Library/EdkDxeSalLib/Ipf/AsmIpfCpuCache.s diff --git a/EdkModulePkg/Library/EdkDxeSalLib/Ipf/AsmIpfCpuCache.s b/EdkModulePkg/Library/EdkDxeSalLib/Ipf/AsmIpfCpuCache.s deleted file mode 100644 index c4505051fa..0000000000 --- a/EdkModulePkg/Library/EdkDxeSalLib/Ipf/AsmIpfCpuCache.s +++ /dev/null @@ -1,88 +0,0 @@ -//++ -// Copyright (c) 2006, Intel Corporation -// All rights reserved. This program and the accompanying materials -// are licensed and made available under the terms and conditions of the BSD License -// which accompanies this distribution. The full text of the license may be found at -// http://opensource.org/licenses/bsd-license.php -// -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// -// Module Name: -// -// IpfCpuCache.s -// -// Abstract: -// -// Contains Misc assembly procedures to support IPF CPU AP. -// -// Revision History: -// -//-- - -.file "IpfCpuCache.s" - -#include "IpfMacro.i" -#include "IpfDefines.h" - -//----------------------------------------------------------------------------- -//++ -// Flush Cache -// -// Arguments : - -// Input = in0 = Starting Address to Flush. -// Input = in1 = Length in bytes. -// Input = b0 = return branch register. -// On Entry : -// -// Return Value: -// -// VOID -// SalFlushCache ( -// IN UINT64 BaseToFlush, -// IN UINT64 LengthToFlush -// ); -// -//-- -//--------------------------------------------------------------------------- -PROCEDURE_ENTRY (SalFlushCache) - - NESTED_SETUP (5,8,0,0) - - mov loc2 = ar.lc - - mov loc3 = in0 // Start address. - mov loc4 = in1;; // Length in bytes. - - cmp.eq p6,p7 = loc4, r0;; // If Length is zero then don't flush any cache - (p6) br.spnt.many DoneFlushingC;; - - add loc4 = loc4,loc3 - mov loc5 = 1;; - sub loc4 = loc4, loc5 ;; // the End address to flush - - dep loc3 = r0,loc3,0,5 - dep loc4 = r0,loc4,0,5;; - shr loc3 = loc3,5 - shr loc4 = loc4,5;; // 32 byte cache line - - sub loc4 = loc4,loc3;; // total flush count, It should be add 1 but - // the br.cloop will first execute one time - mov loc3 = in0 - mov loc5 = 32 - mov ar.lc = loc4;; - -StillFlushingC: - fc loc3;; - sync.i;; - srlz.i;; - add loc3 = loc5,loc3;; - br.cloop.sptk.few StillFlushingC;; - -DoneFlushingC: - mov ar.lc = loc2 - NESTED_RETURN - -PROCEDURE_EXIT (SalFlushCache) - -- 2.39.2