MOS Source Code
Loading...
Searching...
No Matches
mm_types.hpp
Go to the documentation of this file.
1
// SPDX-License-Identifier: GPL-3.0-or-later
2
3
#pragma once
4
5
#include "
mos/syslog/syslog.hpp
"
6
#include "
mos/types.hpp
"
7
8
#include <
mos/mm/mm_types.h
>
9
10
enum
VMFlag
:
unsigned
int
11
{
12
VM_NONE
= 0,
13
VM_READ
=
MEM_PERM_READ
,
// 1 << 0
14
VM_WRITE
=
MEM_PERM_WRITE
,
// 1 << 1
15
VM_EXEC
=
MEM_PERM_EXEC
,
// 1 << 2
16
17
VM_USER
= 1 << 3,
18
VM_WRITE_THROUGH
= 1 << 4,
19
VM_CACHE_DISABLED
= 1 << 5,
20
VM_GLOBAL
= 1 << 6,
21
22
// composite flags (for convenience)
23
VM_RW
=
VM_READ
|
VM_WRITE
,
24
VM_RX
=
VM_READ
|
VM_EXEC
,
25
VM_RWX
=
VM_READ
|
VM_WRITE
|
VM_EXEC
,
26
VM_USER_RW
=
VM_USER
|
VM_RW
,
27
VM_USER_RX
=
VM_USER
|
VM_RX
,
28
VM_USER_RO
=
VM_USER
|
VM_READ
,
29
VM_USER_RWX
=
VM_USER
|
VM_RWX
,
30
};
31
MOS_ENUM_FLAGS
(
VMFlag
, VMFlags);
32
33
inline
mos::SyslogStreamWriter
operator<<
(
mos::SyslogStreamWriter
stream, VMFlags flags)
34
{
35
return
stream << (flags.test(
VM_READ
) ?
'r'
:
'-'
) << (flags.test(
VM_WRITE
) ?
'w'
:
'-'
) << (flags.test(
VM_EXEC
) ?
'x'
:
'-'
);
36
}
mm_types.h
MEM_PERM_EXEC
@ MEM_PERM_EXEC
Definition
mm_types.h:11
MEM_PERM_READ
@ MEM_PERM_READ
Definition
mm_types.h:9
MEM_PERM_WRITE
@ MEM_PERM_WRITE
Definition
mm_types.h:10
VMFlag
VMFlag
Definition
mm_types.hpp:11
VM_USER_RW
@ VM_USER_RW
Definition
mm_types.hpp:26
VM_USER_RX
@ VM_USER_RX
Definition
mm_types.hpp:27
VM_GLOBAL
@ VM_GLOBAL
Definition
mm_types.hpp:20
VM_RX
@ VM_RX
Definition
mm_types.hpp:24
VM_CACHE_DISABLED
@ VM_CACHE_DISABLED
Definition
mm_types.hpp:19
VM_READ
@ VM_READ
Definition
mm_types.hpp:13
VM_RWX
@ VM_RWX
Definition
mm_types.hpp:25
VM_NONE
@ VM_NONE
Definition
mm_types.hpp:12
VM_WRITE_THROUGH
@ VM_WRITE_THROUGH
Definition
mm_types.hpp:18
VM_USER_RWX
@ VM_USER_RWX
Definition
mm_types.hpp:29
VM_EXEC
@ VM_EXEC
Definition
mm_types.hpp:15
VM_WRITE
@ VM_WRITE
Definition
mm_types.hpp:14
VM_RW
@ VM_RW
Definition
mm_types.hpp:23
VM_USER_RO
@ VM_USER_RO
Definition
mm_types.hpp:28
VM_USER
@ VM_USER
Definition
mm_types.hpp:17
operator<<
mos::SyslogStreamWriter operator<<(mos::SyslogStreamWriter stream, VMFlags flags)
Definition
mm_types.hpp:33
mos::SyslogStreamWriter
Definition
syslog.hpp:41
syslog.hpp
types.hpp
MOS_ENUM_FLAGS
#define MOS_ENUM_FLAGS(enum, flags)
Definition
types.hpp:232
kernel
include
private
mos
mm
mm_types.hpp
Generated on Sat Mar 1 2025 10:32:59 for MOS Source Code by
1.13.2