Операционная система ЗОСРВ «Нейтрино» > Руководство разработчика > Программные интерфейсы общего назначения > Системные библиотеки > Системные библиотеки > Системная библиотека > C > struct cacheattr_entry



struct cacheattr_entry

Фрагмент системной страницы, характеризующий сведения о конфигурации внутрисхемной и внесхемной кеш-памяти процессора

Прототип:

#include <sys/syspage.h>
struct cacheattr_entry {
uint32_t next;
uint32_t line_size;
uint32_t num_lines;
uint32_t flags;
unsigned (*control)( uint32_t,
unsigned,
int,
struct cacheattr_entry *,
volatile struct syspage_entry * );
uint16_t ways;
uint16_t spare0[1];
uint32_t spare1[2];
};

Описание:

Структура содержит информацию системной страницы, характеризующую сведения о конфигурации внутрисхемной и внесхемной кеш-памяти процессора. Суммарное количество байт, описываемых записью cacheattr, равно line_size × num_lines. Структура включает следующие поля:

next
Индекс следующей записи, которая находится на уровень ниже.
line_size
Размер строки кеш-памяти в байтах.
num_lines
Количество строк кеш-памяти.
flags
Параметр представляет собой битовую карту, которая состоит из следующих флагов:
CACHE_FLAG_INSTR
Соответствует кешу инструкций.
CACHE_FLAG_DATA
Соответствует кешу данных.
CACHE_FLAG_UNIFIED
Соответствует общему кешу инструкций и данных.
CACHE_FLAG_SHARED
Кеш является общим для нескольких процессоров SMP-системы.
CACHE_FLAG_SNOOPED
Реализует протокол слежения за шиной (bus-snooping).
CACHE_FLAG_VIRT_TAG
CACHE_FLAG_VIRTUAL
Применяется виртуальное тегирование.
CACHE_FLAG_WRITEBACK
Выполняет write-back, а не write-through запись.
CACHE_FLAG_CTRL_PHYS
Принимает физические адреса с помощью callout-функции control().
CACHE_FLAG_SUBSET
Соответствует свойству subset. Это означает, что на одном уровне кеш-памяти также кешируется содержимое другого уровня. Если содержимое находится на некотором уровне кеш-памяти, оно также присутствует на всех нижележащих уровнях. Этот флаг влияет на операции сброса кеш-памяти, поскольку callout-функция control() может игнорировать уровни, которые находятся выше уровня с требуемыми данными.
CACHE_FLAG_NONCOHERENT
Кеш не когерентен в SMP-системе.
CACHE_FLAG_NONISA
Не следует инструкциям кеша ISA.
CACHE_FLAG_VIRT_IDX
Кеш имеет виртуальное индексирование.
CACHE_FLAG_CTRL_PHYS64
Callout-функция control() принимает 64-битные физические адреса.
control
Данный callout ядра используется для управления кеш-памятью процессора.
ways
Устаревшее поле.

Классификация:

ЗОСРВ «Нейтрино»

Тематические ссылки:

struct syspage_entry

Руководство по разработке модуля startup




Предыдущий раздел: Описание API системной библиотеки