summaryrefslogtreecommitdiff
path: root/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Ipf/HwAccess.s
diff options
context:
space:
mode:
Diffstat (limited to 'EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Ipf/HwAccess.s')
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Ipf/HwAccess.s77
1 files changed, 77 insertions, 0 deletions
diff --git a/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Ipf/HwAccess.s b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Ipf/HwAccess.s
new file mode 100644
index 0000000000..931f9302a2
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Ipf/HwAccess.s
@@ -0,0 +1,77 @@
+//++
+// Copyright (c) 2007, 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:
+//
+// HWAccess.s
+//
+// Abstract:
+//
+// Contains an implementation of Read/Write Kr7 for the Itanium-based architecture.
+//
+//
+//
+// Revision History:
+//
+//--
+
+ .file "HWAccess.s"
+#include "IpfMacro.i"
+
+
+//----------------------------------------------------------------------------------
+//++
+//VOID
+//AsmWriteKr7 (
+// UINT64
+// );
+//
+// This routine saves the given input value into the kernel register 7
+//
+// Arguments :
+//
+// On Entry : 64 bit value to be saved.
+//
+// Return Value: None
+//
+//--
+//----------------------------------------------------------------------------------
+PROCEDURE_ENTRY (AsmWriteKr7)
+ NESTED_SETUP (1,2,0,0)
+ mov ar.k7 = in0;;
+ NESTED_RETURN
+
+PROCEDURE_EXIT (AsmWriteKr7)
+
+//---------------------------------------------------------------------------------
+//++
+//UINT64
+//AsmReadKr7 (
+// VOID
+// );
+//
+// This routine returns the value of the kernel register 7
+//
+// Arguments :
+//
+// On Entry : None
+//
+// Return Value: 64bit Value of the register.
+//
+//--
+//----------------------------------------------------------------------------------
+PROCEDURE_ENTRY (AsmReadKr7)
+ NESTED_SETUP (0,2,0,0)
+ mov r8 = ar.k7;;
+ NESTED_RETURN
+PROCEDURE_EXIT (AsmReadKr7)
+//----------------------------------------------------------------------------------
+
+