void * page = 0;
void *temp;
- temp = V3_AllocPagesExtended(1, PAGE_SIZE_4KB, -1, 0); // no constraints
+ temp = V3_AllocPagesExtended(1, PAGE_SIZE_4KB,
+ core->resource_control.pg_node_id,
+ core->resource_control.pg_filter_func,
+ core->resource_control.pg_filter_state);
if (!temp) {
PrintError(VM_NONE, VCORE_NONE,"Cannot allocate page\n");
{
INIT_LIST_HEAD(&(vm->passthrough_impl.event_callback_list));
v3_rw_lock_init(&(vm->passthrough_impl.event_callback_lock));
+ vm->passthrough_impl.inited=1;
return 0;
}
struct passthrough_event_callback *cb,*temp;
addr_t flags;
+ if (!vm->passthrough_impl.inited) {
+ return 0;
+ }
+
flags=v3_write_lock_irqsave(&(vm->passthrough_impl.event_callback_lock));
list_for_each_entry_safe(cb,
{
INIT_LIST_HEAD(&(vm->nested_impl.event_callback_list));
v3_rw_lock_init(&(vm->nested_impl.event_callback_lock));
+ vm->nested_impl.inited=1;
return 0;
}
struct nested_event_callback *cb,*temp;
addr_t flags;
+ if (!vm->nested_impl.inited) {
+ return 0;
+ }
+
flags=v3_write_lock_irqsave(&(vm->nested_impl.event_callback_lock));
list_for_each_entry_safe(cb,