Split AsmReadKr7() and AsmWriteKr7() from AccessKr.s file since these two APIs are frequently used to store/fetch PeiServicesTable pointer for IPF platform. Some compiler/linker with /Od is not smart enough to remove used KR registers access APIs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9219 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
709f55c023
commit
8facd18f30
|
@ -553,6 +553,7 @@
|
||||||
Ipf/AccessPsr.s
|
Ipf/AccessPsr.s
|
||||||
Ipf/AccessPmr.s
|
Ipf/AccessPmr.s
|
||||||
Ipf/AccessKr.s
|
Ipf/AccessKr.s
|
||||||
|
Ipf/AccessKr7.s
|
||||||
Ipf/AccessGcr.s
|
Ipf/AccessGcr.s
|
||||||
Ipf/AccessEicr.s
|
Ipf/AccessEicr.s
|
||||||
Ipf/AccessDbr.s
|
Ipf/AccessDbr.s
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/// @file
|
/// @file
|
||||||
/// IPF specific AsmReadKrX() and AsmWriteKrX functions, 'X' is from '0' to '7'
|
/// IPF specific AsmReadKrX() and AsmWriteKrX() functions, 'X' is from '0' to '6'
|
||||||
///
|
///
|
||||||
/// Copyright (c) 2006 - 2008, Intel Corporation
|
/// Copyright (c) 2006 - 2009, Intel Corporation
|
||||||
/// All rights reserved. This program and the accompanying materials
|
/// All rights reserved. This program and the accompanying materials
|
||||||
/// are licensed and made available under the terms and conditions of the BSD License
|
/// 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
|
/// which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -358,51 +358,3 @@ AsmWriteKr6::
|
||||||
mov r8 = in0;;
|
mov r8 = in0;;
|
||||||
br.ret.dpnt b0;;
|
br.ret.dpnt b0;;
|
||||||
.endp AsmWriteKr6
|
.endp AsmWriteKr6
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------
|
|
||||||
//++
|
|
||||||
// AsmReadKr7
|
|
||||||
//
|
|
||||||
// This routine is used to get KR7.
|
|
||||||
//
|
|
||||||
// Arguments :
|
|
||||||
//
|
|
||||||
// On Entry : None.
|
|
||||||
//
|
|
||||||
// Return Value: The value store in KR7.
|
|
||||||
//
|
|
||||||
//--
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
.text
|
|
||||||
.type AsmReadKr7, @function
|
|
||||||
.proc AsmReadKr7
|
|
||||||
|
|
||||||
AsmReadKr7::
|
|
||||||
mov r8 = ar.k7;;
|
|
||||||
br.ret.dpnt b0;;
|
|
||||||
.endp AsmReadKr7
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------
|
|
||||||
//++
|
|
||||||
// AsmWriteKr7
|
|
||||||
//
|
|
||||||
// This routine is used to write KR7.
|
|
||||||
//
|
|
||||||
// Arguments :
|
|
||||||
//
|
|
||||||
// On Entry : None.
|
|
||||||
//
|
|
||||||
// Return Value: The value written to the KR7.
|
|
||||||
//
|
|
||||||
//--
|
|
||||||
//----------------------------------------------------------------------------------
|
|
||||||
.text
|
|
||||||
.type AsmWriteKr7, @function
|
|
||||||
.proc AsmWriteKr7
|
|
||||||
|
|
||||||
AsmWriteKr7::
|
|
||||||
mov ar.k7 = in0
|
|
||||||
mov r8 = in0;;
|
|
||||||
br.ret.dpnt b0;;
|
|
||||||
.endp AsmWriteKr7
|
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
/// @file
|
||||||
|
/// IPF specific AsmReadKr7() and AsmWriteKr7()
|
||||||
|
///
|
||||||
|
/// Copyright (c) 2006 - 2009, 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: AccessKr7.s
|
||||||
|
///
|
||||||
|
///
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------
|
||||||
|
//++
|
||||||
|
// AsmReadKr7
|
||||||
|
//
|
||||||
|
// This routine is used to get KR7.
|
||||||
|
//
|
||||||
|
// Arguments :
|
||||||
|
//
|
||||||
|
// On Entry : None.
|
||||||
|
//
|
||||||
|
// Return Value: The value store in KR7.
|
||||||
|
//
|
||||||
|
//--
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
.text
|
||||||
|
.type AsmReadKr7, @function
|
||||||
|
.proc AsmReadKr7
|
||||||
|
|
||||||
|
AsmReadKr7::
|
||||||
|
mov r8 = ar.k7;;
|
||||||
|
br.ret.dpnt b0;;
|
||||||
|
.endp AsmReadKr7
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------
|
||||||
|
//++
|
||||||
|
// AsmWriteKr7
|
||||||
|
//
|
||||||
|
// This routine is used to write KR7.
|
||||||
|
//
|
||||||
|
// Arguments :
|
||||||
|
//
|
||||||
|
// On Entry : None.
|
||||||
|
//
|
||||||
|
// Return Value: The value written to the KR7.
|
||||||
|
//
|
||||||
|
//--
|
||||||
|
//----------------------------------------------------------------------------------
|
||||||
|
.text
|
||||||
|
.type AsmWriteKr7, @function
|
||||||
|
.proc AsmWriteKr7
|
||||||
|
.regstk 1, 3, 0, 0
|
||||||
|
|
||||||
|
AsmWriteKr7::
|
||||||
|
mov ar.k7 = in0
|
||||||
|
mov r8 = in0;;
|
||||||
|
br.ret.dpnt b0;;
|
||||||
|
.endp AsmWriteKr7
|
Loading…
Reference in New Issue