linux/arch/nios2/include/asm/cpuinfo.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/*
   3 * Copyright (C) 2011 Tobias Klauser <tklauser@distanz.ch>
   4 */
   5
   6#ifndef _ASM_NIOS2_CPUINFO_H
   7#define _ASM_NIOS2_CPUINFO_H
   8
   9#include <linux/types.h>
  10
  11struct cpuinfo {
  12        /* Core CPU configuration */
  13        char cpu_impl[12];
  14        u32 cpu_clock_freq;
  15        bool mmu;
  16        bool has_div;
  17        bool has_mul;
  18        bool has_mulx;
  19        bool has_bmx;
  20        bool has_cdx;
  21
  22        /* CPU caches */
  23        u32 icache_line_size;
  24        u32 icache_size;
  25        u32 dcache_line_size;
  26        u32 dcache_size;
  27
  28        /* TLB */
  29        u32 tlb_pid_num_bits;   /* number of bits used for the PID in TLBMISC */
  30        u32 tlb_num_ways;
  31        u32 tlb_num_ways_log2;
  32        u32 tlb_num_entries;
  33        u32 tlb_num_lines;
  34        u32 tlb_ptr_sz;
  35
  36        /* Addresses */
  37        u32 reset_addr;
  38        u32 exception_addr;
  39        u32 fast_tlb_miss_exc_addr;
  40};
  41
  42extern struct cpuinfo cpuinfo;
  43
  44extern void setup_cpuinfo(void);
  45
  46#endif /* _ASM_NIOS2_CPUINFO_H */
  47