Mercurial > mplayer.hg
diff vidix/sysdep/AsmMacros_sparc.h @ 22900:a9e111b88c4a
merged libdha and libvidix, moved all files from libdha to vidix directory
author | ben |
---|---|
date | Fri, 06 Apr 2007 15:20:49 +0000 |
parents | libdha/sysdep/AsmMacros_sparc.h@2e3262002acb |
children | 88bed2131f19 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vidix/sysdep/AsmMacros_sparc.h Fri Apr 06 15:20:49 2007 +0000 @@ -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