aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Murray <markm@FreeBSD.org>2002-09-21 18:26:53 +0000
committerMark Murray <markm@FreeBSD.org>2002-09-21 18:26:53 +0000
commitd7ee442578211dd170da9a05e5bcf6bdc75a3d16 (patch)
tree779b01a54a7ac7f280ddc434f80569aa6f224bb0
parentc7c7312f2c7eab1f5bd3e007df2c42722b10597c (diff)
Notes
-rw-r--r--sys/amd64/include/cpufunc.h7
-rw-r--r--sys/i386/include/cpufunc.h7
2 files changed, 14 insertions, 0 deletions
diff --git a/sys/amd64/include/cpufunc.h b/sys/amd64/include/cpufunc.h
index b074c644e927..1c4806f9773a 100644
--- a/sys/amd64/include/cpufunc.h
+++ b/sys/amd64/include/cpufunc.h
@@ -124,6 +124,12 @@ fls(int mask)
return (mask == 0 ? mask : (int)bsrl((u_int)mask) + 1);
}
+static __inline void
+halt(void)
+{
+ __asm __volatile("hlt");
+}
+
#if __GNUC__ < 2
#define inb(port) inbv(port)
@@ -600,6 +606,7 @@ void cpu_invlpg_range(u_int start, u_int end);
void disable_intr(void);
void do_cpuid(u_int ax, u_int *p);
void enable_intr(void);
+void halt(void);
u_char inb(u_int port);
u_int inl(u_int port);
void insb(u_int port, void *addr, size_t cnt);
diff --git a/sys/i386/include/cpufunc.h b/sys/i386/include/cpufunc.h
index b074c644e927..1c4806f9773a 100644
--- a/sys/i386/include/cpufunc.h
+++ b/sys/i386/include/cpufunc.h
@@ -124,6 +124,12 @@ fls(int mask)
return (mask == 0 ? mask : (int)bsrl((u_int)mask) + 1);
}
+static __inline void
+halt(void)
+{
+ __asm __volatile("hlt");
+}
+
#if __GNUC__ < 2
#define inb(port) inbv(port)
@@ -600,6 +606,7 @@ void cpu_invlpg_range(u_int start, u_int end);
void disable_intr(void);
void do_cpuid(u_int ax, u_int *p);
void enable_intr(void);
+void halt(void);
u_char inb(u_int port);
u_int inl(u_int port);
void insb(u_int port, void *addr, size_t cnt);