gem5 v24.0.0.0
Loading...
Searching...
No Matches
sinicreg.hh File Reference
#include <cstdint>
#include "base/compiler.hh"

Go to the source code of this file.

Classes

struct  gem5::sinic::registers::Info
 

Namespaces

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

Macros

#define __SINIC_REG32(NAME, VAL)   static const uint32_t NAME = (VAL);
 
#define __SINIC_REG64(NAME, VAL)   static const uint64_t NAME = (VAL);
 
#define __SINIC_VAL32(NAME, OFFSET, WIDTH)
 
#define __SINIC_VAL64(NAME, OFFSET, WIDTH)
 

Functions

const registers::Infogem5::sinic::regInfo (Addr daddr)
 
bool gem5::sinic::regValid (Addr daddr)
 

Variables

static const int gem5::sinic::registers::VirtualShift = 8
 
static const int gem5::sinic::registers::VirtualMask = 0xff
 

Macro Definition Documentation

◆ __SINIC_REG32

#define __SINIC_REG32 ( NAME,
VAL )   static const uint32_t NAME = (VAL);

Definition at line 36 of file sinicreg.hh.

◆ __SINIC_REG64

#define __SINIC_REG64 ( NAME,
VAL )   static const uint64_t NAME = (VAL);

Definition at line 37 of file sinicreg.hh.

◆ __SINIC_VAL32

#define __SINIC_VAL32 ( NAME,
OFFSET,
WIDTH )
Value:
static const uint32_t NAME##_width = WIDTH; \
static const uint32_t NAME##_offset = OFFSET; \
static const uint32_t NAME##_mask = (1 << WIDTH) - 1; \
static const uint32_t NAME = ((1 << WIDTH) - 1) << OFFSET; \
static inline uint32_t get_##NAME(uint32_t reg) \
{ return (reg & NAME) >> OFFSET; } \
static inline uint32_t set_##NAME(uint32_t reg, uint32_t val) \
{ return (reg & ~NAME) | ((val << OFFSET) & NAME); }
#define WIDTH
Definition define.h:41

Definition at line 39 of file sinicreg.hh.

◆ __SINIC_VAL64

#define __SINIC_VAL64 ( NAME,
OFFSET,
WIDTH )
Value:
static const uint64_t NAME##_width = WIDTH; \
static const uint64_t NAME##_offset = OFFSET; \
static const uint64_t NAME##_mask = (1ULL << WIDTH) - 1; \
static const uint64_t NAME = ((1ULL << WIDTH) - 1) << OFFSET; \
static inline uint64_t get_##NAME(uint64_t reg) \
{ return (reg & NAME) >> OFFSET; } \
static inline uint64_t set_##NAME(uint64_t reg, uint64_t val) \
{ return (reg & ~NAME) | ((val << OFFSET) & NAME); }

Definition at line 49 of file sinicreg.hh.


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