view libdha/sysdep/AsmMacros_powerpc.h @ 5950:184f37880f90

Darwin needs to run ranlib on any static lib before linking, we do this in this script just before the final linking.
author atmos4
date Fri, 03 May 2002 19:23:15 +0000
parents 2e3262002acb
children 704c0fbb8e80
line wrap: on
line source

/*
   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_POWERPC_H
#define __ASM_MACROS_POWERPC_H

#if defined(Lynx)

extern unsigned char *ioBase;

static __inline__ volatile void eieio()
{
	__asm__ __volatile__ ("eieio");
}

static __inline__ void outb(short port, unsigned char value)
{
	*(uchar *)(ioBase + port) = value; eieio();
}

static __inline__ void outw(short port, unsigned short value)
{
	*(unsigned short *)(ioBase + port) = value; eieio();
}

static __inline__ void outl(short port, unsigned short value)
{
	*(unsigned long *)(ioBase + port) = value; eieio();
}

static __inline__ unsigned char inb(short port)
{
	unsigned char val;
	val = *((unsigned char *)(ioBase + port)); eieio();
	return(val);
}

static __inline__ unsigned short inw(short port)
{
	unsigned short val;
	val = *((unsigned short *)(ioBase + port)); eieio();
	return(val);
}

static __inline__ unsigned long inl(short port)
{
	unsigned long val;
	val = *((unsigned long *)(ioBase + port)); eieio();
	return(val);
}

#define intr_disable()
#define intr_enable()

#else
#error This stuff is not ported on your system
#endif

#endif