42 lines
1.1 KiB
C
42 lines
1.1 KiB
C
|
/*
|
||
|
* 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
|