2 Copyright © 2013, The AROS Development Team. All rights reserved.
6 #ifndef PROCESSOR_ARCH_INTERN_H
7 #define PROCESSOR_ARCH_INTERN_H
9 #include <exec/types.h>
11 struct ARMProcessorInformation
15 TEXT BrandStringBuffer
[48];
24 ULONG L1DataCacheSize
;
25 ULONG L1InstructionCacheSize
;
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
);
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)
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)
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 */