gem5 v24.0.0.0
Loading...
Searching...
No Matches
armv8_cpu.cc File Reference
#include "arch/arm/kvm/armv8_cpu.hh"
#include <linux/kvm.h>
#include "arch/arm/regs/int.hh"
#include "arch/arm/regs/vec.hh"
#include "arch/arm/utility.hh"
#include "debug/KvmContext.hh"
#include "params/ArmV8KvmCPU.hh"

Go to the source code of this file.

Classes

union  gem5::KvmFPReg
 

Namespaces

namespace  gem5
 Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
 

Macros

#define EXTRACT_FIELD(v, name)    (((v) & name ## _MASK) >> name ## _SHIFT)
 
#define CORE_REG(name, size)
 
#define INT_REG(name)   CORE_REG(name, U64)
 
#define SIMD_REG(name)   CORE_REG(name, U128)
 
#define SYS_MPIDR_EL1   ARM64_SYS_REG(0b11, 0b000, 0b0000, 0b0000, 0b101)
 
#define FP_REGS_PER_VFP_REG   4
 

Functions

constexpr uint64_t gem5::kvmXReg (const int num)
 
constexpr uint64_t gem5::kvmFPReg (const int num)
 

Variables

static constexpr unsigned gem5::NUM_XREGS = int_reg::NumArchRegs - 1
 
static constexpr unsigned gem5::NUM_QREGS = NumVecV8ArchRegs
 

Macro Definition Documentation

◆ CORE_REG

#define CORE_REG ( name,
size )
Value:
(KVM_REG_ARM64 | KVM_REG_ARM_CORE | \
KVM_REG_SIZE_ ## size | \
KVM_REG_ARM_CORE_REG(name))
const std::string & name()
Definition trace.cc:48

Definition at line 66 of file armv8_cpu.cc.

◆ EXTRACT_FIELD

#define EXTRACT_FIELD ( v,
name )    (((v) & name ## _MASK) >> name ## _SHIFT)

Definition at line 63 of file armv8_cpu.cc.

Referenced by gem5::ArmV8KvmCPU::dump(), and gem5::ArmV8KvmCPU::getSysRegMap().

◆ FP_REGS_PER_VFP_REG

#define FP_REGS_PER_VFP_REG   4

◆ INT_REG

◆ SIMD_REG

#define SIMD_REG ( name)    CORE_REG(name, U128)

Definition at line 72 of file armv8_cpu.cc.

Referenced by gem5::kvmFPReg().

◆ SYS_MPIDR_EL1

#define SYS_MPIDR_EL1   ARM64_SYS_REG(0b11, 0b000, 0b0000, 0b0000, 0b101)

Definition at line 74 of file armv8_cpu.cc.


Generated on Tue Jun 18 2024 16:24:08 for gem5 by doxygen 1.11.0