gem5 v24.1.0.1
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions | Variables
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 Arm Limited 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 Mon Jan 13 2025 04:28:46 for gem5 by doxygen 1.9.8