23#ifndef _MINIOS_ARCH_X86_64_PORT_H_
24#define _MINIOS_ARCH_X86_64_PORT_H_
29 __asm__
volatile(
"outb %0, %w1" : :
"a"(data),
"d"(port));
34 __asm__
volatile(
"inb %w1, %0" :
"=a" (data) :
"d" (port));
39 __asm__
volatile(
"outw %0, %w1" : :
"a" (data),
"d" (port));
44 __asm__
volatile(
"inw %w1, %0" :
"=a" (data) :
"d" (port));
49 __asm__
volatile(
"outl %0, %w1" : :
"a"(data),
"d"(port) :
"memory");
54 __asm__
volatile(
"inl %w1, %0" :
"=a"(data) :
"d"(port) :
"memory");
61#define PCI_CONFIG_ADDR_PORT 0xCF8
62#define PCI_CONFIG_DATA_PORT 0xCFC
static uint16_t inw(int port)
Definition port.h:42
static uint32_t inl(int port)
Definition port.h:52
static void outl(int port, uint32_t data)
Definition port.h:48
static void outb(int port, uint8_t data)
Definition port.h:28
static void outw(int port, uint16_t data)
Definition port.h:38
static uint8_t inb(int port)
Definition port.h:32
unsigned short uint16_t
Definition types.h:31
unsigned int uint32_t
Definition types.h:34
unsigned char uint8_t
Definition types.h:28