view vidix/sysdep/AsmMacros_arm32.h @ 23980:27bac14b4ce4

More simple and correct font reselection. Since ass_font_t contains a list of font faces, there is no need to select the face with maximum charset coverage each time. It is enough to select any face with the required glyph.
author eugeni
date Fri, 03 Aug 2007 13:43:11 +0000
parents 88bed2131f19
children 9c4ad35fabc5
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 ASMMACROS_ARM32_H
#define ASMMACROS_ARM32_H
unsigned int IOPortBase;  /* Memory mapped I/O port area */

static __inline__ void outb(short port,char val)
{
	 if ((unsigned short)port >= 0x400) return;
	*(volatile unsigned char*)(((unsigned short)(port))+IOPortBase) = val;
}

static __inline__ void outw(short port,short val)
{
	 if ((unsigned short)port >= 0x400) return;
	*(volatile unsigned short*)(((unsigned short)(port))+IOPortBase) = val;
}

static __inline__ void outl(short port,int val)
{
	 if ((unsigned short)port >= 0x400) return;
	*(volatile unsigned long*)(((unsigned short)(port))+IOPortBase) = val;
}

static __inline__ unsigned int inb(short port)
{
	 if ((unsigned short)port >= 0x400) return((unsigned int)-1);
	return(*(volatile unsigned char*)(((unsigned short)(port))+IOPortBase));
}

static __inline__ unsigned int inw(short port)
{
	 if ((unsigned short)port >= 0x400) return((unsigned int)-1);
	return(*(volatile unsigned short*)(((unsigned short)(port))+IOPortBase));
}

static __inline__ unsigned int inl(short port)
{
	 if ((unsigned short)port >= 0x400) return((unsigned int)-1);
	return(*(volatile unsigned long*)(((unsigned short)(port))+IOPortBase));
}

#define intr_disable()
#define intr_enable()

#endif /* ASMMACROS_ARM32_H */