On 05/07/2015 12:45 PM, Christian Borntraeger wrote: >>> >> This all looks like s390 storage keys (with the key in pagetables instead >>> >> of a dedicated place). There we also have 16 values for the key and 4 bits >>> >> in the PSW that describe the thread local key both are matched. >>> >> There is an additional field F (fetch protection) that decides, if the >>> >> key value is used for stores or for stores+fetches. >> > >> > OK, so a thread can only be in one domain at a time? > Via the PSW yes. > Actually the docs talk about access key, which is usually the PSW. There are > some instructions like MOVE WITH KEY that allow to specify the key for this > specific instruction. For compiled code these insructions are not used in > Linux and I can not really see a way to implement that properly. Furthermore > enabling these key ops has other implications which are unwanted. OK, so we have to basic operations that need to be done for protection/storage/$FOO keys: 1. Assign a key (or set of keys) to a memory area 2. Have a thread request the access (read and/or write) to a set of areas be acquired or revoked. For (2) on x86, we basically allow any combination of keys and r/w permissions. On s390, we would need to ensure that acces to only one key was allowed at a time. BTW, do the s390 keys affect instructions and data, or data only? The x86 ones affect data only. -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html