GDB (xrefs)
Loading...
Searching...
No Matches
Macros | Enumerations | Functions
aarch64-mte-linux.h File Reference
#include "gdbsupport/common-defs.h"

Go to the source code of this file.

Macros

#define HWCAP2_MTE   (1 << 18)
 
#define AARCH64_LINUX_SIZEOF_MTE   8
 
#define AARCH64_MTE_GRANULE_SIZE   16
 
#define AARCH64_MTE_TAG_BIT_SIZE   4
 
#define AARCH64_MTE_LOGICAL_TAG_START_BIT   56
 
#define AARCH64_MTE_LOGICAL_MAX_VALUE   0xf
 
#define SEGV_MTEAERR   8
 
#define SEGV_MTESERR   9
 

Enumerations

enum class  aarch64_memtag_type { mte_logical = 0 , mte_allocation }
 

Functions

size_t aarch64_mte_get_tag_granules (CORE_ADDR addr, size_t len, size_t granule_size)
 
CORE_ADDR aarch64_mte_make_ltag_bits (CORE_ADDR value)
 
CORE_ADDR aarch64_mte_make_ltag (CORE_ADDR value)
 
CORE_ADDR aarch64_mte_set_ltag (CORE_ADDR address, CORE_ADDR tag)
 
CORE_ADDR aarch64_mte_get_ltag (CORE_ADDR address)
 
void aarch64_mte_pack_tags (gdb::byte_vector &tags)
 
void aarch64_mte_unpack_tags (gdb::byte_vector &tags, bool skip_first)
 

Macro Definition Documentation

◆ AARCH64_LINUX_SIZEOF_MTE

#define AARCH64_LINUX_SIZEOF_MTE   8

Definition at line 31 of file aarch64-mte-linux.h.

◆ AARCH64_MTE_GRANULE_SIZE

#define AARCH64_MTE_GRANULE_SIZE   16

◆ AARCH64_MTE_LOGICAL_MAX_VALUE

#define AARCH64_MTE_LOGICAL_MAX_VALUE   0xf

Definition at line 37 of file aarch64-mte-linux.h.

Referenced by aarch64_mte_make_ltag_bits(), and aarch64_mte_set_ltag().

◆ AARCH64_MTE_LOGICAL_TAG_START_BIT

#define AARCH64_MTE_LOGICAL_TAG_START_BIT   56

Definition at line 36 of file aarch64-mte-linux.h.

Referenced by aarch64_mte_get_ltag(), and aarch64_mte_make_ltag().

◆ AARCH64_MTE_TAG_BIT_SIZE

#define AARCH64_MTE_TAG_BIT_SIZE   4

Definition at line 35 of file aarch64-mte-linux.h.

◆ HWCAP2_MTE

#define HWCAP2_MTE   (1 << 18)

◆ SEGV_MTEAERR

#define SEGV_MTEAERR   8

Definition at line 41 of file aarch64-mte-linux.h.

Referenced by aarch64_linux_report_signal_info().

◆ SEGV_MTESERR

#define SEGV_MTESERR   9

Definition at line 42 of file aarch64-mte-linux.h.

Referenced by aarch64_linux_report_signal_info().

Enumeration Type Documentation

◆ aarch64_memtag_type

enum class aarch64_memtag_type
strong
Enumerator
mte_logical 
mte_allocation 

Definition at line 46 of file aarch64-mte-linux.h.

Function Documentation

◆ aarch64_mte_get_ltag()

CORE_ADDR aarch64_mte_get_ltag ( CORE_ADDR address)
extern

◆ aarch64_mte_get_tag_granules()

size_t aarch64_mte_get_tag_granules ( CORE_ADDR addr,
size_t len,
size_t granule_size )
extern

◆ aarch64_mte_make_ltag()

CORE_ADDR aarch64_mte_make_ltag ( CORE_ADDR value)
extern

◆ aarch64_mte_make_ltag_bits()

CORE_ADDR aarch64_mte_make_ltag_bits ( CORE_ADDR value)
extern

Definition at line 100 of file aarch64-mte-linux.c.

References AARCH64_MTE_LOGICAL_MAX_VALUE.

Referenced by aarch64_mte_get_ltag(), and aarch64_mte_make_ltag().

◆ aarch64_mte_pack_tags()

void aarch64_mte_pack_tags ( gdb::byte_vector & tags)
extern

Definition at line 25 of file aarch64-mte-linux.c.

Referenced by aarch64_linux_fill_memtag_section().

◆ aarch64_mte_set_ltag()

CORE_ADDR aarch64_mte_set_ltag ( CORE_ADDR address,
CORE_ADDR tag )
extern

◆ aarch64_mte_unpack_tags()

void aarch64_mte_unpack_tags ( gdb::byte_vector & tags,
bool skip_first )
extern

Definition at line 47 of file aarch64-mte-linux.c.

Referenced by aarch64_linux_decode_memtag_section().