74781c0888
Extract page-protection definitions from "exec/cpu-all.h" to "exec/page-protection.h". The list of files requiring the new header was generated using: $ git grep -wE \ 'PAGE_(READ|WRITE|EXEC|RWX|VALID|ANON|RESERVED|TARGET_.|PASSTHROUGH)' Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Acked-by: Nicholas Piggin <npiggin@gmail.com> Acked-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20240427155714.53669-3-philmd@linaro.org>
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
|