Mercurial > mplayer.hg
comparison libdha/sysdep/AsmMacros_x86.h @ 4164:2e3262002acb
Improved readability and new stuffs
author | nick |
---|---|
date | Tue, 15 Jan 2002 08:33:09 +0000 |
parents | |
children | 05ac3586db02 |
comparison
equal
deleted
inserted
replaced
4163:d0678176b98c | 4164:2e3262002acb |
---|---|
1 /* | |
2 This file is based on: | |
3 $XFree86: xc/programs/Xserver/hw/xfree86/drivers/chips/util/AsmMacros.h,v 1.1 2001/11/16 21:13:34 tsi Exp $ | |
4 Modified for readability by Nick Kurshev | |
5 */ | |
6 | |
7 #ifndef __ASM_MACROS_X86_H | |
8 #define __ASM_MACROS_X86_H | |
9 | |
10 #if defined (WINNT) | |
11 #error This stuff is not ported on your system | |
12 #else | |
13 | |
14 static __inline__ void outb(short port,char val) | |
15 { | |
16 __asm__ __volatile__("outb %0,%1" : :"a" (val), "d" (port)); | |
17 } | |
18 | |
19 static __inline__ void outw(short port,short val) | |
20 { | |
21 __asm__ __volatile__("outw %0,%1" : :"a" (val), "d" (port)); | |
22 } | |
23 | |
24 static __inline__ void outl(short port,unsigned int val) | |
25 { | |
26 __asm__ __volatile__("outl %0,%1" : :"a" (val), "d" (port)); | |
27 } | |
28 | |
29 static __inline__ unsigned int inb(short port) | |
30 { | |
31 unsigned char ret; | |
32 __asm__ __volatile__("inb %1,%0" : | |
33 "=a" (ret) : | |
34 "d" (port)); | |
35 return ret; | |
36 } | |
37 | |
38 static __inline__ unsigned int inw(short port) | |
39 { | |
40 unsigned short ret; | |
41 __asm__ __volatile__("inw %1,%0" : | |
42 "=a" (ret) : | |
43 "d" (port)); | |
44 return ret; | |
45 } | |
46 | |
47 static __inline__ unsigned int inl(short port) | |
48 { | |
49 unsigned int ret; | |
50 __asm__ __volatile__("inl %1,%0" : | |
51 "=a" (ret) : | |
52 "d" (port)); | |
53 return ret; | |
54 } | |
55 | |
56 static __inline__ void intr_disable() | |
57 { | |
58 __asm__ __volatile__("cli"); | |
59 } | |
60 | |
61 static __inline__ void intr_enable() | |
62 { | |
63 __asm__ __volatile__("sti"); | |
64 } | |
65 | |
66 #endif | |
67 | |
68 #endif |