mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-08-03 09:48:00 -04:00
50 lines
1.0 KiB
Plaintext
50 lines
1.0 KiB
Plaintext
$NetBSD: patch-ab,v 1.5 2013/12/08 00:35:28 jakllsch Exp $
|
|
|
|
--- test.c.orig 2013-08-10 02:29:44.000000000 +0000
|
|
+++ test.c
|
|
@@ -14,7 +14,6 @@
|
|
#include "stdint.h"
|
|
#include "cpuid.h"
|
|
#include "smp.h"
|
|
-#include <sys/io.h>
|
|
|
|
extern struct cpu_ident cpu_id;
|
|
extern volatile int mstr_cpu;
|
|
@@ -29,6 +28,36 @@ void rand_seed( unsigned int seed1, unsi
|
|
ulong rand(int me);
|
|
void poll_errors();
|
|
|
|
+static inline void outb(unsigned char value, unsigned short int port)
|
|
+{
|
|
+ asm __volatile__ (
|
|
+ "outb %b0,%w1\n\t"
|
|
+ : :"a" (value), "Nd" (port)
|
|
+ );
|
|
+}
|
|
+
|
|
+static __inline void outb_p(unsigned char value, unsigned short int port)
|
|
+{
|
|
+ asm __volatile__ (
|
|
+ "outb %b0,%w1\n\t"
|
|
+ "outb %%al,$0x80\n\t"
|
|
+ : : "a" (value), "Nd" (port)
|
|
+ );
|
|
+}
|
|
+
|
|
+static __inline unsigned char inb_p(unsigned short int port)
|
|
+{
|
|
+ unsigned char v;
|
|
+
|
|
+ asm __volatile__ (
|
|
+ "inb %w1,%0\n\t"
|
|
+ "outb %%al,$0x80\n\t"
|
|
+ : "=a" (v)
|
|
+ : "Nd" (port)
|
|
+ );
|
|
+ return v;
|
|
+}
|
|
+
|
|
static inline ulong roundup(ulong value, ulong mask)
|
|
{
|
|
return (value + mask) & ~mask;
|