/* * Data buffer spanning two pages that will be placed first in the .data * segment via the linker script. Even if not used internally the second page * is needed by external test manipulating page permissions, so mark * encl_buffer as "used" to make sure it is entirely preserved by the compiler.
*/ static uint8_t __used __section(".data.encl_buffer") encl_buffer[8192] = { 1 };
/* * Symbol placed at the start of the enclave image by the linker script. * Declare this extern symbol with visibility "hidden" to ensure the compiler * does not access it through the GOT and generates position-independent * addressing as __encl_base(%rip), so we can get the actual enclave base * during runtime.
*/ externconst uint8_t __attribute__((visibility("hidden"))) __encl_base;
/* * The enclave base address needs to be added, as this call site * *cannot be* made rip-relative by the compiler, or fixed up by * any other possible means.
*/
op = ((uint64_t)&__encl_base) + encl_op_array[header->type];
(*op)(header);
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.12 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.