IO
C program: IoWrite8(UINT16 Port,UINT8 Value);
C program: UINT8 Value = IoRead8(UINT16 Port);
Index IO
Read Byte:
IoWrite8(IOIndex, Index);
Value = IoRead8(IOData);
Write Byte:
IoWrite8(IOIndex, Index);
IoWrite8(IOData, Value);
Memory
#define MmioRead8(Address) *(volatile UINT8*)(UINTN)(Address)
#define MmioRead16(Address) *(volatile UINT16*)(UINTN)(Address)
#define MmioRead32(Address) *(volatile UINT32*)(UINTN)(Address)
#define MmioWrite8(Address, Data) *(volatile UINT8*)(UINTN)(Address) = Data
#define MmioWrite16(Address, Data) *(volatile UINT16*)(UINTN)(Address) = Data
#define MmioWrite32(Address, Data) *(volatile UINT32*)(UINTN)(Address) = Data