aboutsummaryrefslogtreecommitdiffhomepage
path: root/vidix/sysdep/AsmMacros_sparc.h
diff options
context:
space:
mode:
authorGravatar ben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-04-06 15:20:49 +0000
committerGravatar ben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-04-06 15:20:49 +0000
commit51ba40dcd64518c8d5f9ce586171c8fb347a42c0 (patch)
tree590b1ce6d17f2126b67d1a5cb1576cdd7e8dea5c /vidix/sysdep/AsmMacros_sparc.h
parent3099d0da16505cbc0aaab34f9299404e9ec19241 (diff)
merged libdha and libvidix, moved all files from libdha to vidix directory
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22918 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'vidix/sysdep/AsmMacros_sparc.h')
-rw-r--r--vidix/sysdep/AsmMacros_sparc.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/vidix/sysdep/AsmMacros_sparc.h b/vidix/sysdep/AsmMacros_sparc.h
new file mode 100644
index 0000000000..f6717b4bb7
--- /dev/null
+++ b/vidix/sysdep/AsmMacros_sparc.h
@@ -0,0 +1,53 @@
+/*
+ This file is based on:
+ $XFree86: xc/programs/Xserver/hw/xfree86/drivers/chips/util/AsmMacros.h,v 1.1 2001/11/16 21:13:34 tsi Exp $
+ Modified for readability by Nick Kurshev
+*/
+
+#ifndef __ASM_MACROS_SPARC_H
+#define __ASM_MACROS_SPARC_H
+
+#ifndef ASI_PL
+#define ASI_PL 0x88
+#endif
+
+static __inline__ void outb(unsigned long port, char val)
+{
+ __asm__ __volatile__("stba %0, [%1] %2" : : "r" (val), "r" (port), "i" (ASI_PL));
+}
+
+static __inline__ void outw(unsigned long port, char val)
+{
+ __asm__ __volatile__("stha %0, [%1] %2" : : "r" (val), "r" (port), "i" (ASI_PL));
+}
+
+static __inline__ void outl(unsigned long port, char val)
+{
+ __asm__ __volatile__("sta %0, [%1] %2" : : "r" (val), "r" (port), "i" (ASI_PL));
+}
+
+static __inline__ unsigned int inb(unsigned long port)
+{
+ unsigned char ret;
+ __asm__ __volatile__("lduba [%1] %2, %0" : "=r" (ret) : "r" (port), "i" (ASI_PL));
+ return ret;
+}
+
+static __inline__ unsigned int inw(unsigned long port)
+{
+ unsigned char ret;
+ __asm__ __volatile__("lduha [%1] %2, %0" : "=r" (ret) : "r" (port), "i" (ASI_PL));
+ return ret;
+}
+
+static __inline__ unsigned int inl(unsigned long port)
+{
+ unsigned char ret;
+ __asm__ __volatile__("lda [%1] %2, %0" : "=r" (ret) : "r" (port), "i" (ASI_PL));
+ return ret;
+}
+
+#define intr_disable()
+#define intr_enable()
+
+#endif