| /* |
| * QEMU page protection definitions. |
| * |
| * Copyright (c) 2003 Fabrice Bellard |
| * |
| * SPDX-License-Identifier: LGPL-2.1+ |
| */ |
| #ifndef EXEC_PAGE_PROT_COMMON_H |
| #define EXEC_PAGE_PROT_COMMON_H |
| |
| /* same as PROT_xxx */ |
| #define PAGE_READ 0x0001 |
| #define PAGE_WRITE 0x0002 |
| #define PAGE_EXEC 0x0004 |
| #define PAGE_RWX (PAGE_READ | PAGE_WRITE | PAGE_EXEC) |
| #define PAGE_VALID 0x0008 |
| /* |
| * Original state of the write flag (used when tracking self-modifying code) |
| */ |
| #define PAGE_WRITE_ORG 0x0010 |
| /* |
| * Invalidate the TLB entry immediately, helpful for s390x |
| * Low-Address-Protection. Used with PAGE_WRITE in tlb_set_page_with_attrs() |
| */ |
| #define PAGE_WRITE_INV 0x0020 |
| /* For use with page_set_flags: page is being replaced; target_data cleared. */ |
| #define PAGE_RESET 0x0040 |
| /* For linux-user, indicates that the page is MAP_ANON. */ |
| #define PAGE_ANON 0x0080 |
| |
| /* Target-specific bits that will be used via page_get_flags(). */ |
| #define PAGE_TARGET_1 0x0200 |
| #define PAGE_TARGET_2 0x0400 |
| |
| /* |
| * For linux-user, indicates that the page is mapped with the same semantics |
| * in both guest and host. |
| */ |
| #define PAGE_PASSTHROUGH 0x0800 |
| |
| #endif |