[Krafton Jungle] PintOS 2.0.0
크래프톤 정글 PintOS
 
Loading...
Searching...
No Matches
io.h File Reference
#include <stddef.h>
#include <stdint.h>
Include dependency graph for io.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

static uint8_t inb (uint16_t port)
 
static void insb (uint16_t port, void *addr, size_t cnt)
 
static uint16_t inw (uint16_t port)
 
static void insw (uint16_t port, void *addr, size_t cnt)
 
static uint32_t inl (uint16_t port)
 
static void insl (uint16_t port, void *addr, size_t cnt)
 
static void outb (uint16_t port, uint8_t data)
 
static void outsb (uint16_t port, const void *addr, size_t cnt)
 
static void outw (uint16_t port, uint16_t data)
 
static void outsw (uint16_t port, const void *addr, size_t cnt)
 
static void outl (uint16_t port, uint32_t data)
 
static void outsl (uint16_t port, const void *addr, size_t cnt)
 

Function Documentation

◆ inb()

static uint8_t inb ( uint16_t  port)
inlinestatic
49 {
50 /* See [IA32-v2a] "IN". */
51 uint8_t data;
52 asm volatile ("inb %w1,%0" : "=a" (data) : "d" (port));
53 return data;
54}
unsigned char uint8_t
Definition: stdint.h:20
Here is the caller graph for this function:

◆ inl()

static uint32_t inl ( uint16_t  port)
inlinestatic
89 {
90 /* See [IA32-v2a] "IN". */
91 uint32_t data;
92 asm volatile ("inl %w1,%0" : "=a" (data) : "d" (port));
93 return data;
94}
unsigned int uint32_t
Definition: stdint.h:26

◆ insb()

static void insb ( uint16_t  port,
void *  addr,
size_t  cnt 
)
inlinestatic
59 {
60 /* See [IA32-v2a] "INS". */
61 asm volatile ("cld; repne; insb"
62 : "=D" (addr), "=c" (cnt)
63 : "d" (port), "0" (addr), "1" (cnt)
64 : "memory", "cc");
65}

◆ insl()

static void insl ( uint16_t  port,
void *  addr,
size_t  cnt 
)
inlinestatic
99 {
100 /* See [IA32-v2a] "INS". */
101 asm volatile ("cld; repne; insl"
102 : "=D" (addr), "=c" (cnt)
103 : "d" (port), "0" (addr), "1" (cnt)
104 : "memory", "cc");
105}

◆ insw()

static void insw ( uint16_t  port,
void *  addr,
size_t  cnt 
)
inlinestatic
79 {
80 /* See [IA32-v2a] "INS". */
81 asm volatile ("cld; repne; insw"
82 : "=D" (addr), "=c" (cnt)
83 : "d" (port), "0" (addr), "1" (cnt)
84 : "memory", "cc");
85}
Here is the caller graph for this function:

◆ inw()

static uint16_t inw ( uint16_t  port)
inlinestatic
69 {
70 uint16_t data;
71 /* See [IA32-v2a] "IN". */
72 asm volatile ("inw %w1,%0" : "=a" (data) : "d" (port));
73 return data;
74}
unsigned short int uint16_t
Definition: stdint.h:23

◆ outb()

static void outb ( uint16_t  port,
uint8_t  data 
)
inlinestatic
109 {
110 /* See [IA32-v2b] "OUT". */
111 asm volatile ("outb %0,%w1" : : "a" (data), "d" (port));
112}
Here is the caller graph for this function:

◆ outl()

static void outl ( uint16_t  port,
uint32_t  data 
)
inlinestatic
145 {
146 /* See [IA32-v2b] "OUT". */
147 asm volatile ("outl %0,%w1" : : "a" (data), "d" (port));
148}

◆ outsb()

static void outsb ( uint16_t  port,
const void *  addr,
size_t  cnt 
)
inlinestatic
117 {
118 /* See [IA32-v2b] "OUTS". */
119 asm volatile ("cld; repne; outsb"
120 : "=S" (addr), "=c" (cnt)
121 : "d" (port), "0" (addr), "1" (cnt)
122 : "cc");
123}

◆ outsl()

static void outsl ( uint16_t  port,
const void *  addr,
size_t  cnt 
)
inlinestatic
153 {
154 /* See [IA32-v2b] "OUTS". */
155 asm volatile ("cld; repne; outsl"
156 : "=S" (addr), "=c" (cnt)
157 : "d" (port), "0" (addr), "1" (cnt)
158 : "cc");
159}

◆ outsw()

static void outsw ( uint16_t  port,
const void *  addr,
size_t  cnt 
)
inlinestatic
135 {
136 /* See [IA32-v2b] "OUTS". */
137 asm volatile ("cld; repne; outsw"
138 : "=S" (addr), "=c" (cnt)
139 : "d" (port), "0" (addr), "1" (cnt)
140 : "cc");
141}
Here is the caller graph for this function:

◆ outw()

static void outw ( uint16_t  port,
uint16_t  data 
)
inlinestatic
127 {
128 /* See [IA32-v2b] "OUT". */
129 asm volatile ("outw %0,%w1" : : "a" (data), "d" (port));
130}
Here is the caller graph for this function: