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 _ASM_X86_VGA_H 9 #define _ASM_X86_VGA_H 10 11 #include <asm/set_memory.h> 12 13 /* 14 * On the PC, we can just recalculate addresses and then 15 * access the videoram directly without any black magic. 16 * To support memory encryption however, we need to access 17 * the videoram as decrypted memory. 18 */ 19 20 #define VGA_MAP_MEM(x, s) \ 21 ({ \ 22 unsigned long start = (unsigned long)phys_to_virt(x); \ 23 \ 24 if (IS_ENABLED(CONFIG_AMD_MEM_ENCRYPT)) \ 25 set_memory_decrypted(start, (s) >> PAGE_SHIFT); \ 26 \ 27 start; \ 28 }) 29 30 #define vga_readb(x) (*(x)) 31 #define vga_writeb(x, y) (*(y) = (x)) 32 33 #endif /* _ASM_X86_VGA_H */ 34