cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ptrace.c (1048B)


      1// SPDX-License-Identifier: GPL-2.0
      2#include <linux/ptrace.h>
      3
      4/**
      5 * regs_query_register_offset() - query register offset from its name
      6 * @name:	the name of a register
      7 *
      8 * regs_query_register_offset() returns the offset of a register in struct
      9 * pt_regs from its name. If the name is invalid, this returns -EINVAL;
     10 */
     11int regs_query_register_offset(const char *name)
     12{
     13	const struct pt_regs_offset *roff;
     14	for (roff = regoffset_table; roff->name != NULL; roff++)
     15		if (!strcmp(roff->name, name))
     16			return roff->offset;
     17	return -EINVAL;
     18}
     19
     20/**
     21 * regs_query_register_name() - query register name from its offset
     22 * @offset:	the offset of a register in struct pt_regs.
     23 *
     24 * regs_query_register_name() returns the name of a register from its
     25 * offset in struct pt_regs. If the @offset is invalid, this returns NULL;
     26 */
     27const char *regs_query_register_name(unsigned int offset)
     28{
     29	const struct pt_regs_offset *roff;
     30	for (roff = regoffset_table; roff->name != NULL; roff++)
     31		if (roff->offset == offset)
     32			return roff->name;
     33	return NULL;
     34}