| /* SPDX-License-Identifier: GPL-2.0 */ | 
| /* | 
|  *    Access to VGA videoram | 
|  * | 
|  *    (c) 1998 Martin Mares <mj@ucw.cz> | 
|  */ | 
|   | 
| #ifndef _ASM_X86_VGA_H | 
| #define _ASM_X86_VGA_H | 
|   | 
| #include <asm/set_memory.h> | 
|   | 
| /* | 
|  *    On the PC, we can just recalculate addresses and then | 
|  *    access the videoram directly without any black magic. | 
|  *    To support memory encryption however, we need to access | 
|  *    the videoram as decrypted memory. | 
|  */ | 
|   | 
| #define VGA_MAP_MEM(x, s)                    \ | 
| ({                                \ | 
|     unsigned long start = (unsigned long)phys_to_virt(x);    \ | 
|                                 \ | 
|     if (IS_ENABLED(CONFIG_AMD_MEM_ENCRYPT))            \ | 
|         set_memory_decrypted(start, (s) >> PAGE_SHIFT);    \ | 
|                                 \ | 
|     start;                            \ | 
| }) | 
|   | 
| #define vga_readb(x) (*(x)) | 
| #define vga_writeb(x, y) (*(y) = (x)) | 
|   | 
| #endif /* _ASM_X86_VGA_H */ |