aboutsummaryrefslogtreecommitdiff
path: root/sys/arm/include
diff options
context:
space:
mode:
authorMichal Meloun <mmel@FreeBSD.org>2018-01-27 11:19:41 +0000
committerMichal Meloun <mmel@FreeBSD.org>2018-01-27 11:19:41 +0000
commita36b6ec0f960b50337107e0d7555dc430e6aa08b (patch)
tree70f204d79572aad0e89e332da27f991884c51aa9 /sys/arm/include
parent116a5567dd73cc9d20e84855b6d2dd02522d4ef1 (diff)
Notes
Diffstat (limited to 'sys/arm/include')
-rw-r--r--sys/arm/include/cpuinfo.h2
-rw-r--r--sys/arm/include/pcpu.h8
2 files changed, 9 insertions, 1 deletions
diff --git a/sys/arm/include/cpuinfo.h b/sys/arm/include/cpuinfo.h
index 943391ada4d2..35c496db43f8 100644
--- a/sys/arm/include/cpuinfo.h
+++ b/sys/arm/include/cpuinfo.h
@@ -49,6 +49,7 @@
#define CPU_ARCH_CORTEX_A57 0xD07
#define CPU_ARCH_CORTEX_A72 0xD08
#define CPU_ARCH_CORTEX_A73 0xD09
+#define CPU_ARCH_CORTEX_A75 0xD0A
/* QCOM */
@@ -125,6 +126,7 @@ extern struct cpuinfo cpuinfo;
void cpuinfo_init(void);
#if __ARM_ARCH >= 6
+void cpuinfo_init_bp_hardening(void);
void cpuinfo_reinit_mmu(uint32_t ttb);
#endif
#endif /* _MACHINE_CPUINFO_H_ */
diff --git a/sys/arm/include/pcpu.h b/sys/arm/include/pcpu.h
index d72741a84d9c..ea2ba540339c 100644
--- a/sys/arm/include/pcpu.h
+++ b/sys/arm/include/pcpu.h
@@ -44,6 +44,10 @@ struct vmspace;
#endif /* _KERNEL */
#if __ARM_ARCH >= 6
+/* Branch predictor hardening method */
+#define PCPU_BP_HARDEN_KIND_NONE 0
+#define PCPU_BP_HARDEN_KIND_BPIALL 1
+#define PCPU_BP_HARDEN_KIND_ICIALLU 2
#define PCPU_MD_FIELDS \
unsigned int pc_vfpsid; \
@@ -59,7 +63,9 @@ struct vmspace;
void *pc_qmap_pte2p; \
unsigned int pc_dbreg[32]; \
int pc_dbreg_cmd; \
- char __pad[155]
+ int pc_bp_harden_kind; \
+ uint32_t pc_original_actlr; \
+ char __pad[147]
#else
#define PCPU_MD_FIELDS \
char __pad[93]