2005-04-16 15:20:36 -07:00
/*
* Access to VGA videoram
*
* ( c ) 1998 Martin Mares < mj @ ucw . cz >
*/
# ifndef _ASM_VGA_H
# define _ASM_VGA_H
2005-07-11 10:37:51 +00:00
# include <asm/byteorder.h>
2005-04-16 15:20:36 -07:00
/*
* On the PC , we can just recalculate addresses and then
* access the videoram directly without any black magic .
*/
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
VGA_MAP_MEM translates to ioremap() on some architectures. It makes sense
to do this to vga_vram_base, because we're going to access memory between
vga_vram_base and vga_vram_end.
But it doesn't really make sense to map starting at vga_vram_end, because
we aren't going to access memory starting there. On ia64, which always has
to be different, ioremapping vga_vram_end gives you something completely
incompatible with ioremapped vga_vram_start, so vga_vram_size ends up being
nonsense.
As a bonus, we often know the size up front, so we can use ioremap()
correctly, rather than giving it a zero size.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-22 14:47:32 -07:00
# define VGA_MAP_MEM(x,s) (0xb0000000L + (unsigned long)(x))
2005-04-16 15:20:36 -07:00
# define vga_readb(x) (*(x))
# define vga_writeb(x,y) (*(y) = (x))
2005-07-11 10:37:51 +00:00
# define VT_BUF_HAVE_RW
/*
* These are only needed for supporting VGA or MDA text mode , which use little
* endian byte ordering .
* In other cases , we can optimize by using native byte ordering and
* < linux / vt_buffer . h > has already done the right job for us .
*/
2006-03-08 16:04:32 +00:00
# undef scr_writew
# undef scr_readw
2005-07-11 10:37:51 +00:00
static inline void scr_writew ( u16 val , volatile u16 * addr )
{
* addr = cpu_to_le16 ( val ) ;
}
static inline u16 scr_readw ( volatile const u16 * addr )
{
return le16_to_cpu ( * addr ) ;
}
# define scr_memcpyw(d, s, c) memcpy(d, s, c)
# define scr_memmovew(d, s, c) memmove(d, s, c)
# define VT_BUF_HAVE_MEMCPYW
# define VT_BUF_HAVE_MEMMOVEW
2005-04-16 15:20:36 -07:00
# endif /* _ASM_VGA_H */