/* 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 */ 
 |