cpu_desc
static struct cpu_desc cpu_desc0;
static struct cpu_desc *cpu_desc;
static struct cpu_desc kern_cpu_desc;
static struct cpu_desc user_cpu_desc;
static struct cpu_desc l_user_cpu_desc;
static struct cpu_desc *
MPASS(cpu_desc != NULL);
return (&cpu_desc[cpu - 1]);
.offset = __offsetof(struct cpu_desc, field_name), \
struct cpu_desc *desc;
cpu_desc = mallocarray(mp_maxid, sizeof(*cpu_desc), M_IDENTCPU,
parse_cpu_features(bool is64bit, struct cpu_desc *cpu_desc, u_long *hwcap,
reg = CPU_DESC_FIELD(*cpu_desc, i);
struct cpu_desc *desc, *prev_desc;
struct cpu_desc *desc, *prev_desc;
free(cpu_desc, M_IDENTCPU);
print_cpu_cache(struct cpu_desc *desc, struct sbuf *sb, uint64_t ccs,
print_cpu_caches(struct sbuf *sb, struct cpu_desc *desc)
print_cpu_features(u_int cpu, struct cpu_desc *desc,
struct cpu_desc *prev_desc)
struct cpu_desc *desc;
check_cpu_regs(u_int cpu, struct cpu_desc *desc, struct cpu_desc *prev_desc)
struct cpu_desc;
static void print_cpu_features(u_int cpu, struct cpu_desc *desc,
struct cpu_desc *prev_desc);
static void print_cpu_caches(struct sbuf *sb, struct cpu_desc *desc);
static void check_cpu_regs(u_int cpu, struct cpu_desc *desc,
struct cpu_desc *prev_desc);
struct cpu_desc cpu_desc[MAXCPU];
parse_ext_s(struct cpu_desc *desc, char *isa, int idx, int len)
parse_ext_x(struct cpu_desc *desc __unused, char *isa, int idx, int len)
parse_ext_z(struct cpu_desc *desc __unused, char *isa, int idx, int len)
parse_riscv_isa(struct cpu_desc *desc, char *isa, int len)
parse_mmu_fdt(struct cpu_desc *desc, phandle_t node)
parse_cbo_fdt(struct cpu_desc *desc, phandle_t node)
identify_cpu_features_fdt(u_int cpu, struct cpu_desc *desc)
identify_cpu_features(u_int cpu, struct cpu_desc *desc)
update_global_capabilities(u_int cpu, struct cpu_desc *desc)
identify_cpu_ids(struct cpu_desc *desc)
handle_thead_quirks(u_int cpu, struct cpu_desc *desc)
handle_cpu_quirks(u_int cpu, struct cpu_desc *desc)
struct cpu_desc *desc = &cpu_desc[cpu];
struct cpu_desc *desc;
desc = &cpu_desc[cpu];