Формат записи таблицы страниц ARM Linux - неиспользованные биты?
Мне нужно использовать два бита PTE для хранения пользовательских "государство" значение, которое мой модуль ядра будет использовать при перехвате ошибок защиты страницы.
Я разрабатываю на Galaxy Nexus, который имеет ARM Cortex A9 (ARM v7, я считаю). Ядро Linux версии 3.0.31. Ниже приведены определения Linux PTE (из:arch/arm/include/asm/pgtable.h
/*
* "Linux" PTE definitions.
*
* We keep two sets of PTEs - the hardware and the linux version.
* This allows greater flexibility in the way we map the Linux bits
* onto the hardware tables, and allows us to have YOUNG and DIRTY
* bits.
*
* The PTE table pointer refers to the hardware entries; the "Linux"
* entries are stored 1024 bytes below.
*/
#define L_PTE_PRESENT (_AT(pteval_t, 1) < 0)
#define L_PTE_YOUNG (_AT(pteval_t, 1) < 1)
#define L_PTE_FILE (_AT(pteval_t, 1) < 2) /* only when !PRESENT */
#define L_PTE_DIRTY (_AT(pteval_t, 1) < 6)
#define L_PTE_RDONLY (_AT(pteval_t, 1) < 7)
#define L_PTE_USER (_AT(pteval_t, 1) < 8)
#define L_PTE_XN (_AT(pteval_t, 1) < 9)
#define L_PTE_SHARED (_AT(pteval_t, 1) < 10) /* shared(v6), coherent(xsc3) */