Comments.
[pintos-anon] / src / threads / io.h
index a3889c205f677532188f556be3af9c8f79dc0de2..b4932995294b684c3a7c822b24224ae91b5a3953 100644 (file)
@@ -48,6 +48,7 @@
 static inline uint8_t
 inb (uint16_t port)
 {
+  /* See [IA32-v2a] "IN". */
   uint8_t data;
   asm volatile ("inb %w1,%0" : "=a" (data) : "d" (port));
   return data;
@@ -58,6 +59,7 @@ inb (uint16_t port)
 static inline void
 insb (uint16_t port, void *addr, size_t cnt)
 {
+  /* See [IA32-v2a] "INS". */
   asm volatile ("cld; repne; insb"
                 : "=D" (addr), "=c" (cnt)
                 : "d" (port), "0" (addr), "1" (cnt)
@@ -69,6 +71,7 @@ static inline uint16_t
 inw (uint16_t port)
 {
   uint16_t data;
+  /* See [IA32-v2a] "IN". */
   asm volatile ("inw %w1,%0" : "=a" (data) : "d" (port));
   return data;
 }
@@ -78,6 +81,7 @@ inw (uint16_t port)
 static inline void
 insw (uint16_t port, void *addr, size_t cnt)
 {
+  /* See [IA32-v2a] "INS". */
   asm volatile ("cld; repne; insw"
                 : "=D" (addr), "=c" (cnt)
                 : "d" (port), "0" (addr), "1" (cnt)
@@ -88,6 +92,7 @@ insw (uint16_t port, void *addr, size_t cnt)
 static inline uint32_t
 inl (uint16_t port)
 {
+  /* See [IA32-v2a] "IN". */
   uint32_t data;
   asm volatile ("inl %w1,%0" : "=a" (data) : "d" (port));
   return data;
@@ -98,6 +103,7 @@ inl (uint16_t port)
 static inline void
 insl (uint16_t port, void *addr, size_t cnt)
 {
+  /* See [IA32-v2a] "INS". */
   asm volatile ("cld; repne; insl"
                 : "=D" (addr), "=c" (cnt)
                 : "d" (port), "0" (addr), "1" (cnt)
@@ -108,6 +114,7 @@ insl (uint16_t port, void *addr, size_t cnt)
 static inline void
 outb (uint16_t port, uint8_t data)
 {
+  /* See [IA32-v2b] "OUT". */
   asm volatile ("outb %0,%w1" : : "a" (data), "d" (port));
 }
 
@@ -116,6 +123,7 @@ outb (uint16_t port, uint8_t data)
 static inline void
 outsb (uint16_t port, const void *addr, size_t cnt)
 {
+  /* See [IA32-v2b] "OUTS". */
   asm volatile ("cld; repne; outsb"
                 : "=S" (addr), "=c" (cnt)
                 : "d" (port), "0" (addr), "1" (cnt)
@@ -126,6 +134,7 @@ outsb (uint16_t port, const void *addr, size_t cnt)
 static inline void
 outw (uint16_t port, uint16_t data)
 {
+  /* See [IA32-v2b] "OUT". */
   asm volatile ("outw %0,%w1" : : "a" (data), "d" (port));
 }
 
@@ -134,6 +143,7 @@ outw (uint16_t port, uint16_t data)
 static inline void
 outsw (uint16_t port, const void *addr, size_t cnt)
 {
+  /* See [IA32-v2b] "OUTS". */
   asm volatile ("cld; repne; outsw"
                 : "=S" (addr), "=c" (cnt)
                 : "d" (port), "0" (addr), "1" (cnt)
@@ -144,6 +154,7 @@ outsw (uint16_t port, const void *addr, size_t cnt)
 static inline void
 outl (uint16_t port, uint32_t data)
 {
+  /* See [IA32-v2b] "OUT". */
   asm volatile ("outl %0,%w1" : : "a" (data), "d" (port));
 }
 
@@ -152,6 +163,7 @@ outl (uint16_t port, uint32_t data)
 static inline void
 outsl (uint16_t port, const void *addr, size_t cnt)
 {
+  /* See [IA32-v2b] "OUTS". */
   asm volatile ("cld; repne; outsl"
                 : "=S" (addr), "=c" (cnt)
                 : "d" (port), "0" (addr), "1" (cnt)