From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48015) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WilYt-0000GB-Oz for qemu-devel@nongnu.org; Fri, 09 May 2014 10:14:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WilYm-0000Eo-13 for qemu-devel@nongnu.org; Fri, 09 May 2014 10:14:07 -0400 Received: from mail-ee0-f41.google.com ([74.125.83.41]:39864) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WilYl-0000Ee-K7 for qemu-devel@nongnu.org; Fri, 09 May 2014 10:13:59 -0400 Received: by mail-ee0-f41.google.com with SMTP id t10so2734672eei.0 for ; Fri, 09 May 2014 07:13:58 -0700 (PDT) Message-ID: <536CE2C3.1010701@m2r.biz> Date: Fri, 09 May 2014 16:14:27 +0200 From: Fabio Fantoni MIME-Version: 1.0 References: <1399195515-1124-1-git-send-email-arei.gonglei@huawei.com> <33183CC9F5247A488A2544077AF19020815E664C@SZXEMA503-MBS.china.huawei.com> <536A4F86.9030101@m2r.biz> <33183CC9F5247A488A2544077AF19020815E6C08@SZXEMA503-MBS.china.huawei.com> <536B3D92.7060300@m2r.biz> <33183CC9F5247A488A2544077AF19020815E6DCF@SZXEMA503-MBS.china.huawei.com> In-Reply-To: <33183CC9F5247A488A2544077AF19020815E6DCF@SZXEMA503-MBS.china.huawei.com> Content-Type: multipart/mixed; boundary="------------000601020102080201050104" Subject: Re: [Qemu-devel] [PATCH v3] Hvmloader: Modify ACPI to only supply _EJ0 methods for PCIslots that support hotplug by runtime patching List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Gonglei (Arei)" , "qemu-devel@nongnu.org" , "xen-devel@lists.xen.org" Cc: "Huangweidong (C)" , "Ian.Campbell@citrix.com" , "Hanweidong (Randy)" , "stefano.stabellini@eu.citrix.com" , "Michael S. Tsirkin" , "JBeulich@suse.com" , "anthony.perard@citrix.com" , "Gaowei (UVP)" This is a multi-part message in MIME format. --------------000601020102080201050104 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Il 08/05/2014 13:23, Gonglei (Arei) ha scritto: > Hi, > >> -----Original Message----- >> From: Fabio Fantoni [mailto:fabio.fantoni@m2r.biz] >> Sent: Thursday, May 08, 2014 4:17 PM >> To: Gonglei (Arei); qemu-devel@nongnu.org; xen-devel@lists.xen.org >> Cc: Ian.Campbell@citrix.com; JBeulich@suse.com; >> stefano.stabellini@eu.citrix.com; anthony.perard@citrix.com; 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 >>>>>> Signed-off-by: Gonglei >>>> Tested-by: Fabio Fantoni >>>> >>>> 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. I saw in qemu code that intel_hda_class_init_common() and xen_platform_class_init() functions (and probably also virtio serial one) not have k->no_hotplug but in windows domUs show them in hotplug devices list, also with this your patch applied. (see part of screenshoot in attachment) I not understand how to remove also them from windows hotplug devices list. Thanks for any reply and sorry for my bad english. > >> What I mean if there is a way to prevent some other components being >> part of the above list of hotplug devices. >> >> Thanks for any reply and sorry for my bad english. > Best regards, > -Gonglei --------------000601020102080201050104 Content-Type: image/jpeg; name="optional-devices.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="optional-devices.jpg" /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYH BwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcI DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAAR CAHMAmYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAA AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl 5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYk NOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk 5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+f+iiigD7M/4I8f8ABHjV/wDgr34t8c6N o3jnTfBVz4Ks7W9d73Tnu47tJnkQgFHUqVKDsQQx5GOfu3/iCn8d/wDRefB3/hP3H/x2j/gy m/5Lt8ef+xe0z/0onr9yfjt8XdK8BRaZps3i3SfDWpalfWqMZ7u2juI7V5gksypMCNqjd85U qMc9KAPw2/4gp/Hf/RefB3/hP3H/AMdo/wCIKfx3/wBF58Hf+E/cf/Ha/ax/jh4W8G/ETRLY fGDQ/EWl6hb3P2k3OqaWUt5FMIiG+COPaW3vgEnO3joa9foA/n0/4gqPHW0H/hfPg7Bzg/2B cc4JB/5a+oP5Uf8AEFR46/6L14O/8EFx/wDHa/oIX/jxt/8Atr/6Okr55+Av/BTD4dftGftm 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 AC8/D/8A8nV/X7RQB/IF/wAQuP7df/RDf/Lz8P8A/wAnUf8AELj+3X/0Q3/y8/D/AP8AJ1f1 +0UAfzz/APBu1/wQ1/al/YU/4Kc+HfiH8VPhf/wi3g+x0bU7SfUP+Ek0i+2SzW5SNfLtrqSQ 5Y4yFwO+K/oYoooAKKKKACquk6eNMt5EH8c8sv8A327N/WrVFAHO+KfAula/4p0bXbnw9pOp a54c8/8AsnUbi1iku9L89BHN5ErDdF5iAK+wjcBg5FcxZ/s2+BpviWPGNx8NfBI8WrL5w106 LZnUg+c7/tG3zN2ec7s16TRVNxatKKZlKkpO7Guu+Mj1GKg0exGl6Ta2w6W8KRDH+yAP6VZo qTUKKKKACuF/ah8Hal8Rf2Z/iJ4f0a2+2avrvhjUtOsbfzFj8+ea1ljjTc5CrlmAyxAGeSBX dUUAfyBf8QuP7df/AEQ3/wAvPw//APJ1H/ELj+3X/wBEN/8ALz8P/wDydX9ftFAH8gX/ABC4 /t1/9EN/8vPw/wD/ACdR/wAQuP7df/RDf/Lz8P8A/wAnV/X7RQB/IF/xC4/t1/8ARDf/AC8/ D/8A8nUf8QuP7df/AEQ3/wAvPw//APJ1f1+0UAfyBf8AELj+3X/0Q3/y8/D/AP8AJ1H/ABC4 /t1/9EN/8vPw/wD/ACdX9ftFAH8gX/ELj+3X/wBEN/8ALz8P/wDydR/xC4/t1/8ARDf/AC8/ D/8A8nV/X7RQB/IF/wAQuP7df/RDf/Lz8P8A/wAnUf8AELj+3X/0Q3/y8/D/AP8AJ1f1+0UA fyBf8QuP7df/AEQ3/wAvPw//APJ1f1+0UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//Z --------------000601020102080201050104--