1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * Access to VGA videoram
4 *
5 * (c) 1998 Martin Mares <mj@ucw.cz>
6 */
7
8 #ifndef _LINUX_ASM_VGA_H_
9 #define _LINUX_ASM_VGA_H_
10
11 #include <linux/bug.h>
12 #include <linux/string.h>
13 #include <asm/types.h>
14
15 #define VT_BUF_HAVE_RW
16 #define VT_BUF_HAVE_MEMSETW
17 #define VT_BUF_HAVE_MEMCPYW
18 #define VT_BUF_HAVE_MEMMOVEW
19
20 #undef scr_writew
21 #undef scr_readw
22
scr_writew(u16 val,u16 * addr)23 static inline void scr_writew(u16 val, u16 *addr)
24 {
25 BUG_ON((long) addr >= 0);
26
27 *addr = val;
28 }
29
scr_readw(const u16 * addr)30 static inline u16 scr_readw(const u16 *addr)
31 {
32 BUG_ON((long) addr >= 0);
33
34 return *addr;
35 }
36
scr_memsetw(u16 * p,u16 v,unsigned int n)37 static inline void scr_memsetw(u16 *p, u16 v, unsigned int n)
38 {
39 BUG_ON((long) p >= 0);
40
41 memset16(p, cpu_to_le16(v), n / 2);
42 }
43
scr_memcpyw(u16 * d,u16 * s,unsigned int n)44 static inline void scr_memcpyw(u16 *d, u16 *s, unsigned int n)
45 {
46 BUG_ON((long) d >= 0);
47
48 memcpy(d, s, n);
49 }
50
scr_memmovew(u16 * d,u16 * s,unsigned int n)51 static inline void scr_memmovew(u16 *d, u16 *s, unsigned int n)
52 {
53 BUG_ON((long) d >= 0);
54
55 memmove(d, s, n);
56 }
57
58 #define VGA_MAP_MEM(x,s) (x)
59
60 #endif
61