Bug 1368153 - Please hide fw_cfg device in windows guest in order to make svvp test pass
Summary: Please hide fw_cfg device in windows guest in order to make svvp test pass
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev
Version: 7.3
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Marcel Apfelbaum
QA Contact: jingzhao
Depends On:
Blocks: 1375444 1390714
TreeView+ depends on / blocked
Reported: 2016-08-18 14:28 UTC by lijin
Modified: 2016-11-07 21:31 UTC (History)
7 users (show)

Fixed In Version: qemu-kvm-rhev-2.6.0-23.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1375444 (view as bug list)
Last Closed: 2016-11-07 21:31:08 UTC
Target Upstream Version:

Attachments (Terms of Use)
unknown device in windows guest (70.21 KB, image/png)
2016-08-18 14:28 UTC, lijin
no flags Details
hide the unknown device (102.58 KB, image/png)
2016-09-08 06:07 UTC, jingzhao
no flags Details

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2673 0 normal SHIPPED_LIVE qemu-kvm-rhev bug fix and enhancement update 2016-11-08 01:06:13 UTC

Description lijin 2016-08-18 14:28:08 UTC
Created attachment 1191885 [details]
unknown device in windows guest

Description of problem:
In RHEL7.3,fw_cfg device can be shown in windows guest with no driver installed which will lead to win2016 svvp test fail.

RHEL7.2 qemu(qemu-kvm-rhev-2.3.0-31.el7.x86_64.) does not hit this issue.

As it's too late to create such driver in rhel7.3,we hope qemu can create a flag that can be used to hide the fw_cfg device in windows guest.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.boot a windows server 2016 guest on rhel7.3

2.check in qtree
(qemu) info qtree 
   dev: fw_cfg_io, id ""
       iobase = 1296 (0x510)
       dma_iobase = 1300 (0x514)
       dma_enabled = true

3.check in windows guest
in device manager(View-->resources by type),there is an unknown device(please check the screenshot)

Actual results:
There is an unknown device(please check the screenshot);
When we run rhel7.3 svvp test with windows2016,it will automatically detect this device has no driver installed which will lead to svvp test fail.
So I set test blocker keyword in this bug.

Expected results:
No unknown device shown in windows guest.

Additional info:
Following is Marcel's suggestion: https://bugzilla.redhat.com/show_bug.cgi?id=1246993#c14

I have some answers:
The problem is not connected to the "dma-enabled" flag, but with a new feature
added to the fw_cfg device: The possibility to see the fw_cfg data in the guest OS.

The way they did it is by adding a node in the ACPI DSDT table for the fw_cfg device:
Please see: https://lists.gnu.org/archive/html/qemu-devel/2016-02/msg04660.html
for details.

The way it is used in guest kernel can be seen here:

I can confirm this is the issue, possible solutions are:
- Add a Windows driver for it
- Find a way to hide the device, by removing it from DSDT or using a
an ACPI 'trick' to hide it from Windows guests - all that based on some property flag.

I suggest to reply to the QEMU upstream thread and explain what is the exact issue for Windows guests asking for guidance.

Comment 2 Amnon Ilan 2016-08-31 21:58:56 UTC
Status update here:

Comment 3 lijin 2016-09-01 05:29:17 UTC
fw_cfg device is not shown in windows guest with 

thank you.

Comment 4 Marcel Apfelbaum 2016-09-01 12:00:25 UTC
The less intrusive solution is to revert the patch adding the fw_cfg device to ACPI.

Comment 5 Miroslav Rezanina 2016-09-06 10:33:20 UTC
Fix included in qemu-kvm-rhev-2.6.0-23.el7

Comment 7 jingzhao 2016-09-08 06:06:39 UTC
Reproduced the bz on qemu-kvm-rhev-2.6.0-20.el7.x86_64

and Verified it on qemu-kvm-rhev-2.6.0-23.el7.x86_64

Following is the details
1. Boot win2016 guest
/usr/libexec/qemu-kvm \
-M pc \
-cpu SandyBridge \
-nodefaults -rtc base=utc \
-m 4G \
-smp 2,sockets=2,cores=1,threads=1 \
-enable-kvm \
-name rhel7.3 \
-k en-us \
-nodefaults \
-serial unix:/tmp/serial0,server,nowait \
-boot menu=on \
-qmp tcp:0:6666,server,nowait \
-vga qxl \
-vnc :2 \
-drive file=/home/bug/win2016.raw,if=none,id=drive-virtio-disk0,format=raw,cache=none,werror=stop,rerror=stop \
-device ide-hd,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
-monitor stdio \

2. Check it on hmp and guest

(qemu) info qtree
  dev: fw_cfg_io, id ""
    iobase = 1296 (0x510)
    dma_iobase = 1300 (0x514)
    dma_enabled = true
  dev: kvmclock, id ""
  dev: kvmvapic, id ""

the unkown device disappeared in guest, please check the attachment

Jing Zhao

Comment 8 jingzhao 2016-09-08 06:07:31 UTC
Created attachment 1198914 [details]
hide the unknown device

Comment 9 jingzhao 2016-09-08 06:08:50 UTC
According to comment 7, marked it as verified

Comment 11 errata-xmlrpc 2016-11-07 21:31:08 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.