Renamed remotely
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5995 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
111
DuetPkg/CpuIoDxe/X64/CpuIoAccess.asm
Normal file
111
DuetPkg/CpuIoDxe/X64/CpuIoAccess.asm
Normal file
@@ -0,0 +1,111 @@
|
||||
title CpuIoAccess.asm
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
;*
|
||||
;* Copyright (c) 2005 - 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:
|
||||
;* CpuIoAccess.asm
|
||||
;*
|
||||
;* Abstract:
|
||||
;* Supports x64 CPU IO operation
|
||||
;*
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
;
|
||||
;
|
||||
; Abstract:
|
||||
;
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
.CODE
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; UINT8
|
||||
; CpuIoRead8 (
|
||||
; UINT16 Port // rcx
|
||||
; )
|
||||
;------------------------------------------------------------------------------
|
||||
CpuIoRead8 PROC PUBLIC
|
||||
xor eax, eax
|
||||
mov dx, cx
|
||||
in al, dx
|
||||
ret
|
||||
CpuIoRead8 ENDP
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; VOID
|
||||
; CpuIoWrite8 (
|
||||
; UINT16 Port, // rcx
|
||||
; UINT32 Data // rdx
|
||||
; )
|
||||
;------------------------------------------------------------------------------
|
||||
CpuIoWrite8 PROC PUBLIC
|
||||
mov eax, edx
|
||||
mov dx, cx
|
||||
out dx, al
|
||||
ret
|
||||
CpuIoWrite8 ENDP
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; UINT16
|
||||
; CpuIoRead16 (
|
||||
; UINT16 Port // rcx
|
||||
; )
|
||||
;------------------------------------------------------------------------------
|
||||
CpuIoRead16 PROC PUBLIC
|
||||
xor eax, eax
|
||||
mov dx, cx
|
||||
in ax, dx
|
||||
ret
|
||||
CpuIoRead16 ENDP
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; VOID
|
||||
; CpuIoWrite16 (
|
||||
; UINT16 Port, // rcx
|
||||
; UINT32 Data // rdx
|
||||
; )
|
||||
;------------------------------------------------------------------------------
|
||||
CpuIoWrite16 PROC PUBLIC
|
||||
mov eax, edx
|
||||
mov dx, cx
|
||||
out dx, ax
|
||||
ret
|
||||
CpuIoWrite16 ENDP
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; UINT32
|
||||
; CpuIoRead32 (
|
||||
; UINT16 Port // rcx
|
||||
; )
|
||||
;------------------------------------------------------------------------------
|
||||
CpuIoRead32 PROC PUBLIC
|
||||
mov dx, cx
|
||||
in eax, dx
|
||||
ret
|
||||
CpuIoRead32 ENDP
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; VOID
|
||||
; CpuIoWrite32 (
|
||||
; UINT16 Port, // rcx
|
||||
; UINT32 Data // rdx
|
||||
; )
|
||||
;------------------------------------------------------------------------------
|
||||
CpuIoWrite32 PROC PUBLIC
|
||||
mov eax, edx
|
||||
mov dx, cx
|
||||
out dx, eax
|
||||
ret
|
||||
CpuIoWrite32 ENDP
|
||||
|
||||
END
|
Reference in New Issue
Block a user