New Dynamic Area flags (Page flags)
-----------------------------------

12345678901234567890123456789012345678901234567890123456789012345678901234567890

New flags to support creating DAs whose pages are mapped with specified
cache and/or write buffer policies. For example, to support use of
writethrough/writeback cache, mini data cache, merging write buffer etc. on
XScale.

Define a new 3-bit field, P (bits 12-14), in DA flags word. P controls cache
or write buffer policy in conjunction with C and B bits (bits 5 and 4).

    C    B    P

    0    0    0      not cacheable, not bufferable   [1]
    0    0    >= 1   reserved

    0    1    0      not cacheable, bufferable, OS decides buffer policy [2]
    0    1    1      not cacheable, bufferable, non-merging
    0    1    2      not cacheable, bufferable, merging
    0    1    >= 3   reserved

    1    0    0      cacheable, not bufferable, writethrough, read allocate data [3]
    1    0    >= 1   reserved

    1    1    0      bufferable, cacheable, OS decides cache policy [5]
    1    1    1      bufferable, cacheable, writethrough, read allocate data
    1    1    2      bufferable, cacheable, writeback, read allocate data
    1    1    3      bufferable, cacheable, writeback, write allocate data
    1    1    4      bufferable, cacheable, use alternative data cache [6]
    1    1    >= 5   reserved


Notes:

[1] no cache nor buffer considerations
[2] P selects policy for write buffer; there are no cache considerations
[3] cacheable, not bufferable is not available on many modern ARMs, in which case
    it will fall back to not cacheable, not bufferable
[4] writes that hit the WB cache will just be stored in the cache, other
    writes go out unbuffered. Cache line writebacks may be buffered. Almost no
    plausible use, but it's what the SA-110 does for
[5] buffer policy always decided by OS for all P, when C=1, B=1; policy
    choices are for data cache (or unified cache if appropriate); currently
    no choices for instruction cache
[6] the OS decides the policy for the alternative data cache