Hi,
-----Original Message-----
From: Fabio Fantoni [mailto:address@hidden
Sent: Thursday, May 08, 2014 4:17 PM
To: Gonglei (Arei); address@hidden; address@hidden
Cc: address@hidden; address@hidden;
address@hidden; address@hidden; Huangweidong
(C); Hanweidong (Randy); Gaowei (UVP); Michael S. Tsirkin
Subject: Re: [PATCH v3] Hvmloader: Modify ACPI to only supply _EJ0 methods
for PCIslots that support hotplug by runtime patching
Il 08/05/2014 06:12, Gonglei (Arei) ha scritto:
Hi,
In Xen platform, after using upstream qemu, the all of pci devices will
show
hotplug in the windows guest. In this situation, the windows guest may
occur
blue screen when VM' user click the icon of VGA card for trying unplug
VGA
card.
However, we don't hope VM's user can do such dangerous operation, and
showing
all pci devices inside the guest OS is unfriendly.
This is done by runtime patching:
- Rename _EJ0 methods for PCI slots in DSDT to EJ0_:note that this
has
the
same checksum, but is ignored by OSPM.
- At compile time, look for these methods in ASL source,find the
matching
AML,
and store the offsets of these methods in a table named
aml_ej0_data.
- At run time, go over aml_ej0_data, check which slots not support
hotplug
and
patch the ACPI table, replacing _EJ0 with EJ0_.
Signed-off-by: Gaowei <address@hidden>
Signed-off-by: Gonglei <address@hidden>
Tested-by: Fabio Fantoni <address@hidden>
Thanks for this very useful patch that avoid that unaware users or as
mistake make windows domUs unusable.
Thanks.
I tried to quickly look at the patch to understand how to add some
optional components, for example on my case the pv drivers, the audio
card and the spice guest tools (see attachment) but I don't understand
how to do it.
Can someone give me some advices about it please?
Maybe you can hard code at libxl__build_device_model_args_new()
in tools/libxl/libxl_dm.c
Best regards,
-Gonglei
I believe I not understand what you mean.
About adding these components I already do this:
- gplpv: http://wiki.xen.org/wiki/Xen_Windows_GplPv
http://www.ejbdigital.com.au/gplpv
- spice:
http://xenbits.xen.org/docs/unstable/man/xl.cfg.5.html#spice_graphics_suppo
rt
http://www.spice-space.org/download/binaries/spice-guest-tools/
- audio: add soundhw="hda" in domU's xl cfg file
This patch disables hotplug capabilities from essential pci devices.
No, if pci devices do not support hotplug, which class's no_hotplug property
will be
set to 1, then the pci device will not show in guest os, opposite will be
shown, such
as your pv drivers and Intel hda card.
Please see intel_hda_class_init_common() and xen_platform_class_init()
functions.
As a comparison, you can see vga devices' class init function
cirrus_vga_class_init()
has below code:
k->no_hotplug = 1;
If I understand what you mean wrong, please forgive me.