Added "-p" to make parent directories as needed.
[AROS.git] / arch / arm-all / processor / processor_arch_intern.h
blobc3d4184776944c19f9e66b0f6cef483281b52d9c
1 /*
2 Copyright © 2013, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef PROCESSOR_ARCH_INTERN_H
7 #define PROCESSOR_ARCH_INTERN_H
9 #include <exec/types.h>
11 struct ARMProcessorInformation
13 ULONG VendorID;
14 STRPTR Vendor;
15 TEXT BrandStringBuffer[48];
16 STRPTR BrandString;
17 ULONG Family;
18 STRPTR FamilyString;
19 ULONG Model;
20 ULONG VectorUnit;
21 ULONG Features1;
23 /* Processor cache */
24 ULONG L1DataCacheSize;
25 ULONG L1InstructionCacheSize;
26 ULONG L2CacheSize;
27 ULONG CacheLineSize; /* Min. of L1, L2 */
30 /* Frequency information */
31 UQUAD MaxCPUFrequency;
34 VOID ReadProcessorInformation(struct ARMProcessorInformation * info);
35 VOID ReadMaxFrequencyInformation(struct ARMProcessorInformation * info);
36 UQUAD GetCurrentProcessorFrequency(struct ARMProcessorInformation * info);
38 /* Flags */
39 #define FEATB_THUMB 0
40 #define FEATF_THUMB (1 << FEATB_THUMB)
41 #define FEATB_THUMBEX 1
42 #define FEATF_THUMBEX (1 << FEATB_THUMBEX)
43 #define FEATB_BRANCHP 2
44 #define FEATF_BRANCHP (1 << FEATB_BRANCHP)
45 #define FEATB_FPU 3
46 #define FEATF_FPU (1 << FEATB_FPU)
47 #define FEATB_FPU_VFP FEATB_FPU
48 #define FEATF_FPU_VFP (1 << FEATB_FPU_VFP)
49 #define FEATB_FPU_VFP2 4
50 #define FEATF_FPU_VFP2 (1 << FEATB_FPU_VFP3)
51 #define FEATB_FPU_VFP3 5
52 #define FEATF_FPU_VFP3 (1 << FEATB_FPU_VFP3)
53 #define FEATB_FPU_VFP3_16 6
54 #define FEATF_FPU_VFP3_16 (1 << FEATB_FPU_VFP3_16)
55 #define FEATB_NEON 7
56 #define FEATF_NEON (1 << FEATB_NEON)
57 #define FEATB_FPU_VFP4 8
58 #define FEATF_FPU_VFP4 (1 << FEATB_FPU_VFP4)
59 #define FEATB_SECURE 29
60 #define FEATF_SECURE (1 << FEATB_SECURE)
61 #define FEATB_BIGEND 30
62 #define FEATF_BIGEND (1 << FEATB_BIGEND)
63 #endif /* PROCESSOR_ARCH_INTERN_H */