CPU_FLAGS_X86

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page CPU FLAGS X86 and the translation is 100% complete.
Other languages:

CPU_FLAGS_X86 — это переменная USE_EXPAND, содержащая набор инструкций и другие связанные с процессором возможности.

Предыдущие USE-флаги, соответствующие поддержке набора инструкций и возможностей, специфичных для архитектуры x86/amd64, были перенесены в отдельную USE_EXPAND-переменную под названием CPU_FLAGS_X86.

Установка

Emerge

root #emerge --ask app-portage/cpuid2cpuflags

Конфигурация

Оптимизация

Чтобы не потерять специфичные для процессора оптимизации, пользователи должны будут обновить файл make.conf (и возможно package.use). Например, если присутствовали следующие USE-флаги:

ФАЙЛ /etc/portage/make.conf
USE="mmx mmxext sse sse2 sse3"

Эти флаги необходимо скопировать в созданную переменную CPU_FLAGS_X86:

ФАЙЛ /etc/portage/make.conf
CPU_FLAGS_X86="mmx mmxext sse sse2 sse3"
Заметка
Такая CPU_FLAGS_X86 переменная используется на обоих архитектурах; x86 и amd64, на процессорах Intel и AMD.

Если сомневаетесь, то посмотрите описание флагов с помощью одной из доступных утилит. Например equery uses из пакета app-portage/gentoolkit:

user $equery uses media-video/ffmpeg

Большинство имён флагов совпадают с именами из /proc/cpuinfo, с отличием что sse3 в /proc/cpuinfo называется pni (также не спутайте с ssse3).

Чтобы помочь пользователям задействовать правильные USE-флаги, предоставлен скрипт на python, который генерирует правильные значения из /proc/cpuinfo. Его можно найти в пакете app-portage/cpuid2cpuflags.

Сохранение устаревших USE-флагов

Чтобы обеспечить безопасную миграцию и поддерживать совместимость с внешними репозиториями, рекомендуется сохранять старые настройки USE в течение одного года или до тех пор, пока их не использует интересующий пакет.

Использование

Вызов

Версия 1 или 2:

user $cpuinfo2cpuflags-x86
CPU_FLAGS_X86="mmx mmxext sse sse2 sse3"

Версия 3 или выше:

user $cpuid2cpuflags
CPU_FLAGS_X86: mmx mmxext sse sse2 sse3

Пример для глобального применения:

root #echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags

Смотрите также

Внешние ресурсы