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

Авторство
  Copyright SayoriOS Team (c) 2022-2024

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

## Макросы

## ◆ VMWARE_PORT

#define VMWARE_PORT | ( |  | cmd,
|  |  | eax,
|  |  | ebx,
|  |  | ecx,
|  |  | edx
| ) |  |

Макроопределение:
__asm__("inl (%%dx)" : \
"=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) : \
"0"(VMWARE_HYPERVISOR_MAGIC), \
"1"(VMWARE_PORT_CMD_##cmd), \
"2"(VMWARE_HYPERVISOR_PORT), "3"(UINT_MAX) : \
"memory");
VMWARE_HYPERVISOR_PORT
#define VMWARE_HYPERVISOR_PORT
Порт доступа данных к VMWare.
Definition: cpuinfo.c:24
VMWARE_HYPERVISOR_MAGIC
#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