GDBserver
Loading...
Searching...
No Matches
Functions
aarch64-scalable-linux-ptrace.c File Reference
#include <sys/utsname.h>
#include <sys/uio.h>
#include "gdbsupport/common-defs.h"
#include "elf/external.h"
#include "elf/common.h"
#include "aarch64-scalable-linux-ptrace.h"
#include "arch/aarch64.h"
#include "gdbsupport/common-regcache.h"
#include "gdbsupport/byte-vector.h"
#include <endian.h>
#include "arch/aarch64-scalable-linux.h"

Go to the source code of this file.

Functions

bool aarch64_has_sve_state (int tid)
 
bool aarch64_has_ssve_state (int tid)
 
bool aarch64_has_za_state (int tid)
 
bool read_sve_header (int tid, struct user_sve_header &header)
 
bool write_sve_header (int tid, const struct user_sve_header &header)
 
bool read_ssve_header (int tid, struct user_sve_header &header)
 
bool write_ssve_header (int tid, const struct user_sve_header &header)
 
bool read_za_header (int tid, struct user_za_header &header)
 
bool write_za_header (int tid, const struct user_za_header &header)
 
static bool aarch64_sme_vl_valid (size_t vl)
 
static bool aarch64_sve_vl_valid (const bool sve_state, size_t vl)
 
uint64_t aarch64_sve_get_vq (int tid)
 
bool aarch64_sve_set_vq (int tid, uint64_t vq)
 
bool aarch64_sve_set_vq (int tid, struct reg_buffer_common *reg_buf)
 
uint64_t aarch64_za_get_svq (int tid)
 
bool aarch64_za_set_svq (int tid, uint64_t vq)
 
bool aarch64_za_set_svq (int tid, const struct reg_buffer_common *reg_buf, int svg_regnum)
 
gdb::byte_vector aarch64_fetch_sve_regset (int tid)
 
void aarch64_store_sve_regset (int tid, const gdb::byte_vector &sve_state)
 
gdb::byte_vector aarch64_fetch_za_regset (int tid)
 
void aarch64_store_za_regset (int tid, const gdb::byte_vector &za_state)
 
void aarch64_initialize_za_regset (int tid)
 
gdb::byte_vector aarch64_fetch_zt_regset (int tid)
 
void aarch64_store_zt_regset (int tid, const gdb::byte_vector &zt_state)
 
bool supports_zt_registers (int tid)
 
static void aarch64_maybe_swab128 (gdb_byte *dst, const gdb_byte *src, size_t size)
 
void aarch64_sve_regs_copy_to_reg_buf (int tid, struct reg_buffer_common *reg_buf)
 
void aarch64_sve_regs_copy_from_reg_buf (int tid, struct reg_buffer_common *reg_buf)
 
void aarch64_za_regs_copy_to_reg_buf (int tid, struct reg_buffer_common *reg_buf, int za_regnum, int svg_regnum, int svcr_regnum)
 
void aarch64_za_regs_copy_from_reg_buf (int tid, struct reg_buffer_common *reg_buf, int za_regnum, int svg_regnum, int svcr_regnum)
 
void aarch64_zt_regs_copy_to_reg_buf (int tid, struct reg_buffer_common *reg_buf, int zt_regnum)
 
void aarch64_zt_regs_copy_from_reg_buf (int tid, struct reg_buffer_common *reg_buf, int zt_regnum)
 

Function Documentation

◆ aarch64_fetch_sve_regset()

gdb::byte_vector aarch64_fetch_sve_regset ( int tid)

◆ aarch64_fetch_za_regset()

gdb::byte_vector aarch64_fetch_za_regset ( int tid)

◆ aarch64_fetch_zt_regset()

gdb::byte_vector aarch64_fetch_zt_regset ( int tid)

Definition at line 537 of file aarch64-scalable-linux-ptrace.c.

References ptrace, and PTRACE_GETREGSET.

Referenced by aarch64_zt_regs_copy_to_reg_buf().

◆ aarch64_has_ssve_state()

bool aarch64_has_ssve_state ( int tid)

◆ aarch64_has_sve_state()

bool aarch64_has_sve_state ( int tid)

◆ aarch64_has_za_state()

bool aarch64_has_za_state ( int tid)

◆ aarch64_initialize_za_regset()

void aarch64_initialize_za_regset ( int tid)

◆ aarch64_maybe_swab128()

static void aarch64_maybe_swab128 ( gdb_byte * dst,
const gdb_byte * src,
size_t size )
static

◆ aarch64_sme_vl_valid()

static bool aarch64_sme_vl_valid ( size_t vl)
static

◆ aarch64_store_sve_regset()

void aarch64_store_sve_regset ( int tid,
const gdb::byte_vector & sve_state )

