(root)/
gcc-13.2.0/
include/
vtv-change-permission.h
       1  /* Copyright (C) 2013-2023 Free Software Foundation, Inc.
       2    
       3     This file is part of GCC.
       4    
       5     modify it under the terms of the GNU Library General Public License
       6     as published by the Free Software Foundation; either version 2, or
       7     (at your option) any later version.
       8  
       9     In addition to the permissions in the GNU Library General Public
      10     License, the Free Software Foundation gives you unlimited
      11     permission to link the compiled version of this file into
      12     combinations with other programs, and to distribute those
      13     combinations without any restriction coming from the use of this
      14     file.  (The Library Public License restrictions do apply in other
      15     respects; for example, they cover modification of the file, and
      16     distribution when not linked into a combined executable.)
      17  
      18     This program is distributed in the hope that it will be useful, but
      19     WITHOUT ANY WARRANTY; without even the implied warranty of
      20     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      21     Library General Public License for more details.
      22  
      23     You should have received a copy of the GNU Library General Public
      24     License along with this program; if not, write to the Free Software
      25     Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
      26     02110-1301, USA.  */
      27  
      28  
      29  #ifndef __VTV_H__
      30  #define __VTV_H__
      31  
      32  /* We could have used an enumeration here but it just makes it more
      33     difficult for the compiler to generate a call to this.  These are
      34     used as arguments to the function __VLTChangePermission, declared
      35     below.  */
      36  #define __VLTP_READ_ONLY  0
      37  #define __VLTP_READ_WRITE 1
      38  
      39  #ifdef __cplusplus
      40  extern "C" void __VLTChangePermission (int);
      41  #else
      42  extern void __VLTChangePermission (int);
      43  #endif
      44  
      45  #ifdef BIG_PAGE_SIZE
      46  /* TODO - Replace '4096' below with correct big page size.  */
      47  #define VTV_PAGE_SIZE 4096
      48  #else 
      49  #if defined(__sun__) && defined(__svr4__) && defined(__sparc__)
      50  #define VTV_PAGE_SIZE 8192
      51  #elif defined(__loongarch_lp64)
      52  /* The page size is configurable by the kernel to be 4, 16 or 64 KiB.
      53     For now, only the default page size of 16KiB is supported.  */
      54  #define VTV_PAGE_SIZE 16384
      55  #else
      56  #define VTV_PAGE_SIZE 4096
      57  #endif
      58  #endif
      59  
      60  
      61  
      62  #endif /* __VTV_H__ */