kern

annotate src/asmops.h @ 39:92297f65aaef

- removed redundant call to day_of_year in gmtime_r
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 12 Jun 2011 01:46:53 +0300
parents b11a86695493
children e6de3c6015cb
rev   line source
nuclear@1 1 #ifndef ASMOPS_H_
nuclear@1 2 #define ASMOPS_H_
nuclear@1 3
nuclear@10 4 #define enable_intr() asm volatile("sti")
nuclear@10 5 #define disable_intr() asm volatile("cli")
nuclear@10 6 #define halt_cpu() asm volatile("hlt")
nuclear@10 7
nuclear@1 8 #define inb(dest, port) asm volatile( \
nuclear@1 9 "inb %1, %0\n\t" \
nuclear@2 10 : "=a" ((unsigned char)(dest)) \
nuclear@2 11 : "dN" ((unsigned short)(port)))
nuclear@1 12
nuclear@10 13 #define inw(dest, port) asm volatile( \
nuclear@10 14 "inw %1, %0\n\t" \
nuclear@2 15 : "=a" ((unsigned short)(dest)) \
nuclear@2 16 : "dN" ((unsigned short)(port)))
nuclear@1 17
nuclear@1 18 #define inl(dest, port) asm volatile( \
nuclear@1 19 "inl %1, %0\n\t" \
nuclear@2 20 : "=a" ((unsigned long)(dest)) \
nuclear@2 21 : "dN" ((unsigned short)(port)))
nuclear@1 22
nuclear@1 23 #define outb(src, port) asm volatile( \
nuclear@1 24 "outb %0, %1\n\t" \
nuclear@2 25 :: "a" ((unsigned char)(src)), "dN" ((unsigned short)(port)))
nuclear@1 26
nuclear@10 27 #define outw(src, port) asm volatile( \
nuclear@10 28 "outw %0, %1\n\t" \
nuclear@2 29 :: "a" ((unsigned short)(src)), "dN" ((unsigned short)(port)))
nuclear@1 30
nuclear@1 31 #define outl(src, port) asm volatile( \
nuclear@1 32 "outl %0, %1\n\t" \
nuclear@2 33 :: "a" ((unsigned long)(src)), "dN" ((unsigned short)(port)))
nuclear@1 34
nuclear@36 35 #define iodelay() outb(0, 0x80)
nuclear@36 36
nuclear@1 37 #endif /* ASMOPS_H_ */