Linux Audio

Check our new training course

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