diff --git a/sample/guest01.ini b/sample/guest01.ini index 0542a20..012eb6e 100644 --- a/sample/guest01.ini +++ b/sample/guest01.ini @@ -1,6 +1,8 @@ [global] name=civ-1 flashfiles=/home/gvt/caas/caas-flashfiles-CR0000317.zip +adb_port=5555 +fastboot_port=5554 vsock_cid=3 [emulator] @@ -38,21 +40,6 @@ type=GVT-g gvtg_version=i915-GVTg_V5_4 vgpu_uuid=1fc89c23-e8a6-47a9-83be-ec23d6f4bb17 -[net] -#Optional ethernet model -#default is e1000 -#if it is set to "none", the whole network emulation will be disabled -model=e1000 - -#Optional adb forwarding port -#default is 5555 -adb_port=5555 - -#Optional fastboot forwarding port -#default is 5554 -fastboot_port=5554 - - [vtpm] bin_path=/usr/bin/swtpm data_dir=/home/gvt/caas/vtpm0 diff --git a/src/guest/guest.c b/src/guest/guest.c index 2cc8e68..5120a8f 100644 --- a/src/guest/guest.c +++ b/src/guest/guest.c @@ -21,14 +21,13 @@ #include "guest.h" keyfile_group_t g_group[] = { - { "global", { "name", "flashfiles", "vsock_cid", NULL } }, + { "global", { "name", "flashfiles", "adb_port", "fastboot_port", "vsock_cid", NULL } }, { "emulator", { "path", NULL } }, { "memory", { "size", NULL } }, { "vcpu", { "num", NULL } }, { "firmware", { "type", "path", "code", "vars", NULL } }, { "disk", { "path", "size", NULL } }, - { "graphics", { "type", "gvtg_version", "vgpu_uuid", "monitor", NULL } }, - { "net", { "model", "adb_port", "fastboot_port", NULL } }, + { "graphics", { "type", "gvtg_version", "vgpu_uuid", NULL } }, { "vtpm", { "bin_path", "data_dir", NULL } }, { "rpmb", { "bin_path", "data_dir", NULL } }, { "passthrough", { "passthrough_pci", NULL}}, @@ -60,11 +59,9 @@ int load_form_data(char *name) set_field_data(FORM_INDEX_NAME, name); val = g_key_file_get_string(in, g->name, g->key[GLOB_FLASHFILES], NULL); set_field_data(FORM_INDEX_FLASHFILES, val); - - g = &g_group[GROUP_VNET]; - val = g_key_file_get_string(in, g->name, g->key[VNET_ADB_PORT], NULL); + val = g_key_file_get_string(in, g->name, g->key[GLOB_ADB_PORT], NULL); set_field_data(FORM_INDEX_ADB_PORT, val); - val = g_key_file_get_string(in, g->name, g->key[VNET_FASTBOOT_PORT], NULL); + val = g_key_file_get_string(in, g->name, g->key[GLOB_FASTBOOT_PORT], NULL); set_field_data(FORM_INDEX_FASTBOOT_PORT, val); g = &g_group[GROUP_EMUL]; @@ -141,6 +138,9 @@ int load_form_data(char *name) set_field_data(FORM_INDEX_AAF_PATH, val); val = g_key_file_get_string(in, g->name, g->key[AAF_SUSPEND], NULL); set_field_data(FORM_INDEX_AAF_SUSPEND, val); + val = g_key_file_get_string(in, g->name, g->key[AAF_AUDIO_TYPE], NULL); + set_field_data(FORM_INDEX_AAF_AUDIO_TYPE, val); + g = &g_group[GROUP_GUEST_SERVICE]; val = g_key_file_get_string(in, g->name, g->key[GUEST_TIME_KEEP], NULL); @@ -198,13 +198,13 @@ int generate_keyfile(void) if (0 != check_field("adb port", temp)) { goto exit; } - g_key_file_set_string(out, g_group[GROUP_VNET].name, g_group[GROUP_VNET].key[VNET_ADB_PORT], temp); + g_key_file_set_string(out, g_group[GROUP_GLOB].name, g_group[GROUP_GLOB].key[GLOB_ADB_PORT], temp); get_field_data(FORM_INDEX_FASTBOOT_PORT, temp, sizeof(temp) - 1); if (0 != check_field("fastboot port", temp)) { goto exit; } - g_key_file_set_string(out, g_group[GROUP_VNET].name, g_group[GROUP_VNET].key[VNET_FASTBOOT_PORT], temp); + g_key_file_set_string(out, g_group[GROUP_GLOB].name, g_group[GROUP_GLOB].key[GLOB_FASTBOOT_PORT], temp); get_field_data(FORM_INDEX_EMUL, temp, sizeof(temp) - 1); if (0 != check_field(g_group[GROUP_EMUL].key[EMUL_PATH], temp)) { @@ -396,6 +396,8 @@ int import_guest(char *in_path) case GROUP_GLOB: import_field(i, GLOB_NAME, in, out); import_field(i, GLOB_FLASHFILES, in, out); + import_field(i, GLOB_ADB_PORT, in, out); + import_field(i, GLOB_FASTBOOT_PORT, in, out); val = g_key_file_get_string(in, group->name, group->key[GLOB_NAME], NULL); if (val == NULL) { @@ -430,14 +432,11 @@ int import_guest(char *in_path) } else if (strcmp(val, VGPU_OPTS_GVTD_STR) == 0) { } else if (strcmp(val, VGPU_OPTS_VIRTIO_STR) == 0) { } else if (strcmp(val, VGPU_OPTS_RAMFB_STR) == 0) { - } else if (strcmp(val, VGPU_OPTS_VIRTIO2D_STR) == 0) { - } else if (strcmp(val, VGPU_OPTS_SRIOV_STR) == 0) { } else { g_warning("cannot find graphics sub-key\n"); return -1; } break; - default: j = 0; while (g_group[i].key[j]) { diff --git a/src/guest/start.c b/src/guest/start.c index 5f5b14d..4eec5f7 100644 --- a/src/guest/start.c +++ b/src/guest/start.c @@ -25,7 +25,6 @@ #include #include #include -#include #include "vm_manager.h" #include "guest.h" #include "utils.h" @@ -44,6 +43,9 @@ static const char *fixed_cmd = " -device qemu-xhci,id=xhci,p2=8,p3=8" " -device usb-mouse" " -device usb-kbd" + " -device intel-hda -device hda-duplex" + " -audiodev id=android_spk,timer-period=5000,driver=pa,in.fixed-settings=off,out.fixed-settings=off" + " -device e1000,netdev=net0" " -device intel-iommu,device-iotlb=on,caching-mode=on" " -nodefaults "; @@ -248,271 +250,6 @@ static int passthrough_gpu(void) return 0; } -static int setup_hugepages(GKeyFile *gkf) -{ - int fd = 0; - ssize_t n = 0; - int required_hugepg = 0; - int free_hugepg = 0; - int nr_hugepg = 0; - char buf[64] = { 0 }; - keyfile_group_t *g = NULL; - g_autofree gchar *val = NULL; - size_t len = 0; - char ch; - char *pEnd = NULL; - int memsize_M; - int wait_cnt = 0; - - g = &g_group[GROUP_MEM]; - val = g_key_file_get_string(gkf, g->name, g->key[MEM_SIZE], NULL); - if (val == NULL) { - g_warning("cannot find key name from group memory\n"); - return 0; - } - len = strlen(val); - if (len == 0) { - fprintf(stderr, "Memory size for guest not specified!\n"); - return 0; - } - if (isdigit(val[len - 1])) { - memsize_M = strtoul(val, &pEnd, 10); - if (pEnd != &val[len - 1]) { - fprintf(stderr, "Invalid memory size format!\n"); - return 0; - } - } else { - memsize_M = strtoul(val, &pEnd, 10); - if (pEnd != &val[len - 1]) { - fprintf(stderr, "Invalid memory size format!\n"); - return 0; - } - - ch = toupper(val[len - 1]); - switch(ch) { - case 'G': - memsize_M *= 1024; - break; - case 'M': - break; - default: - fprintf(stderr, "Invalid suffix for memory size!\n"); - return 0; - } - } - - /* Get free hugepages */ - fd = open("/sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages", O_RDONLY); - if (fd == -1) { - fprintf(stderr, "open /sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages failed, errno=%d\n", errno); - return 0; - } - - n = read(fd, buf, sizeof(buf)); - if (n == -1) { - fprintf(stderr, "read /sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages failed, errno=%d\n", errno); - close(fd); - return 0; - } - close(fd); - free_hugepg = strtoul(buf, NULL, 10); - if (free_hugepg >= memsize_M/2) - return memsize_M; - - /* Get nr hugepages */ - fd = open("/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages", O_RDONLY); - if (fd == -1) { - fprintf(stderr, "open /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages failed, errno=%d\n", errno); - return 0; - } - - n = read(fd, buf, sizeof(buf)); - if (n == -1) { - fprintf(stderr, "read /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages failed, errno=%d\n", errno); - close(fd); - return 0; - } - close(fd); - nr_hugepg = strtoul(buf, NULL, 10); - - required_hugepg = nr_hugepg - free_hugepg + (memsize_M/2); - - snprintf(buf, sizeof(buf), "%d", required_hugepg); - if (write_to_file("/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages", buf)) { - fprintf(stderr, "Failed to write /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages!\n"); - return 0; - } - - - while (nr_hugepg != required_hugepg) { - fd = open("/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages", O_RDONLY); - if (fd == -1) { - fprintf(stderr, "open /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages failed, errno=%d\n", errno); - return 0; - } - - n = read(fd, buf, sizeof(buf)); - if (n == -1) { - fprintf(stderr, "read /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages failed, errno=%d\n", errno); - close(fd); - return 0; - } - close(fd); - nr_hugepg = strtoul(buf, NULL, 10); - if (wait_cnt < 200) { - usleep(10000); - wait_cnt++; - } else { - fprintf(stderr, "Hugepage cannot achieve required size!\n"); - return 0; - } - } - return memsize_M; -} - -static int set_available_vf(void) -{ - int fd = 0; - int total_vfs = 0; - int dev_id = 0; - ssize_t n = 0; - char buf[64] = { 0 }; - int i; - int ret = 0; - - fd = open(INTEL_GPU_DEV_PATH"/sriov_totalvfs", O_RDONLY); - if (fd == -1) { - fprintf(stderr, "open %s/sriov_totalvfs failed, errno=%d\n", INTEL_GPU_DEV_PATH, errno); - return 0; - } - - n = read(fd, buf, sizeof(buf)); - if (n == -1) { - fprintf(stderr, "read %s/sriov_totalvfs failed, errno=%d\n", INTEL_GPU_DEV_PATH, errno); - close(fd); - return 0; - } - close(fd); - total_vfs = strtoul(buf, NULL, 10); - /* Limit total VFs to conserve memory */ - total_vfs = total_vfs > 4 ? 4 : total_vfs; - - memset(buf, 0, sizeof(buf)); - snprintf(buf, sizeof(buf), "%d", total_vfs); - - if (write_to_file(INTEL_GPU_DEV_PATH"/sriov_drivers_autoprobe", "0")) { - fprintf(stderr, "Unable to de-probe sriov drivers"); - return -1; - } - - if (write_to_file("/sys/class/drm/card0/device/sriov_numvfs", buf)) { - fprintf(stderr, "Unable to de-probe sriov drivers"); - return -1; - } - - if (write_to_file(INTEL_GPU_DEV_PATH"/sriov_drivers_autoprobe", "1")) { - fprintf(stderr, "Unable to auto-probe sriov drivers"); - return -1; - } - - /* Get device ID */ - fd = open(INTEL_GPU_DEV_PATH"/device", O_RDONLY); - if (fd == -1) { - fprintf(stderr, "open %s failed, errno=%d\n", INTEL_GPU_DEV_PATH"/device", errno); - return -1; - } - - n = read(fd, buf, sizeof(buf)); - if (n == -1) { - fprintf(stderr, "read %s failed, errno=%d\n", INTEL_GPU_DEV_PATH"/device", errno); - close(fd); - return -1; - } - close(fd); - dev_id = strtol(buf, NULL, 16); - - - memset(buf, 0, sizeof(buf)); - snprintf(buf, sizeof(buf), "8086 %x", dev_id); - - /* Create new vfio id for GPU */ - ret = write_to_file(PCI_DRIVER_PATH"vfio-pci/new_id", buf); - if (ret == EEXIST) { - if (write_to_file("/sys/bus/pci/drivers/vfio-pci/remove_id", buf)) { - fprintf(stderr, "Cannot remove original GPU vfio id\n"); - return -1; - } - if (write_to_file(PCI_DRIVER_PATH"vfio-pci/new_id", buf)) { - fprintf(stderr, "Cannot add new GPU vfio id\n"); - return -1; - } - } else if (ret != 0) { - return -1; - } - - for (i = 1; i < total_vfs; i++) { - memset(buf, 0, sizeof(buf)); - snprintf(buf, sizeof(buf), "/sys/bus/pci/devices/0000:00:02.%d/enable", i); - fd = open(buf, O_RDONLY); - if (fd == -1) { - fprintf(stderr, "open %s failed, errno=%d\n", buf, errno); - return -1; - } - - memset(buf, 0, sizeof(buf)); - n = read(fd, buf, sizeof(buf)); - if (n == -1) { - fprintf(stderr, "read %s failed, errno=%d\n", buf, errno); - close(fd); - return -1; - } - close(fd); - if (strtol(buf, NULL, 10) == 0) { - return i; - } - } - - return -1; -} - -static int setup_sriov(GKeyFile *gkf, char **p, size_t *size) -{ - int cx = 0; - int monitor_id = -1; - int vf = 0; - int mem = 0; - GError *error = NULL; - keyfile_group_t *g = NULL; - - g = &g_group[GROUP_VGPU]; - monitor_id = g_key_file_get_integer(gkf, g->name, g->key[VGPU_MON_ID], &error); - if (error) { - if (error->code == G_KEY_FILE_ERROR_KEY_NOT_FOUND) { - cx = snprintf(*p, *size, " -display gtk,gl=on"); - } else { - fprintf(stderr, "Invalid monitor id!\n"); - return -1; - } - } else { - cx = snprintf(*p, *size, " -display gtk,gl=on,monitor=%d", monitor_id); - } - *p += cx; *size -= cx; - - mem = setup_hugepages(gkf); - if (mem == 0) - return -1; - vf = set_available_vf(); - - cx = snprintf(*p, *size, " -device virtio-vga,max_outputs=1,blob=true" - " -device vfio-pci,host=0000:00:02.%d" - " -object memory-backend-memfd,hugetlb=on,id=mem_sriov,size=%dM" - " -machine memory-backend=mem_sriov", - vf, mem); - *p += cx; *size -= cx; - - return 0; -} - void system_call(const char *process, const char *args) { pid_t pid; int stat; @@ -695,54 +432,6 @@ static int setup_passthrough_pci(char *pci_device, char *p, size_t size) { return cx; } -static void setup_vnet(GKeyFile *gkf, char **p, size_t *size) { - int cx = 0; - keyfile_group_t *g = NULL; - g_autofree gchar *val = NULL; - g_autofree gchar *val1 = NULL; - char buf[512] = { 0 }; - int bs = sizeof(buf); - - g = &g_group[GROUP_VNET]; - - val = g_key_file_get_string(gkf, g->name, g->key[VNET_ADB_PORT], NULL); - val1 = g_key_file_get_string(gkf, g->name, g->key[VNET_FASTBOOT_PORT], NULL); - if (val && val1) { - cx = snprintf(buf, bs, " -netdev user,id=net0,hostfwd=tcp::%s-:5555,hostfwd=tcp::%s-:5554", val, val1); - } else if (val) { - cx = snprintf(buf, bs, " -netdev user,id=net0,hostfwd=tcp::%s-:5555,hostfwd=tcp::5554-:5554", val); - } else if (val1) { - cx = snprintf(buf, bs, " -netdev user,id=net0,hostfwd=tcp::5555-:5555,hostfwd=tcp::%s-:5554", val1); - } else { - cx = snprintf(buf, bs, " -netdev user,id=net0,hostfwd=tcp::5555-:5555,hostfwd=tcp::5554-:5554"); - } - - if (cx < 0 || cx >= bs) - return; - - bs -= cx; - - val = g_key_file_get_string(gkf, g->name, g->key[VNET_MODEL], NULL); - if (val == NULL) { - cx = snprintf(buf + cx, bs, " -device e1000,netdev=net0,bus=pcie.0,addr=0xA"); - } else { - if (strcmp(val, "none") == 0) { - fprintf(stderr, "Disable ethernet emulation!\n"); - return; - } else { - cx = snprintf(buf + cx, bs, " -device %s,netdev=net0,bus=pcie.0,addr=0xA", val); - } - } - if (cx < 0 || cx >= bs) - return; - - bs -= cx; - - strncpy(*p, buf, sizeof(buf) - bs); - *p += (sizeof(buf) - bs); - *size -= (sizeof(buf) - bs); -} - static int run_battery_mediation_daemon(char *path) { return execute_cmd(path, NULL, 0, 1); } @@ -784,7 +473,7 @@ static int run_guest_pm(char *path, char *p, size_t size, char *socket_name) { fprintf(stderr, "PM Control: %s %s\n", cmd[0], buffer); int ret = execute_cmd(cmd[0], buffer, strlen(buffer), 1); if (ret == 0) { - cx = snprintf(p, size, " -qmp unix:%s,server=on,wait=off -no-reboot", sock_path); + cx = snprintf(p, size, " -qmp unix:%s,server,nowait -no-reboot", sock_path); } return cx; } @@ -849,6 +538,7 @@ int start_guest(char *name) int cx, uid; GKeyFile *gkf; g_autofree gchar *val = NULL; + g_autofree gchar *val1 = NULL; char cfg_file[MAX_PATH] = { 0 }; char emu_path[MAX_PATH] = { 0 }; char cmd_str[MAX_CMDLINE_LEN] = { 0 }; @@ -891,6 +581,20 @@ int start_guest(char *name) cx = snprintf(p, size, " -qmp unix:%s/.%s"CIV_GUEST_QMP_SUFFIX",server,nowait", civ_config_path, val); p += cx; size -= cx; + val = g_key_file_get_string(gkf, g->name, g->key[GLOB_ADB_PORT], NULL); + val1 = g_key_file_get_string(gkf, g->name, g->key[GLOB_FASTBOOT_PORT], NULL); + cx = 0; + if (val && val1) { + cx = snprintf(p, size, " -netdev user,id=net0,hostfwd=tcp::%s-:5555,hostfwd=tcp::%s-:5554", val, val1); + } else if (val) { + cx = snprintf(p, size, " -netdev user,id=net0,hostfwd=tcp::%s-:5555", val); + } else if (val1) { + cx = snprintf(p, size, " -netdev user,id=net0,hostfwd=tcp::%s-:5554", val1); + } else { + cx = snprintf(p, size, " -netdev user,id=net0"); + } + p += cx; size -= cx; cx = 0; + val = g_key_file_get_string(gkf, g->name, g->key[GLOB_VSOCK_CID], NULL); if (val) { cx = snprintf(p, size, " -device vhost-vsock-pci,id=vhost-vsock-pci0,guest-cid=%s,bus=pcie.0,addr=0x4", val); @@ -899,7 +603,6 @@ int start_guest(char *name) } p += cx; size -= cx; - setup_vnet(gkf, &p, &size); /* * Please keep RPMB device option to be the first virtio device in QEMU command line. Since secure @@ -1014,14 +717,6 @@ int start_guest(char *name) } else if (strcmp(val, VGPU_OPTS_RAMFB_STR) == 0) { cx = snprintf(p, size, " -display gtk,gl=on -device ramfb"); p += cx; size -= cx; - } else if (strcmp(val, VGPU_OPTS_VIRTIO2D_STR) == 0) { - cx = snprintf(p, size, " -display gtk,gl=on -device virtio-vga"); - p += cx; size -= cx; - set_aaf_option(AAF_CONFIG_GPU_TYPE, AAF_GPU_TYPE_VIRTIO); - } else if (strcmp(val, VGPU_OPTS_SRIOV_STR) == 0) { - if (setup_sriov(gkf, &p, &size)) - return -1; - set_aaf_option(AAF_CONFIG_GPU_TYPE, AAF_GPU_TYPE_VIRTIO); } else { g_warning("Invalid Graphics config\n"); return -1; diff --git a/src/guest/tui.c b/src/guest/tui.c index 07b6956..23268c6 100644 --- a/src/guest/tui.c +++ b/src/guest/tui.c @@ -97,7 +97,7 @@ static int pt_selected[PT_MAX] = { 0 }; static char pt_opts[PT_FIELD_LEN_MAX] = { 0 }; static field_sub_opts_t firmware_sub_opts = { 2, -1, NULL, { FIRM_OPTS_UNIFIED_STR, FIRM_OPTS_SPLITED_STR } }; -static field_sub_opts_t graphics_sub_opts = { 6, -1, NULL, { VGPU_OPTS_VIRTIO_STR, VGPU_OPTS_RAMFB_STR, VGPU_OPTS_GVTG_STR, VGPU_OPTS_GVTD_STR, VGPU_OPTS_VIRTIO2D_STR, VGPU_OPTS_SRIOV_STR } }; +static field_sub_opts_t graphics_sub_opts = { 4, -1, NULL, { VGPU_OPTS_VIRTIO_STR, VGPU_OPTS_RAMFB_STR, VGPU_OPTS_GVTG_STR, VGPU_OPTS_GVTD_STR } }; static field_sub_opts_t gvtg_sub_opts = { 4, -1, NULL, { GVTG_OPTS_V5_1_STR, GVTG_OPTS_V5_2_STR, GVTG_OPTS_V5_4_STR, GVTG_OPTS_V5_8_STR } }; static field_sub_opts_t passthrough_sub_opts = { 5, -1, pt_selected, {NULL} }; static field_sub_opts_t suspend_opts = { 2, -1, NULL, { SUSPEND_ENABLE_STR, SUSPEND_DISABLE_STR } }; @@ -298,10 +298,6 @@ int set_field_data(form_index_t index, const char *in) graphics_sub_opts.pick_index = VGPU_OPTS_VIRTIO; } else if (strcmp(in, VGPU_OPTS_RAMFB_STR) == 0) { graphics_sub_opts.pick_index = VGPU_OPTS_RAMFB; - } else if (strcmp(in, VGPU_OPTS_VIRTIO2D_STR) == 0) { - graphics_sub_opts.pick_index = VGPU_OPTS_VIRTIO2D; - } else if (strcmp(in, VGPU_OPTS_SRIOV_STR) == 0) { - graphics_sub_opts.pick_index = VGPU_OPTS_SRIOV; } else { fprintf(stderr, "Invalid virtual GPU type!\n"); return -1; diff --git a/src/include/guest/guest.h b/src/include/guest/guest.h index a943296..34adc62 100644 --- a/src/include/guest/guest.h +++ b/src/include/guest/guest.h @@ -56,6 +56,8 @@ typedef enum { FORM_INDEX_THERMAL_MED, FORM_INDEX_AAF_PATH, FORM_INDEX_AAF_SUSPEND, + FORM_INDEX_AAF_AUDIO_TYPE, + FORM_INDEX_GUEST_TIME_KEEP, FORM_INDEX_PM_CONTROL, FORM_INDEX_EXTRA_CMD, @@ -82,17 +84,13 @@ enum { VGPU_OPTS_VIRTIO = 0, VGPU_OPTS_RAMFB, VGPU_OPTS_GVTG, - VGPU_OPTS_GVTD, - VGPU_OPTS_VIRTIO2D, - VGPU_OPTS_SRIOV + VGPU_OPTS_GVTD }; -#define VGPU_OPTS_VIRTIO_STR "virtio" -#define VGPU_OPTS_RAMFB_STR "ramfb" -#define VGPU_OPTS_GVTG_STR "GVT-g" -#define VGPU_OPTS_GVTD_STR "GVT-d" -#define VGPU_OPTS_VIRTIO2D_STR "virtio2d" -#define VGPU_OPTS_SRIOV_STR "SRIOV" +#define VGPU_OPTS_VIRTIO_STR "virtio" +#define VGPU_OPTS_RAMFB_STR "ramfb" +#define VGPU_OPTS_GVTG_STR "GVT-g" +#define VGPU_OPTS_GVTD_STR "GVT-d" enum { GVTG_OPTS_V5_1 = 0, @@ -136,7 +134,6 @@ enum { GROUP_FIRM, GROUP_DISK, GROUP_VGPU, - GROUP_VNET, GROUP_VTPM, GROUP_RPMB, GROUP_PCI_PT, @@ -151,6 +148,8 @@ enum { /* Sub key of group glob */ GLOB_NAME = 0, GLOB_FLASHFILES, + GLOB_ADB_PORT, + GLOB_FASTBOOT_PORT, GLOB_VSOCK_CID, /* Sub key of group emul */ @@ -176,12 +175,6 @@ enum { VGPU_TYPE = 0, VGPU_GVTG_VER, VGPU_UUID, - VGPU_MON_ID, - - /* Sub key of group net */ - VNET_MODEL = 0, - VNET_ADB_PORT, - VNET_FASTBOOT_PORT, /* Sub key of group vtpm */ VTPM_BIN_PATH = 0,