about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/i386/sysconf.c
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/sysconf.c
parent932dfea7bae1bde6ddb6ead84ce625db0a86a7ad (diff)
downloadglibc-f4089ca1d62c68c980d36147b220261bd9e22ae5.tar.gz
glibc-f4089ca1d62c68c980d36147b220261bd9e22ae5.tar.xz
glibc-f4089ca1d62c68c980d36147b220261bd9e22ae5.zip
Update.
	* sysdeps/unix/sysv/linux/x86_64/sysconf.c: New file.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/sysconf.c')
-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 067c752924..54e78409d4 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.