~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/include/asm/cpu.h

Version: ~ [ linux-6.3-rc3 ] ~ [ linux-6.2.7 ] ~ [ linux-6.1.20 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.103 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.175 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.237 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.278 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.310 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2   * Copyright (C) 2014 ARM Ltd.
  3  *
  4  * This program is free software; you can redistribute it and/or modify
  5  * it under the terms of the GNU General Public License version 2 as
  6  * published by the Free Software Foundation.
  7  *
  8  * This program is distributed in the hope that it will be useful,
  9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 11  * GNU General Public License for more details.
 12  *
 13  * You should have received a copy of the GNU General Public License
 14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 15  */
 16 #ifndef __ASM_CPU_H
 17 #define __ASM_CPU_H
 18 
 19 #include <linux/cpu.h>
 20 #include <linux/init.h>
 21 #include <linux/percpu.h>
 22 
 23 /*
 24  * Records attributes of an individual CPU.
 25  */
 26 struct cpuinfo_arm64 {
 27         struct cpu      cpu;
 28         struct kobject  kobj;
 29         u32             reg_ctr;
 30         u32             reg_cntfrq;
 31         u32             reg_dczid;
 32         u32             reg_midr;
 33         u32             reg_revidr;
 34 
 35         u64             reg_id_aa64dfr0;
 36         u64             reg_id_aa64dfr1;
 37         u64             reg_id_aa64isar0;
 38         u64             reg_id_aa64isar1;
 39         u64             reg_id_aa64mmfr0;
 40         u64             reg_id_aa64mmfr1;
 41         u64             reg_id_aa64mmfr2;
 42         u64             reg_id_aa64pfr0;
 43         u64             reg_id_aa64pfr1;
 44         u64             reg_id_aa64zfr0;
 45 
 46         u32             reg_id_dfr0;
 47         u32             reg_id_isar0;
 48         u32             reg_id_isar1;
 49         u32             reg_id_isar2;
 50         u32             reg_id_isar3;
 51         u32             reg_id_isar4;
 52         u32             reg_id_isar5;
 53         u32             reg_id_mmfr0;
 54         u32             reg_id_mmfr1;
 55         u32             reg_id_mmfr2;
 56         u32             reg_id_mmfr3;
 57         u32             reg_id_pfr0;
 58         u32             reg_id_pfr1;
 59 
 60         u32             reg_mvfr0;
 61         u32             reg_mvfr1;
 62         u32             reg_mvfr2;
 63 
 64         /* pseudo-ZCR for recording maximum ZCR_EL1 LEN value: */
 65         u64             reg_zcr;
 66 };
 67 
 68 DECLARE_PER_CPU(struct cpuinfo_arm64, cpu_data);
 69 
 70 void cpuinfo_store_cpu(void);
 71 void __init cpuinfo_store_boot_cpu(void);
 72 
 73 void __init init_cpu_features(struct cpuinfo_arm64 *info);
 74 void update_cpu_features(int cpu, struct cpuinfo_arm64 *info,
 75                                  struct cpuinfo_arm64 *boot);
 76 
 77 #endif /* __ASM_CPU_H */
 78 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp