]> git.pld-linux.org Git - packages/rpm.git/blame - rpm-cpuid.patch
- updated amd64 patch
[packages/rpm.git] / rpm-cpuid.patch
CommitLineData
b22c85be
PS
1--- rpm-4.3/lib/rpmrc.c.orig 2004-03-29 14:43:40.000000000 +0200
2+++ rpm-4.3/lib/rpmrc.c 2004-03-29 14:52:50.141270392 +0200
3@@ -893,16 +893,13 @@
4 #ifdef __LCLINT__
5 *eax = *ebx = *ecx = *edx = 0;
6 #endif
7-#ifdef PIC
8- __asm__("pushl %%ebx; cpuid; movl %%ebx,%1; popl %%ebx"
9- : "=a"(*eax), "=g"(*ebx), "=&c"(*ecx), "=&d"(*edx)
10- : "a" (op));
11-#else
12- __asm__("cpuid"
13- : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
14- : "a" (op));
15-#endif
16-
17+ asm volatile (
18+ "pushl %%ebx \n"
19+ "cpuid \n"
20+ "movl %%ebx, %%esi \n"
21+ "popl %%ebx \n"
22+ : "=a" (*eax), "=S" (*ebx), "=c" (*ecx), "=d" (*edx)
23+ : "a" (op));
24 }
25
26 /*
27@@ -911,15 +908,8 @@
28 static inline unsigned int cpuid_eax(unsigned int op)
29 /*@*/
30 {
31- unsigned int val;
32-
33-#ifdef PIC
34- __asm__("pushl %%ebx; cpuid; popl %%ebx"
35- : "=a" (val) : "a" (op) : "ecx", "edx");
36-#else
37- __asm__("cpuid"
38- : "=a" (val) : "a" (op) : "ebx", "ecx", "edx");
39-#endif
40+ unsigned int tmp, val;
41+ cpuid(op, &val, &tmp, &tmp, &tmp);
42 return val;
43 }
44
45@@ -927,14 +917,7 @@
46 /*@*/
47 {
48 unsigned int tmp, val;
49-
50-#ifdef PIC
51- __asm__("pushl %%ebx; cpuid; movl %%ebx,%1; popl %%ebx"
52- : "=a" (tmp), "=g" (val) : "a" (op) : "ecx", "edx");
53-#else
54- __asm__("cpuid"
55- : "=a" (tmp), "=b" (val) : "a" (op) : "ecx", "edx");
56-#endif
57+ cpuid(op, &tmp, &val, &tmp, &tmp);
58 return val;
59 }
60
61@@ -942,30 +925,16 @@
62 /*@*/
63 {
64 unsigned int tmp, val;
65-#ifdef PIC
66- __asm__("pushl %%ebx; cpuid; popl %%ebx"
67- : "=a" (tmp), "=c" (val) : "a" (op) : "edx");
68-#else
69- __asm__("cpuid"
70- : "=a" (tmp), "=c" (val) : "a" (op) : "ebx", "edx");
71-#endif
72+ cpuid(op, &tmp, &tmp, &val, &tmp);
73 return val;
74-
75 }
76
77 static inline unsigned int cpuid_edx(unsigned int op)
78 /*@*/
79 {
80 unsigned int tmp, val;
81-#ifdef PIC
82- __asm__("pushl %%ebx; cpuid; popl %%ebx"
83- : "=a" (tmp), "=d" (val) : "a" (op) : "ecx");
84-#else
85- __asm__("cpuid"
86- : "=a" (tmp), "=d" (val) : "a" (op) : "ebx", "ecx");
87-#endif
88+ cpuid(op, &tmp, &tmp, &tmp, &val);
89 return val;
90-
91 }
92
93 /*@unchecked@*/
This page took 0.043477 seconds and 4 git commands to generate.