aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/kernel/setup.c')
-rw-r--r--arch/s390/kernel/setup.c88
1 files changed, 0 insertions, 88 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index ba724d180be7..b7a1efd5522c 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -35,7 +35,6 @@
35#include <linux/bootmem.h> 35#include <linux/bootmem.h>
36#include <linux/root_dev.h> 36#include <linux/root_dev.h>
37#include <linux/console.h> 37#include <linux/console.h>
38#include <linux/seq_file.h>
39#include <linux/kernel_stat.h> 38#include <linux/kernel_stat.h>
40#include <linux/device.h> 39#include <linux/device.h>
41#include <linux/notifier.h> 40#include <linux/notifier.h>
@@ -829,90 +828,3 @@ setup_arch(char **cmdline_p)
829 /* Setup zfcpdump support */ 828 /* Setup zfcpdump support */
830 setup_zfcpdump(console_devno); 829 setup_zfcpdump(console_devno);
831} 830}
832
833void __cpuinit print_cpu_info(struct cpuinfo_S390 *cpuinfo)
834{
835 printk(KERN_INFO "cpu %d "
836#ifdef CONFIG_SMP
837 "phys_idx=%d "
838#endif
839 "vers=%02X ident=%06X machine=%04X unused=%04X\n",
840 cpuinfo->cpu_nr,
841#ifdef CONFIG_SMP
842 cpuinfo->cpu_addr,
843#endif
844 cpuinfo->cpu_id.version,
845 cpuinfo->cpu_id.ident,
846 cpuinfo->cpu_id.machine,
847 cpuinfo->cpu_id.unused);
848}
849
850/*
851 * show_cpuinfo - Get information on one CPU for use by procfs.
852 */
853
854static int show_cpuinfo(struct seq_file *m, void *v)
855{
856 static const char *hwcap_str[8] = {
857 "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp",
858 "edat"
859 };
860 struct cpuinfo_S390 *cpuinfo;
861 unsigned long n = (unsigned long) v - 1;
862 int i;
863
864 s390_adjust_jiffies();
865 preempt_disable();
866 if (!n) {
867 seq_printf(m, "vendor_id : IBM/S390\n"
868 "# processors : %i\n"
869 "bogomips per cpu: %lu.%02lu\n",
870 num_online_cpus(), loops_per_jiffy/(500000/HZ),
871 (loops_per_jiffy/(5000/HZ))%100);
872 seq_puts(m, "features\t: ");
873 for (i = 0; i < 8; i++)
874 if (hwcap_str[i] && (elf_hwcap & (1UL << i)))
875 seq_printf(m, "%s ", hwcap_str[i]);
876 seq_puts(m, "\n");
877 }
878
879 if (cpu_online(n)) {
880#ifdef CONFIG_SMP
881 if (smp_processor_id() == n)
882 cpuinfo = &S390_lowcore.cpu_data;
883 else
884 cpuinfo = &lowcore_ptr[n]->cpu_data;
885#else
886 cpuinfo = &S390_lowcore.cpu_data;
887#endif
888 seq_printf(m, "processor %li: "
889 "version = %02X, "
890 "identification = %06X, "
891 "machine = %04X\n",
892 n, cpuinfo->cpu_id.version,
893 cpuinfo->cpu_id.ident,
894 cpuinfo->cpu_id.machine);
895 }
896 preempt_enable();
897 return 0;
898}
899
900static void *c_start(struct seq_file *m, loff_t *pos)
901{
902 return *pos < NR_CPUS ? (void *)((unsigned long) *pos + 1) : NULL;
903}
904static void *c_next(struct seq_file *m, void *v, loff_t *pos)
905{
906 ++*pos;
907 return c_start(m, pos);
908}
909static void c_stop(struct seq_file *m, void *v)
910{
911}
912const struct seq_operations cpuinfo_op = {
913 .start = c_start,
914 .next = c_next,
915 .stop = c_stop,
916 .show = show_cpuinfo,
917};
918