mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-08 12:19:06 +00:00
dm: Add Oracle subsystem vendor ID
After Windows 10, version 1607, the cross-signed drivers are forbiden to load when secure boot is enabled. Details please refer to https://docs.microsoft.com/en-us/windows-hardware/drivers/install/kernel-mode-code-signing-policy--windows-vista-and-later- That means the kvm-guest-drivers-windows can't work when secure boot enabled. So we found another windows virtio FE drivers from Oracle to resolve this issue but have to change another subsystem vendor ID for the virtio BE services. This patch introduces a new DM CMD line "--windows" to launch WaaG with Oracle virtio devices including virtio-blk, virtio-net, virtio-input instead Redhat. It can make virtio-blk, virtio-net and virtio-input devices work when WaaG enabling secure boot. Tracked-On: #3583 Signed-off-by: Yuan Liu <yuan1.liu@intel.com> Reviewed-by: Eddie Dong <eddie.dong@intel.com> Acked-by: Yin Fengwei <fengwei.yin@intel.com>
This commit is contained in:
committed by
ACRN System Integration
parent
bb1a8eea40
commit
a4d562daa0
@@ -87,6 +87,7 @@ char *mac_seed;
|
||||
bool stdio_in_use;
|
||||
bool lapic_pt;
|
||||
bool is_rtvm;
|
||||
bool is_winvm;
|
||||
bool skip_pci_mem64bar_workaround = false;
|
||||
|
||||
static int guest_ncpus;
|
||||
@@ -175,7 +176,9 @@ usage(int code)
|
||||
" --rtvm: indicate that the guest is rtvm\n"
|
||||
" --logger_setting: params like console,level=4;kmsg,level=3\n"
|
||||
" --pm_notify_channel: define the channel used to notify guest about power event\n"
|
||||
" --pm_by_vuart:pty,/run/acrn/vuart_vmname or tty,/dev/ttySn\n",
|
||||
" --pm_by_vuart:pty,/run/acrn/vuart_vmname or tty,/dev/ttySn\n"
|
||||
" --windows: support Oracle virtio-blk, virtio-net and virtio-input devices\n"
|
||||
" for windows guest with secure boot\n",
|
||||
progname, (int)strnlen(progname, PATH_MAX), "", (int)strnlen(progname, PATH_MAX), "",
|
||||
(int)strnlen(progname, PATH_MAX), "", (int)strnlen(progname, PATH_MAX), "",
|
||||
(int)strnlen(progname, PATH_MAX), "", (int)strnlen(progname, PATH_MAX), "",
|
||||
@@ -730,6 +733,7 @@ enum {
|
||||
CMD_OPT_LOGGER_SETTING,
|
||||
CMD_OPT_PM_NOTIFY_CHANNEL,
|
||||
CMD_OPT_PM_BY_VUART,
|
||||
CMD_OPT_WINDOWS,
|
||||
};
|
||||
|
||||
static struct option long_options[] = {
|
||||
@@ -769,6 +773,7 @@ static struct option long_options[] = {
|
||||
{"logger_setting", required_argument, 0, CMD_OPT_LOGGER_SETTING},
|
||||
{"pm_notify_channel", required_argument, 0, CMD_OPT_PM_NOTIFY_CHANNEL},
|
||||
{"pm_by_vuart", required_argument, 0, CMD_OPT_PM_BY_VUART},
|
||||
{"windows", no_argument, 0, CMD_OPT_WINDOWS},
|
||||
{0, 0, 0, 0 },
|
||||
};
|
||||
|
||||
@@ -930,6 +935,9 @@ main(int argc, char *argv[])
|
||||
if (parse_pm_by_vuart(optarg) != 0)
|
||||
errx(EX_USAGE, "invalid pm-by-vuart params %s", optarg);
|
||||
break;
|
||||
case CMD_OPT_WINDOWS:
|
||||
is_winvm = true;
|
||||
break;
|
||||
case 'h':
|
||||
usage(0);
|
||||
default:
|
||||
|
Reference in New Issue
Block a user