MdePkg/Library/BaseLib/Ipf/AccessKr.s File Reference
Detailed Description
IPF specific AsmReadKrX() and AsmWriteKrX() functions, 'X' is from '0' to '6'
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: AccessKr.s
AsmReadKr0
This routine is used to get KR0.
Arguments :
On Entry : None.
Return Value: The value store in KR0.
.text
.type AsmReadKr0,
.proc AsmReadKr0
AsmReadKr0::
mov r8 = ar.k0;;
br.ret.dpnt b0;;
.endp AsmReadKr0
AsmWriteKr0
This routine is used to Write KR0.
Arguments :
On Entry : None.
Return Value: The value written to the KR0.
.text
.type AsmWriteKr0,
.proc AsmWriteKr0
.regstk 1, 3, 0, 0
AsmWriteKr0::
alloc loc1=ar.pfs,1,4,0,0 ;;
mov loc2 = psr;;
rsm 0x6000;; // Masking interrupts
mov ar.k0 = in0
srlz.i;;
mov psr.l = loc2;;
srlz.i;;
srlz.d;;
mov r8 = in0;;
mov ar.pfs=loc1 ;;
br.ret.dpnt b0;;
.endp AsmWriteKr0
AsmReadKr1
This routine is used to get KR1.
Arguments :
On Entry : None.
Return Value: The value store in KR1.
.text
.type AsmReadKr1,
.proc AsmReadKr1
AsmReadKr1::
mov r8 = ar.k1;;
br.ret.dpnt b0;;
.endp AsmReadKr1
AsmWriteKr1
This routine is used to Write KR1.
Arguments :
On Entry : None.
Return Value: The value written to the KR1.
.text
.type AsmWriteKr1,
.proc AsmWriteKr1
AsmWriteKr1::
mov ar.k1 = in0
mov r8 = in0;;
br.ret.dpnt b0;;
.endp AsmWriteKr1
AsmReadKr2
This routine is used to get KR2.
Arguments :
On Entry : None.
Return Value: The value store in KR2.
.text
.type AsmReadKr2,
.proc AsmReadKr2
AsmReadKr2::
mov r8 = ar.k2;;
br.ret.dpnt b0;;
.endp AsmReadKr2
AsmWriteKr2
This routine is used to Write KR2.
Arguments :
On Entry : None.
Return Value: The value written to the KR2.
.text
.type AsmWriteKr2,
.proc AsmWriteKr2
AsmWriteKr2::
mov ar.k2 = in0
mov r8 = in0;;
br.ret.dpnt b0;;
.endp AsmWriteKr2
AsmReadKr3
This routine is used to get KR3.
Arguments :
On Entry : None.
Return Value: The value store in KR3.
.text
.type AsmReadKr3,
.proc AsmReadKr3
AsmReadKr3::
mov r8 = ar.k3;;
br.ret.dpnt b0;;
.endp AsmReadKr3
AsmWriteKr3
This routine is used to Write KR3.
Arguments :
On Entry : None.
Return Value: The value written to the KR3.
.text
.type AsmWriteKr3,
.proc AsmWriteKr3
AsmWriteKr3::
mov ar.k3 = in0
mov r8 = in0;;
br.ret.dpnt b0;;
.endp AsmWriteKr3
AsmReadKr4
This routine is used to get KR4.
Arguments :
On Entry : None.
Return Value: The value store in KR4.
.text
.type AsmReadKr4,
.proc AsmReadKr4
AsmReadKr4::
mov r8 = ar.k4;;
br.ret.dpnt b0;;
.endp AsmReadKr4
AsmWriteKr4
This routine is used to Write KR4.
Arguments :
On Entry : None.
Return Value: The value written to the KR4.
.text
.type AsmWriteKr4,
.proc AsmWriteKr4
AsmWriteKr4::
mov ar.k4 = in0
mov r8 = in0;;
br.ret.dpnt b0;;
.endp AsmWriteKr4
AsmReadKr5
This routine is used to get KR5.
Arguments :
On Entry : None.
Return Value: The value store in KR5.
.text
.type AsmReadKr5,
.proc AsmReadKr5
AsmReadKr5::
mov r8 = ar.k5;;
br.ret.dpnt b0;;
.endp AsmReadKr5
AsmWriteKr5
This routine is used to Write KR5.
Arguments :
On Entry : None.
Return Value: The value written to the KR5.
.text
.type AsmWriteKr5,
.proc AsmWriteKr5
AsmWriteKr5::
mov ar.k5 = in0
mov r8 = in0;;
br.ret.dpnt b0;;
.endp AsmWriteKr5
AsmReadKr6
This routine is used to get KR6.
Arguments :
On Entry : None.
Return Value: The value store in KR6.
.text
.type AsmReadKr6,
.proc AsmReadKr6
AsmReadKr6::
mov r8 = ar.k6;;
br.ret.dpnt b0;;
.endp AsmReadKr6
AsmWriteKr6
This routine is used to write KR6.
Arguments :
On Entry : None.
Return Value: The value written to the KR6.
.text
.type AsmWriteKr6,
.proc AsmWriteKr6
AsmWriteKr6::
mov ar.k6 = in0
mov r8 = in0;;
br.ret.dpnt b0;;
.endp AsmWriteKr6