linux/arch/alpha/kernel/bugs.c
<<
>>
Prefs
   1
   2#include <asm/hwrpb.h>
   3#include <linux/device.h>
   4
   5
   6#ifdef CONFIG_SYSFS
   7
   8static int cpu_is_ev6_or_later(void)
   9{
  10        struct percpu_struct *cpu;
  11        unsigned long cputype;
  12
  13        cpu = (struct percpu_struct *)((char *)hwrpb + hwrpb->processor_offset);
  14        cputype = cpu->type & 0xffffffff;
  15        /* Include all of EV6, EV67, EV68, EV7, EV79 and EV69. */
  16        return (cputype == EV6_CPU) || ((cputype >= EV67_CPU) && (cputype <= EV69_CPU));
  17}
  18
  19ssize_t cpu_show_meltdown(struct device *dev,
  20                          struct device_attribute *attr, char *buf)
  21{
  22        if (cpu_is_ev6_or_later())
  23                return sprintf(buf, "Vulnerable\n");
  24        else
  25                return sprintf(buf, "Not affected\n");
  26}
  27
  28ssize_t cpu_show_spectre_v1(struct device *dev,
  29                            struct device_attribute *attr, char *buf)
  30{
  31        if (cpu_is_ev6_or_later())
  32                return sprintf(buf, "Vulnerable\n");
  33        else
  34                return sprintf(buf, "Not affected\n");
  35}
  36
  37ssize_t cpu_show_spectre_v2(struct device *dev,
  38                            struct device_attribute *attr, char *buf)
  39{
  40        if (cpu_is_ev6_or_later())
  41                return sprintf(buf, "Vulnerable\n");
  42        else
  43                return sprintf(buf, "Not affected\n");
  44}
  45#endif
  46