set_machine_feature(MFEATURE_TX);
local_ctl_set_bit(0, CR0_TRANSACTIONAL_EXECUTION_BIT);
}
+ if (cpu_has_vx())
+ local_ctl_set_bit(0, CR0_VECTOR_BIT);
}
static int cmma_test_essa(void)
#define cpu_has_seq_insn() test_facility(85)
#define cpu_has_tlb_lc() test_facility(51)
#define cpu_has_topology() test_facility(11)
+#define cpu_has_vx() test_facility(129)
#endif /* __ASM_S390_CPUFEATURE_H */
#ifndef _ASM_S390_FPU_H
#define _ASM_S390_FPU_H
+#include <linux/cpufeature.h>
#include <linux/processor.h>
#include <linux/preempt.h>
#include <linux/string.h>
#include <asm/sigcontext.h>
#include <asm/fpu-types.h>
#include <asm/fpu-insn.h>
-#include <asm/facility.h>
-
-static inline bool cpu_has_vx(void)
-{
- return likely(test_facility(129));
-}
enum {
KERNEL_FPC_BIT = 0,
lc->return_mcck_lpswe = gen_lpswe(__LC_RETURN_MCCK_PSW);
}
-static __init void detect_machine_facilities(void)
-{
- if (test_facility(129))
- system_ctl_set_bit(0, CR0_VECTOR_BIT);
-}
-
static inline void save_vector_registers(void)
{
#ifdef CONFIG_CRASH_DUMP
- if (test_facility(129))
+ if (cpu_has_vx())
save_vx_regs(boot_cpu_vector_save_area);
#endif
}
setup_lowcore_early();
setup_arch_string();
setup_boot_command_line();
- detect_machine_facilities();
save_vector_registers();
setup_topology();
sclp_early_detect();
* This file is postprocessed using unroll.awk.
*/
+#include <linux/cpufeature.h>
#include <linux/raid/pq.h>
#include <asm/fpu.h>