]> git.proxmox.com Git - mirror_edk2.git/blob - DuetPkg/DxeIpl/Ia32/CpuIoAccess.asm
Initialize DuetPkg ...
[mirror_edk2.git] / DuetPkg / DxeIpl / Ia32 / CpuIoAccess.asm
1 title CpuIoAccess.asm
2 ;------------------------------------------------------------------------------
3 ;
4 ; Copyright (c) 2006, Intel Corporation
5 ; All rights reserved. This program and the accompanying materials
6 ; are licensed and made available under the terms and conditions of the BSD License
7 ; which accompanies this distribution. The full text of the license may be found at
8 ; http://opensource.org/licenses/bsd-license.php
9 ;
10 ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 ;
13 ; Module Name:
14 ; CpuIoAccess.asm
15 ;
16 ; Abstract:
17 ; CPU IO Abstraction
18 ;
19 ;------------------------------------------------------------------------------
20
21 .686
22 .MODEL FLAT,C
23 .CODE
24
25
26 UINT8 TYPEDEF BYTE
27 UINT16 TYPEDEF WORD
28 UINT32 TYPEDEF DWORD
29 UINT64 TYPEDEF QWORD
30 UINTN TYPEDEF UINT32
31
32
33
34 ;------------------------------------------------------------------------------
35 ; UINT8
36 ; CpuIoRead8 (
37 ; IN UINT16 Port
38 ; )
39 ;------------------------------------------------------------------------------
40 CpuIoRead8 PROC PUBLIC Port:UINT16
41 mov dx, Port
42 in al, dx
43 ret
44 CpuIoRead8 ENDP
45
46
47 ;------------------------------------------------------------------------------
48 ; VOID
49 ; CpuIoWrite8 (
50 ; IN UINT16 Port,
51 ; IN UINT32 Data
52 ; )
53 ;------------------------------------------------------------------------------
54 CpuIoWrite8 PROC PUBLIC Port:UINT16, Data:UINT32
55 mov eax, Data
56 mov dx, Port
57 out dx, al
58 ret
59 CpuIoWrite8 ENDP
60
61
62 END