gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Functions | Variables
armv8_cpu.cc File Reference
#include "arch/arm/kvm/armv8_cpu.hh"
#include <linux/kvm.h>
#include "debug/KvmContext.hh"
#include "params/ArmV8KvmCPU.hh"

Go to the source code of this file.

Classes

union  KvmFPReg
 

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 kvmXReg (const int num)
 
constexpr uint64_t kvmFPReg (const int num)
 

Variables

static constexpr unsigned NUM_XREGS = NUM_ARCH_INTREGS - 1
 
static constexpr unsigned NUM_QREGS = NumFloatV8ArchRegs / 4
 

Macro Definition Documentation

#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:49
int size()
Definition: pagetable.hh:146

Definition at line 60 of file armv8_cpu.cc.

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

Definition at line 57 of file armv8_cpu.cc.

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

#define FP_REGS_PER_VFP_REG   4

Definition at line 98 of file armv8_cpu.cc.

Referenced by ArmV8KvmCPU::updateKvmState(), and ArmV8KvmCPU::updateThreadContext().

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

Definition at line 66 of file armv8_cpu.cc.

Referenced by kvmFPReg().

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

Definition at line 68 of file armv8_cpu.cc.

Function Documentation

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

Variable Documentation

constexpr unsigned NUM_QREGS = NumFloatV8ArchRegs / 4
static
constexpr unsigned NUM_XREGS = NUM_ARCH_INTREGS - 1
static

Generated on Fri Jun 9 2017 13:03:55 for gem5 by doxygen 1.8.6