summaryrefslogtreecommitdiff
blob: bbb222849df120895ed0516f0e06e5d8a8f8d1ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
avoid using C library headers as it'd mean we'd need 32-bit glibc files available

https://bugs.gentoo.org/592638

--- a/dmi.c
+++ b/dmi.c
@@ -10,7 +10,7 @@
 
 
 #include "test.h"
-#include <stdint.h>
+#include "stdint.h"
 
 
 #define round_up(x,y) (((x) + (y) - 1) & ~((y)-1))
--- a/test.c
+++ b/test.c
@@ -14,7 +14,28 @@
 #include "stdint.h"
 #include "cpuid.h"
 #include "smp.h"
-#include <sys/io.h>
+
+static inline unsigned char
+inb_p (unsigned short int __port)
+{
+  unsigned char _v;
+
+  __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
+  return _v;
+}
+
+static inline void
+outb (unsigned char __value, unsigned short int __port)
+{
+  __asm__ __volatile__ ("outb %b0,%w1": :"a" (__value), "Nd" (__port));
+}
+
+static inline void
+outb_p (unsigned char __value, unsigned short int __port)
+{
+  __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (__value),
+			"Nd" (__port));
+}
 
 extern struct cpu_ident cpu_id;
 extern volatile int    mstr_cpu;