aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-03-12 21:35:27 +0000
committerUlrich Drepper <drepper@redhat.com>2004-03-12 21:35:27 +0000
commitf4089ca1d62c68c980d36147b220261bd9e22ae5 (patch)
treebcfc999cc2c0b5268a594a4efe5177feb68aa358 /sysdeps/unix/sysv/linux/i386
parent932dfea7bae1bde6ddb6ead84ce625db0a86a7ad (diff)
downloadglibc-f4089ca1d62c68c980d36147b220261bd9e22ae5.zip
glibc-f4089ca1d62c68c980d36147b220261bd9e22ae5.tar.gz
glibc-f4089ca1d62c68c980d36147b220261bd9e22ae5.tar.bz2
Update.
* sysdeps/unix/sysv/linux/x86_64/sysconf.c: New file.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386')
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysconf.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/sysconf.c b/sysdeps/unix/sysv/linux/i386/sysconf.c
index 067c752..54e7840 100644
--- a/sysdeps/unix/sysv/linux/i386/sysconf.c
+++ b/sysdeps/unix/sysv/linux/i386/sysconf.c
@@ -143,7 +143,13 @@ intel_check_word (int name, unsigned int value, bool *has_level_2,
unsigned int byte = value & 0xff;
if (byte == 0x40)
- *no_level_2_or_3 = true;
+ {
+ *no_level_2_or_3 = true;
+
+ if (folded_name == _SC_LEVEL3_CACHE_SIZE)
+ /* No need to look further. */
+ break;
+ }
else
{
struct intel_02_cache_info *found;
@@ -290,6 +296,7 @@ __sysconf (int name)
: "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
: "0" (0));
+ /* This spells out "GenuineIntel". */
if (ebx == 0x756e6547 && ecx == 0x6c65746e && edx == 0x49656e69)
return handle_intel (name, eax);
// XXX Fill in more vendors.