◆ aarch64_store_za_regset()

void aarch64_store_za_regset ( int tid,
const gdb::byte_vector & za_state )

Definition at line 480 of file aarch64-scalable-linux-ptrace.c.

References ptrace, and PTRACE_SETREGSET.

Referenced by aarch64_za_regs_copy_from_reg_buf().

◆ aarch64_store_zt_regset()

void aarch64_store_zt_regset ( int tid,
const gdb::byte_vector & zt_state )

◆ aarch64_sve_get_vq()

uint64_t aarch64_sve_get_vq ( int tid)

◆ aarch64_sve_regs_copy_from_reg_buf()

void aarch64_sve_regs_copy_from_reg_buf ( int tid,
struct reg_buffer_common * reg_buf )

◆ aarch64_sve_regs_copy_to_reg_buf()

void aarch64_sve_regs_copy_to_reg_buf ( int tid,
struct reg_buffer_common * reg_buf )

◆ aarch64_sve_set_vq() [1/2]

bool aarch64_sve_set_vq ( int tid,
struct reg_buffer_common * reg_buf )

Definition at line 288 of file aarch64-scalable-linux-ptrace.c.

References aarch64_sve_get_vq(), and aarch64_sve_set_vq().

◆ aarch64_sve_set_vq() [2/2]

bool aarch64_sve_set_vq ( int tid,
uint64_t vq )

◆ aarch64_sve_vl_valid()

static bool aarch64_sve_vl_valid ( const bool sve_state,
size_t vl )
static

Definition at line 208 of file aarch64-scalable-linux-ptrace.c.

References aarch64_sme_vl_valid(), and sve_vl_valid.

Referenced by aarch64_sve_get_vq(), and aarch64_za_get_svq().

◆ aarch64_za_get_svq()

uint64_t aarch64_za_get_svq ( int tid)

◆ aarch64_za_regs_copy_from_reg_buf()

void aarch64_za_regs_copy_from_reg_buf ( int tid,
struct reg_buffer_common * reg_buf,
int za_regnum,
int svg_regnum,
int svcr_regnum )

◆ aarch64_za_regs_copy_to_reg_buf()

void aarch64_za_regs_copy_to_reg_buf ( int tid,
struct reg_buffer_common * reg_buf,
int za_regnum,
int svg_regnum,
int svcr_regnum )

◆ aarch64_za_set_svq() [1/2]

bool aarch64_za_set_svq ( int tid,
const struct reg_buffer_common * reg_buf,
int svg_regnum )

Definition at line 382 of file aarch64-scalable-linux-ptrace.c.

References aarch64_za_get_svq(), and aarch64_za_set_svq().

◆ aarch64_za_set_svq() [2/2]

bool aarch64_za_set_svq ( int tid,
uint64_t vq )

◆ aarch64_zt_regs_copy_from_reg_buf()

void aarch64_zt_regs_copy_from_reg_buf ( int tid,
struct reg_buffer_common * reg_buf,
int zt_regnum )

◆ aarch64_zt_regs_copy_to_reg_buf()

void aarch64_zt_regs_copy_to_reg_buf ( int tid,
struct reg_buffer_common * reg_buf,
int zt_regnum )

◆ read_ssve_header()

bool read_ssve_header ( int tid,
struct user_sve_header & header )

Definition at line 125 of file aarch64-scalable-linux-ptrace.c.

References ptrace, and PTRACE_GETREGSET.

Referenced by aarch64_has_ssve_state().

◆ read_sve_header()

bool read_sve_header ( int tid,
struct user_sve_header & header )

Definition at line 89 of file aarch64-scalable-linux-ptrace.c.

References ptrace, and PTRACE_GETREGSET.

Referenced by aarch64_has_sve_state().

◆ read_za_header()

bool read_za_header ( int tid,
struct user_za_header & header )

◆ supports_zt_registers()

bool supports_zt_registers ( int tid)

Definition at line 577 of file aarch64-scalable-linux-ptrace.c.

References ptrace, and PTRACE_GETREGSET.

Referenced by aarch64_initialize_za_regset().

◆ write_ssve_header()

bool write_ssve_header ( int tid,
const struct user_sve_header & header )

Definition at line 143 of file aarch64-scalable-linux-ptrace.c.

References ptrace, and PTRACE_SETREGSET.

◆ write_sve_header()

bool write_sve_header ( int tid,
const struct user_sve_header & header )

Definition at line 107 of file aarch64-scalable-linux-ptrace.c.

References ptrace, and PTRACE_SETREGSET.

◆ write_za_header()

bool write_za_header ( int tid,
const struct user_za_header & header )

Definition at line 179 of file aarch64-scalable-linux-ptrace.c.

References ptrace, and PTRACE_SETREGSET.