summaryrefslogtreecommitdiff
path: root/DuetPkg/DxeIpl/Ia32/CpuIoAccessGnu.c
diff options
context:
space:
mode:
Diffstat (limited to 'DuetPkg/DxeIpl/Ia32/CpuIoAccessGnu.c')
-rw-r--r--DuetPkg/DxeIpl/Ia32/CpuIoAccessGnu.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/DuetPkg/DxeIpl/Ia32/CpuIoAccessGnu.c b/DuetPkg/DxeIpl/Ia32/CpuIoAccessGnu.c
new file mode 100644
index 0000000000..8e9ee2a073
--- /dev/null
+++ b/DuetPkg/DxeIpl/Ia32/CpuIoAccessGnu.c
@@ -0,0 +1,27 @@
+UINT8
+EFIAPI
+CpuIoRead8 (
+ IN UINT16 Port
+ )
+{
+ UINT8 Data;
+ asm ( "inb %1, %0"
+ : "=a"(Data)
+ : "d"(Port)
+ );
+ return Data;
+}
+
+VOID
+EFIAPI
+CpuIoWrite8 (
+ IN UINT16 Port,
+ IN UINT32 Data
+ )
+{
+ asm ( "outb %1, %0"
+ : /* No outputs */
+ : "d"(Port)
+ , "a"((UINT8)Data)
+ );
+} \ No newline at end of file