/* * Initialize storage keys of registered memory regions with the * default key. This is useful for code which is executed with a * non-default access key.
*/ void __skey_regions_initialize(void)
{ unsignedlong address, real; struct skey_region *r, *end;
r = __skey_region_start;
end = __skey_region_end; while (r < end) {
address = r->start & PAGE_MASK; do {
real = load_real_address(address);
page_set_storage_key(real, PAGE_DEFAULT_KEY, 1);
address += PAGE_SIZE;
} while (address < r->end);
r++;
} /* * Make sure storage keys are initialized before * skey_regions_initialized is changed.
*/
barrier();
WRITE_ONCE(skey_regions_initialized, 1);
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.