Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(681)

Side by Side Diff: fusl/arch/x32/bits/io.h

Issue 1573973002: Add a "fork" of musl as //fusl. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fusl/arch/x32/bits/float.h ('k') | fusl/arch/x32/bits/ioctl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 static __inline void outb(unsigned char __val, unsigned short __port)
2 {
3 __asm__ volatile ("outb %0,%1" : : "a" (__val), "dN" (__port));
4 }
5
6 static __inline void outw(unsigned short __val, unsigned short __port)
7 {
8 __asm__ volatile ("outw %0,%1" : : "a" (__val), "dN" (__port));
9 }
10
11 static __inline void outl(unsigned int __val, unsigned short __port)
12 {
13 __asm__ volatile ("outl %0,%1" : : "a" (__val), "dN" (__port));
14 }
15
16 static __inline unsigned char inb(unsigned short __port)
17 {
18 unsigned char __val;
19 __asm__ volatile ("inb %1,%0" : "=a" (__val) : "dN" (__port));
20 return __val;
21 }
22
23 static __inline unsigned short inw(unsigned short __port)
24 {
25 unsigned short __val;
26 __asm__ volatile ("inw %1,%0" : "=a" (__val) : "dN" (__port));
27 return __val;
28 }
29
30 static __inline unsigned int inl(unsigned short __port)
31 {
32 unsigned int __val;
33 __asm__ volatile ("inl %1,%0" : "=a" (__val) : "dN" (__port));
34 return __val;
35 }
36
37 static __inline void outsb(unsigned short __port, const void *__buf, unsigned lo ng __n)
38 {
39 __asm__ volatile ("cld; rep; outsb"
40 : "+S" (__buf), "+c" (__n)
41 : "d" (__port));
42 }
43
44 static __inline void outsw(unsigned short __port, const void *__buf, unsigned lo ng __n)
45 {
46 __asm__ volatile ("cld; rep; outsw"
47 : "+S" (__buf), "+c" (__n)
48 : "d" (__port));
49 }
50
51 static __inline void outsl(unsigned short __port, const void *__buf, unsigned lo ng __n)
52 {
53 __asm__ volatile ("cld; rep; outsl"
54 : "+S" (__buf), "+c"(__n)
55 : "d" (__port));
56 }
57
58 static __inline void insb(unsigned short __port, void *__buf, unsigned long __n)
59 {
60 __asm__ volatile ("cld; rep; insb"
61 : "+D" (__buf), "+c" (__n)
62 : "d" (__port));
63 }
64
65 static __inline void insw(unsigned short __port, void *__buf, unsigned long __n)
66 {
67 __asm__ volatile ("cld; rep; insw"
68 : "+D" (__buf), "+c" (__n)
69 : "d" (__port));
70 }
71
72 static __inline void insl(unsigned short __port, void *__buf, unsigned long __n)
73 {
74 __asm__ volatile ("cld; rep; insl"
75 : "+D" (__buf), "+c" (__n)
76 : "d" (__port));
77 }
OLDNEW
« no previous file with comments | « fusl/arch/x32/bits/float.h ('k') | fusl/arch/x32/bits/ioctl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698