📄 cputable.h
字号:
/* * BK Id: SCCS/s.cputable.h 1.3 08/19/01 22:31:46 paulus *//* * include/asm-ppc/cputable.h * * Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */#ifndef __ASM_PPC_CPUTABLE_H#define __ASM_PPC_CPUTABLE_H/* Exposed to userland CPU features */#define PPC_FEATURE_32 0x80000000#define PPC_FEATURE_64 0x40000000#define PPC_FEATURE_601_INSTR 0x20000000#define PPC_FEATURE_HAS_ALTIVEC 0x10000000#define PPC_FEATURE_HAS_FPU 0x08000000#define PPC_FEATURE_HAS_MMU 0x04000000#define PPC_FEATURE_HAS_4xxMAC 0x02000000#define PPC_FEATURE_UNIFIED_CACHE 0x01000000#ifdef __KERNEL__#ifndef __ASSEMBLY__/* This structure can grow, it's real size is used by head.S code * via the mkdefs mecanism. */struct cpu_spec { /* CPU is matched via (PVR & pvr_mask) == pvr_value */ unsigned int pvr_mask; unsigned int pvr_value; char *cpu_name; unsigned int cpu_features; /* Kernel features */ unsigned int cpu_user_features; /* Userland features */ /* cache line sizes */ unsigned int icache_bsize; unsigned int dcache_bsize; /* this is called to initialize various CPU bits like L1 cache, * BHT, SPD, etc... from head.S before branching to identify_machine */ void (*cpu_setup)(int cpu_nr);};extern struct cpu_spec cpu_specs[];extern struct cpu_spec *cur_cpu_spec[];#endif /* __ASSEMBLY__ *//* CPU kernel features */#define CPU_FTR_SPLIT_ID_CACHE 0x00000001#define CPU_FTR_L2CR 0x00000002#define CPU_FTR_SPEC7450 0x00000004#define CPU_FTR_ALTIVEC 0x00000008#define CPU_FTR_TAU 0x00000010#define CPU_FTR_CAN_DOZE 0x00000020#define CPU_FTR_USE_TB 0x00000040#define CPU_FTR_604_PERF_MON 0x00000080#define CPU_FTR_601 0x00000100#define CPU_FTR_HPTE_TABLE 0x00000200#ifdef __ASSEMBLY__#define BEGIN_FTR_SECTION 98:#define END_FTR_SECTION(msk, val) \99: \ .section __ftr_fixup,"a"; \ .align 2; \ .long msk; \ .long val; \ .long 98b; \ .long 99b; \ .previous#define END_FTR_SECTION_IFSET(msk) END_FTR_SECTION((msk), (msk))#define END_FTR_SECTION_IFCLR(msk) END_FTR_SECTION((msk), 0)#endif /* __ASSEMBLY__ */#endif /* __ASM_PPC_CPUTABLE_H */#endif /* __KERNEL__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -