A disadvantage of SGX compared to Bastion is less flexibility and scalability.
SGX’s all-hardware implementation implies a fixed number of new hardware registers and a maximum number of bits per hardware field which further implies a maximum number of secure enclave and trust domains, as well as a maximum number of pages per enclave, above which performance might degrade significantly. In contrast, with Bastion’s trusted hypervisor an unlimited number of software implemented registers can be instantiated in the hypervisor’s hardware protected memory and persistent storage, enabling secure enclave and trust domains of unlimited number and size without performance degradation.