浏览代码

hv_vm_create: handle config args

osy 2 年之前
父节点
当前提交
619f719d77
共有 1 个文件被更改,包括 13 次插入1 次删除
  1. 13 1
      hv.m

+ 13 - 1
hv.m

@@ -127,10 +127,22 @@ const struct hv_vm_create_kernel_args kDefaultVmCreateKernelArgs = {
     .isa = 1,
     .isa = 1,
 };
 };
 
 
+struct hv_vm_config_private {
+  char field_0[16];
+  uint64_t min_ipa;
+  uint64_t ipa_size;
+  uint32_t granule;
+  uint32_t isa;
+};
+
 hv_return_t hv_vm_create(hv_vm_config_t config) {
 hv_return_t hv_vm_create(hv_vm_config_t config) {
   struct hv_vm_create_kernel_args args = kDefaultVmCreateKernelArgs;
   struct hv_vm_create_kernel_args args = kDefaultVmCreateKernelArgs;
+  struct hv_vm_config_private *_config = (struct hv_vm_config_private *)config;
   if (config) {
   if (config) {
-    // TODO(zhuowei): figure this out?
+    args.min_ipa = _config->min_ipa;
+    args.ipa_size = _config->ipa_size;
+    args.granule = _config->granule;
+    args.isa = _config->isa;
   }
   }
   return hv_trap(HV_CALL_VM_CREATE, &args);
   return hv_trap(HV_CALL_VM_CREATE, &args);
 }
 }