/* * Descriptor for a cache
*/ struct cache_desc { unsignedchar type; unsignedchar level; unsignedshort sets; /* Number of lines per set */ unsignedchar ways; /* Number of ways */ unsignedchar linesz; /* Size of line in bytes */ unsignedchar flags; /* Flags describing cache properties */
};
/* * Capability and feature descriptor structure for LoongArch CPU
*/ unsignedlonglong options; unsignedint processor_id; unsignedint fpu_vers; unsignedint fpu_csr0; unsignedint fpu_mask; unsignedint cputype; int isa_level; int tlbsize; int tlbsizemtlb; int tlbsizestlbsets; int tlbsizestlbways; int cache_leaves_present; /* number of cache_leaves[] elements */ struct cache_desc cache_leaves[CACHE_LEAVES_MAX]; int core; /* physical core number in package */ int package;/* physical package number */ int global_id; /* physical global thread number */ int vabits; /* Virtual Address size in bits */ int pabits; /* Physical Address size in bits */ int timerbits; /* Width of arch timer in bits */ unsignedint ksave_mask; /* Usable KSave mask. */ unsignedint watch_dreg_count; /* Number data breakpoints */ unsignedint watch_ireg_count; /* Number instruction breakpoints */ unsignedint watch_reg_use_cnt; /* min(NUM_WATCH_REGS, watch_dreg_count + watch_ireg_count), Usable by ptrace */
} __aligned(SMP_CACHE_BYTES);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.