···129129130130/*131131 * These are the memory types, defined to be compatible with132132- * pre-ARMv6 CPUs cacheable and bufferable bits: XXCB132132+ * pre-ARMv6 CPUs cacheable and bufferable bits: n/a,n/a,C,B133133+ * ARMv6+ without TEX remapping, they are a table index.134134+ * ARMv6+ with TEX remapping, they correspond to n/a,TEX(0),C,B135135+ *136136+ * MT type Pre-ARMv6 ARMv6+ type / cacheable status137137+ * UNCACHED Uncached Strongly ordered138138+ * BUFFERABLE Bufferable Normal memory / non-cacheable139139+ * WRITETHROUGH Writethrough Normal memory / write through140140+ * WRITEBACK Writeback Normal memory / write back, read alloc141141+ * MINICACHE Minicache N/A142142+ * WRITEALLOC Writeback Normal memory / write back, write alloc143143+ * DEV_SHARED Uncached Device memory (shared)144144+ * DEV_NONSHARED Uncached Device memory (non-shared)145145+ * DEV_WC Bufferable Normal memory / non-cacheable146146+ * DEV_CACHED Writeback Normal memory / write back, read alloc147147+ * VECTORS Variable Normal memory / variable148148+ *149149+ * All normal memory mappings have the following properties:150150+ * - reads can be repeated with no side effects151151+ * - repeated reads return the last value written152152+ * - reads can fetch additional locations without side effects153153+ * - writes can be repeated (in certain cases) with no side effects154154+ * - writes can be merged before accessing the target155155+ * - unaligned accesses can be supported156156+ *157157+ * All device mappings have the following properties:158158+ * - no access speculation159159+ * - no repetition (eg, on return from an exception)160160+ * - number, order and size of accesses are maintained161161+ * - unaligned accesses are "unpredictable"133162 */134163#define L_PTE_MT_UNCACHED (_AT(pteval_t, 0x00) << 2) /* 0000 */135164#define L_PTE_MT_BUFFERABLE (_AT(pteval_t, 0x01) << 2) /* 0001 */