125 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
| / $XFree86: xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_inout.s,v 1.1 2001/05/28 02:42:31 tsi Exp $
 | |
| /
 | |
| / Copyright 1994-2001 The XFree86 Project, Inc.  All Rights Reserved.
 | |
| /
 | |
| / Permission is hereby granted, free of charge, to any person obtaining a copy
 | |
| / of this software and associated documentation files (the "Software"), to deal
 | |
| / in the Software without restriction, including without limitation the rights
 | |
| / to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | |
| / copies of the Software, and to permit persons to whom the Software is
 | |
| / furnished to do so, subject to the following conditions:
 | |
| /
 | |
| / The above copyright notice and this permission notice shall be included in
 | |
| / all copies or substantial portions of the Software.
 | |
| /
 | |
| / THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | |
| / IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | |
| / FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 | |
| / XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 | |
| / IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 | |
| / CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | |
| /
 | |
| / Except as contained in this notice, the name of the XFree86 Project shall not
 | |
| / be used in advertising or otherwise to promote the sale, use or other
 | |
| / dealings in this Software without prior written authorization from the
 | |
| / XFree86 Project.
 | |
| /
 | |
| /
 | |
| / File: sun_inout.s
 | |
| /
 | |
| / Purpose: Provide inb(), inw(), inl(), outb(), outw(), outl() functions
 | |
| /	   for Solaris x86 using the ProWorks compiler by SunPro
 | |
| /
 | |
| / Author:  Installed into XFree86 SuperProbe by Doug Anson (danson@lgc.com)
 | |
| /	   Portions donated to XFree86 by Steve Dever (Steve.Dever@Eng.Sun.Com)
 | |
| /
 | |
| / Synopsis: (c callable external declarations)
 | |
| /	   extern unsigned char inb(int port);
 | |
| /	   extern unsigned short inw(int port);
 | |
| /	   extern unsigned long inl(int port);
 | |
| /	   extern void outb(int port, unsigned char value);
 | |
| /	   extern void outw(int port, unsigned short value);
 | |
| /	   extern void outl(int port, unsigned long value);
 | |
| /
 | |
| 
 | |
| .file "sunos_inout.s"
 | |
| .text
 | |
| 
 | |
| .globl	inb
 | |
| .globl	inw
 | |
| .globl	inl
 | |
| .globl	outb
 | |
| .globl	outw
 | |
| .globl	outl
 | |
| 
 | |
| /
 | |
| / unsigned char inb(int port);
 | |
| /
 | |
| .align	4
 | |
| inb:
 | |
| 	movl 4(%esp),%edx
 | |
| 	subl %eax,%eax
 | |
| 	inb  (%dx)
 | |
| 	ret
 | |
| .type	inb,@function
 | |
| .size	inb,.-inb
 | |
| 
 | |
| /
 | |
| / unsigned short inw(int port);
 | |
| /
 | |
| .align	4
 | |
| inw:
 | |
| 	movl 4(%esp),%edx
 | |
| 	subl %eax,%eax
 | |
| 	inw  (%dx)
 | |
| 	ret
 | |
| .type	inw,@function
 | |
| .size	inw,.-inw
 | |
| 
 | |
| /
 | |
| / unsigned long inl(int port);
 | |
| /
 | |
| .align	4
 | |
| inl:
 | |
| 	movl 4(%esp),%edx
 | |
| 	inl  (%dx)
 | |
| 	ret
 | |
| .type	inl,@function
 | |
| .size	inl,.-inl
 | |
| 
 | |
| /
 | |
| /     void outb(int port, unsigned char value);
 | |
| /
 | |
| .align	4
 | |
| outb:
 | |
| 	movl 4(%esp),%edx
 | |
| 	movl 8(%esp),%eax
 | |
| 	outb (%dx)
 | |
| 	ret
 | |
| .type	outb,@function
 | |
| .size	outb,.-outb
 | |
| 
 | |
| /
 | |
| /     void outw(int port, unsigned short value);
 | |
| /
 | |
| .align	4
 | |
| outw:
 | |
| 	movl 4(%esp),%edx
 | |
| 	movl 8(%esp),%eax
 | |
| 	outw (%dx)
 | |
| 	ret
 | |
| .type	outw,@function
 | |
| .size	outw,.-outw
 | |
| 
 | |
| /
 | |
| /     void outl(int port, unsigned long value);
 | |
| /
 | |
| .align	4
 | |
| outl:
 | |
| 	movl 4(%esp),%edx
 | |
| 	movl 8(%esp),%eax
 | |
| 	outl (%dx)
 | |
| 	ret
 | |
| .type	outl,@function
 | |
| .size	outl,.-outl
 |