Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
IT Nachrichten21. September(21.09.2026 um 00:05 Uhr)
YouTube Security VideosŠkoda Peaq im Fahrest: DAS hätten wir nicht erwartet! | CHIP(21.09.2026 um 00:00 Uhr)
Sichere ProgrammierungBackups and other lies(20.09.2026 um 23:42 Uhr)
IT Nachrichten21. September(21.09.2026 um 00:05 Uhr)
YouTube Security VideosŠkoda Peaq im Fahrest: DAS hätten wir nicht erwartet! | CHIP(21.09.2026 um 00:00 Uhr)
Sichere ProgrammierungBackups and other lies(20.09.2026 um 23:42 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

linux and processor attributes

Reagiere als Erste:r — dein Feedback zählt!
I was having some trouble finding my CPU's TLB page size and data entries a few days ago, and it's no mystery that Intel provides very poor specs in this specific area. I couldn't see it exported from Linux either (although it *does* list it in /proc/cpuinfo, depending on the L1/L2 cache sizes and attributes, but that's another story).

To overcome this I was forced to write my own little program that uses the cpuid instruction (x86-family specific, introduced in the early 90s) to obtain processor attributes like vendor/model, cache sizes, flags, etc. Since this is the way the kernel actually gets the information, it might be useful to share some basic information of this feature... again, this is x86 only.

This instruction reads the EAX register to know what information the caller is asking for, and with 0 it will return all the available attributes; thus a smart implementation will use this first, then decide if the information we want is available. The outputs of the instruction are loaded into EAX (yes, this is input and ouput), EBX, ECX and EDX, and to use it all we need to know are the register bit offsets, well documented here.

Calling cpuid in C is quite trivial, just specify the operation level, load it into EAX and return the out registers to return the value(s) through reference:

 void cpuid(unsigned int op, unsigned int *eax, unsigned int *ebx,  
       unsigned int *ecx, unsigned int *edx)  
 {  
  __asm__(  
  "cpuid;"  
  : "=b" (*ebx), "=a" (*eax),"=c" (*ecx),"=d" (*edx)  
  : "1" (op), "c"(0));  
 }  

Now, say we want to get the size of the L2 cache and some power management information, so by looking at the reference I know to load 0x80000006 and ECX will hold my data in bits 31-16 for the L2 size in Kb, and the CPU thermal monitoring in bit 4 of EDX when loading level 0x80000007. So we have:

      unsigned int *eax, *ebx, *ecx, *edx;  
      cpuid(0x80000006, &eax, &ebx, &ecx, &edx);  
      printf("my L2 cache is %dKb\n", ecx>>16);  
      cpuid(0x80000007, &eax, &ebx, &ecx, &edx);  
      printf("my EPM thermal monitor is %d\n", edx>>4);  

The kernel does exactly this to determine the processor(s) information, of course with a little more precaution and optimization, but in the end what you see in /proc/cpuinfo (and therefore lscpu) is a result of cpuid.

For further details read cpu_detect_cache_size() and cpu_get_model_name() in arch/x86/kernel/cpu/common.c

happy hacking!

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten linux and processor attributes

Thematisch verwandte Begriffe: linux, processor, attributes · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-93957 | A vulnerability has been found in olivier-ls PHP-FTS up to 1.1.3. This a…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick