Package: linuxinfo / 1.1.8-39

16_s390-support Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# Description: Add support for S390
# Author: Gerhard Tonn <gt@debian.org>
# Last-Update: 2006-03-15

Index: linuxinfo-1.1.8-29/linuxinfo_s390.c
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linuxinfo-1.1.8-29/linuxinfo_s390.c	2010-02-01 21:33:54.514279000 +0100
@@ -0,0 +1,67 @@
+/*
+        linuxinfo_s390.c
+
+        Copyright (C) 1998-2000
+        All Rights Reserved.
+
+        Alex Buell <alex.buell@tahallah.demon.co.uk>
+
+        Advanced Buell Software Engineering Ltd
+        Hampshire, GU31 5DG
+        United Kingdom
+
+        Version Author  Date            Comments
+        ----------------------------------------------------------------------
+        1.0.0   AIB     199803??        Initial development
+	1.0.1	AIB	20000405	Rewritten
+	1.0.2	KRE	20051118        Include <string.h>
+	1.0.3	KRE	20060315	Fix memory reporting
+
+        This is the S/390 port of linuxinfo
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <string.h>
+
+#include "linuxinfo.h"
+
+#ifdef system_s390
+
+void GetHardwareInfo(int fd, struct hw_stat *hw)
+{
+	LONGLONG memory = 0;
+	int processors = 0; 
+	int megahertz = 0;
+	float tempbogo;
+
+	char temp_string[BUFSIZ], temp_string2[BUFSIZ];
+	char chip[BUFSIZ], vendor[BUFSIZ], model[BUFSIZ];
+
+	struct stat st_buf;
+
+	while (read_line(fd, temp_string, BUFSIZ) != 0)
+	{
+		splitstring(temp_string, temp_string2);
+
+		if (!(strncmp(temp_string, "vendor_id", strlen("vendor_id"))))
+			strcpy(vendor, temp_string2);
+
+		if (!(strncmp(temp_string, "# processors", strlen("# processors"))))
+			processors = atoi(temp_string2);
+
+		if (!(strncmp(temp_string, "bogomips per cpu", strlen("bogomips per cp"))))
+		{
+			sscanf(temp_string2, "%f", &tempbogo);
+		}
+	}
+
+	memory = getphysicalmemory();
+	sprintf(hw->hw_memory, "%ld", memory);
+	hw->hw_processors = processors;
+
+	sprintf(hw->hw_cpuinfo, "%s", vendor);
+	sprintf(hw->hw_bogomips, "%0.2f", tempbogo * processors);
+}
+#endif /* system_s390 */