SayoriOS  0.3.3
Файл cpuinfo.c

Определение процессора Подробнее...

#include "common.h"
#include "lib/string.h"
#include "portability.h"
#include <io/ports.h>
#include <sys/cpuinfo.h>

См. исходные тексты.

Макросы

#define tty_printf(M, ...)
 
#define INTEL_MAGIC   0x756e6547
 Ключ процессора Intel.
 
#define AMD_MAGIC   0x68747541
 Ключ процессора AMD.
 
#define VMWARE_HYPERVISOR_MAGIC   0x564D5868
 Ключ гипервизора VMWare.
 
#define VMWARE_HYPERVISOR_PORT   0x5658
 Порт доступа данных к VMWare.
 
#define VMWARE_PORT_CMD_GETVERSION   10
 Версия управления VWMare.
 
#define VMWARE_PORT(cmd, eax, ebx, ecx, edx)
 

Функции

int detect_cpu (bool silent)
 Получение имени процессора (Инициализация) Подробнее...
 
char * getNameBrand ()
 Получение имени процессора Подробнее...
 
int do_intel (bool silent)
 Получение информации о процессоре Intel. Подробнее...
 
int do_amd (bool silent)
 Получение информации о процессоре AMD. Подробнее...
 
size_t get_max_cpuid_count ()
 

Переменные

char brandAllName [128] = {0}
 Название процессора
 
char * Intel []
 Лист-спецификаций Intel. Подробнее...
 
char * Intel_Other []
 
  • Дополнительная таблица спецификаций Intel
Подробнее...
 

Подробное описание

Определение процессора

Автор
Пиминов Никита (nikit.nosp@m.a.pi.nosp@m.minof.nosp@m.f@ya.nosp@m.ndex..nosp@m.ru)
Версия
0.3.5
Дата
2022-10-01

См. определение в файле cpuinfo.c

Макросы

◆ VMWARE_PORT

#define VMWARE_PORT (   cmd,
  eax,
  ebx,
  ecx,
  edx 
)
Макроопределение:
__asm__("inl (%%dx)" : \
"=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) : \
"1"(VMWARE_PORT_CMD_##cmd), \
"2"(VMWARE_HYPERVISOR_PORT), "3"(UINT_MAX) : \
"memory");
#define VMWARE_HYPERVISOR_PORT
Порт доступа данных к VMWare.
Definition: cpuinfo.c:24
#define VMWARE_HYPERVISOR_MAGIC
Ключ гипервизора VMWare.
Definition: cpuinfo.c:23

См. определение в файле cpuinfo.c строка 28

Функции

◆ detect_cpu()

int detect_cpu ( bool  silent)

Получение имени процессора (Инициализация)

Аргументы
silent- Тихий режим
Возвращает
int - Тип процессора (0 - Unknown | 1 - Intel | 2 - AMD | 3 - VMWare)
Предупреждения
Не для личного использования. Если вы хотите получить название процессора используйте функцию getNameBrand()

См. определение в файле cpuinfo.c строка 45

◆ do_amd()

int do_amd ( bool  silent)

Получение информации о процессоре AMD.

Аргументы
silent- Тихий режим
Возвращает
int - 0
Предупреждения
Не для личного использования. Если вы хотите получить название процессора используйте функцию getNameBrand()

См. определение в файле cpuinfo.c строка 357

◆ do_intel()

int do_intel ( bool  silent)

Получение информации о процессоре Intel.

Аргументы
silent- Тихий режим
Возвращает
int - 0
Предупреждения
Не для личного использования. Если вы хотите получить название процессора используйте функцию getNameBrand()

См. определение в файле cpuinfo.c строка 152

◆ getNameBrand()

char* getNameBrand ( )

Получение имени процессора

Возвращает
char* - Полное имя процессора

См. определение в файле cpuinfo.c строка 80

Переменные

◆ Intel

char* Intel[]
Инициализатор
= {
"Brand ID Not Supported.",
"Intel(R) Celeron(R) processor",
"Intel(R) Pentium(R) III processor",
"Intel(R) Pentium(R) III Xeon(R) processor",
"Intel(R) Pentium(R) III processor",
"Reserved",
"Mobile Intel(R) Pentium(R) III processor-M",
"Mobile Intel(R) Celeron(R) processor",
"Intel(R) Pentium(R) 4 processor",
"Intel(R) Pentium(R) 4 processor",
"Intel(R) Celeron(R) processor",
"Intel(R) Xeon(R) Processor",
"Intel(R) Xeon(R) processor MP",
"Reserved",
"Mobile Intel(R) Pentium(R) 4 processor-M",
"Mobile Intel(R) Pentium(R) Celeron(R) processor",
"Reserved",
"Mobile Genuine Intel(R) processor",
"Intel(R) Celeron(R) M processor",
"Mobile Intel(R) Celeron(R) processor",
"Intel(R) Celeron(R) processor",
"Mobile Geniune Intel(R) processor",
"Intel(R) Pentium(R) M processor",
"Mobile Intel(R) Celeron(R) processor"
}

Лист-спецификаций Intel.

См. определение в файле cpuinfo.c строка 84

◆ Intel_Other

char* Intel_Other[]
Инициализатор
= {
"Reserved",
"Reserved",
"Reserved",
"Intel(R) Celeron(R) processor",
"Reserved",
"Reserved",
"Reserved",
"Reserved",
"Reserved",
"Reserved",
"Reserved",
"Intel(R) Xeon(R) processor MP",
"Reserved",
"Reserved",
"Intel(R) Xeon(R) processor",
"Reserved",
"Reserved",
"Reserved",
"Reserved",
"Reserved",
"Reserved",
"Reserved",
"Reserved",
"Reserved"
}

  • Дополнительная таблица спецификаций Intel

Предупреждения
- Эта таблица предназначена для тех строк брендов, которые имеют два значения в зависимости от подписи процессора. В ней должно быть то же количество записей, что и в приведенной выше таблице.

См. определение в файле cpuinfo.c строка 116