vga.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * Access to VGA videoram
  3.  *
  4.  * (c) 1998 Martin Mares <mj@ucw.cz>
  5.  */
  6. #ifndef _LINUX_ASM_VGA_H_
  7. #define _LINUX_ASM_VGA_H_
  8. #include <asm/io.h>
  9. #define VT_BUF_HAVE_RW
  10. #define VT_BUF_HAVE_MEMSETW
  11. #define VT_BUF_HAVE_MEMCPYW
  12. extern inline void scr_writew(u16 val, volatile u16 *addr)
  13. {
  14. if (__is_ioaddr((unsigned long) addr))
  15. __raw_writew(val, (unsigned long) addr);
  16. else
  17. *addr = val;
  18. }
  19. extern inline u16 scr_readw(volatile const u16 *addr)
  20. {
  21. if (__is_ioaddr((unsigned long) addr))
  22. return __raw_readw((unsigned long) addr);
  23. else
  24. return *addr;
  25. }
  26. extern inline void scr_memsetw(u16 *s, u16 c, unsigned int count)
  27. {
  28. if (__is_ioaddr((unsigned long) s))
  29. memsetw_io(s, c, count);
  30. else
  31. memsetw(s, c, count);
  32. }
  33. /* Do not trust that the usage will be correct; analyze the arguments.  */
  34. extern void scr_memcpyw(u16 *d, const u16 *s, unsigned int count);
  35. /* ??? These are currently only used for downloading character sets.  As
  36.    such, they don't need memory barriers.  Is this all they are intended
  37.    to be used for?  */
  38. #define vga_readb readb
  39. #define vga_writeb writeb
  40. #define VGA_MAP_MEM(x) ((unsigned long) ioremap((x), 0))
  41. #endif