SP: use CapPtr<>s in address_space, largealloc
This commit is contained in:
committed by
Nathaniel Wesley Filardo
parent
005f5787ef
commit
d9ee19a16c
@@ -40,7 +40,7 @@ int main()
|
||||
// For 1MiB superslabs, SUPERSLAB_BITS + 4 is not big enough for the example.
|
||||
size_t large_class = 28 - SUPERSLAB_BITS;
|
||||
size_t size = bits::one_at_bit(SUPERSLAB_BITS + large_class);
|
||||
void* oe_base = mp.reserve<true>(large_class);
|
||||
void* oe_base = mp.reserve<true>(large_class).unsafe_capptr;
|
||||
void* oe_end = (uint8_t*)oe_base + size;
|
||||
PALOpenEnclave::setup_initial_range(oe_base, oe_end);
|
||||
std::cout << "Allocated region " << oe_base << " - " << oe_end << std::endl;
|
||||
|
||||
@@ -75,7 +75,7 @@ namespace
|
||||
*
|
||||
* This method must be implemented for `LargeAlloc` to work.
|
||||
*/
|
||||
void* pop_large_stack(size_t large_class)
|
||||
CapPtr<Largeslab, CBArena> pop_large_stack(size_t large_class)
|
||||
{
|
||||
return real_state->pop_large_stack(large_class);
|
||||
};
|
||||
@@ -98,7 +98,7 @@ namespace
|
||||
* This method must be implemented for `LargeAlloc` to work.
|
||||
*/
|
||||
template<bool committed>
|
||||
void* reserve(size_t large_class) noexcept
|
||||
CapPtr<Largeslab, CBArena> reserve(size_t large_class) noexcept
|
||||
{
|
||||
return real_state->template reserve<committed>(large_class);
|
||||
}
|
||||
@@ -159,7 +159,7 @@ namespace
|
||||
top(pointer_offset(start, sb_size)),
|
||||
shared_state(new (start) SharedState()),
|
||||
state(
|
||||
pointer_offset(start, sizeof(SharedState)),
|
||||
pointer_offset(CapPtr<void, CBArena>(start), sizeof(SharedState)),
|
||||
sb_size - sizeof(SharedState)),
|
||||
alloc(state, SNMALLOC_DEFAULT_CHUNKMAP(), &shared_state->queue)
|
||||
{
|
||||
|
||||
@@ -48,7 +48,7 @@ int main()
|
||||
// For 1MiB superslabs, SUPERSLAB_BITS + 2 is not big enough for the example.
|
||||
size_t large_class = 26 - SUPERSLAB_BITS;
|
||||
size_t size = bits::one_at_bit(SUPERSLAB_BITS + large_class);
|
||||
void* oe_base = mp.reserve<true>(large_class);
|
||||
void* oe_base = mp.reserve<true>(large_class).unsafe_capptr;
|
||||
void* oe_end = (uint8_t*)oe_base + size;
|
||||
oe_allocator_init(oe_base, oe_end);
|
||||
std::cout << "Allocated region " << oe_base << " - " << oe_end << std::endl;
|
||||
|
||||
Reference in New Issue
Block a user