linux/arch/mips/include/asm/vga.h
<<
>>
Prefs
   1/*
   2 *      Access to VGA videoram
   3 *
   4 *      (c) 1998 Martin Mares <mj@ucw.cz>
   5 */
   6#ifndef _ASM_VGA_H
   7#define _ASM_VGA_H
   8
   9#include <asm/addrspace.h>
  10#include <asm/byteorder.h>
  11
  12/*
  13 *      On the PC, we can just recalculate addresses and then
  14 *      access the videoram directly without any black magic.
  15 */
  16
  17#define VGA_MAP_MEM(x, s)       CKSEG1ADDR(0x10000000L + (unsigned long)(x))
  18
  19#define vga_readb(x)    (*(x))
  20#define vga_writeb(x, y)        (*(y) = (x))
  21
  22#define VT_BUF_HAVE_RW
  23/*
  24 *  These are only needed for supporting VGA or MDA text mode, which use little
  25 *  endian byte ordering.
  26 *  In other cases, we can optimize by using native byte ordering and
  27 *  <linux/vt_buffer.h> has already done the right job for us.
  28 */
  29
  30#undef scr_writew
  31#undef scr_readw
  32
  33static inline void scr_writew(u16 val, volatile u16 *addr)
  34{
  35        *addr = cpu_to_le16(val);
  36}
  37
  38static inline u16 scr_readw(volatile const u16 *addr)
  39{
  40        return le16_to_cpu(*addr);
  41}
  42
  43#define scr_memcpyw(d, s, c) memcpy(d, s, c)
  44#define scr_memmovew(d, s, c) memmove(d, s, c)
  45#define VT_BUF_HAVE_MEMCPYW
  46#define VT_BUF_HAVE_MEMMOVEW
  47
  48#endif /* _ASM_VGA_H */
  49