RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1651195 - Re-enable hyperv-testdev device
Summary: Re-enable hyperv-testdev device
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: qemu-kvm
Version: 8.0
Hardware: Unspecified
OS: Unspecified
medium
unspecified
Target Milestone: rc
: 8.0
Assignee: Vitaly Kuznetsov
QA Contact: liunana
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-11-19 11:53 UTC by Vitaly Kuznetsov
Modified: 2019-10-22 13:25 UTC (History)
9 users (show)

Fixed In Version: qemu-kvm-2.12.0-45.module+el8+2313+d65431a0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-06-14 02:04:47 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Vitaly Kuznetsov 2018-11-19 11:53:11 UTC
We've just enabled 'synic' and 'stimer' enlightenments for Windows guests. To test these with kvm-unit-tests we need hyperv-testdev reenabled.

Comment 2 Danilo de Paula 2018-12-06 16:09:51 UTC
Fix included in qemu-kvm-2.12.0-45.module+el8+2313+d65431a0

Comment 4 FuXiangChun 2018-12-07 08:04:11 UTC
Vitaly,

How to add "hyperv-testdev device" to qemu-kvm command line and verify this bug? Thanks.

Comment 5 Vitaly Kuznetsov 2018-12-07 12:24:17 UTC
(In reply to FuXiangChun from comment #4)
> Vitaly,
> 
> How to add "hyperv-testdev device" to qemu-kvm command line and verify this
> bug? Thanks.

I suggest you just use kvm-unit-tests:

git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git
cd kvm-unit-tests
./configure
make
./x86/run x86/hyperv_synic.flat -cpu kvm64,hv_vpindex,hv_time,hv_synic,hv_stimer -device hyperv-testdev

(or just run all tests with ./run_tests.sh)

Comment 6 FuXiangChun 2018-12-10 05:55:47 UTC
(In reply to Vitaly Kuznetsov from comment #5)
> (In reply to FuXiangChun from comment #4)
> > Vitaly,
> > 
> > How to add "hyperv-testdev device" to qemu-kvm command line and verify this
> > bug? Thanks.
> 
> I suggest you just use kvm-unit-tests:
> 
> git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git
> cd kvm-unit-tests
> ./configure
> make
> ./x86/run x86/hyperv_synic.flat -cpu
> kvm64,hv_vpindex,hv_time,hv_synic,hv_stimer -device hyperv-testdev
> 
> (or just run all tests with ./run_tests.sh)

Tested bug with the qemu-kvm-2.12.0-45.module+el8+2313+d65431a0 and kernel 4.18.0-48.el8.x86_64. QE tested 2 scenarios on host.

S1)
# ./x86/run x86/hyperv_synic.flat -cpu kvm64,hv_vpindex,hv_time,hv_synic,hv_stimer -device hyperv-testdev

/usr/libexec/qemu-kvm -nodefaults -device pc-testdev -device isa-debug-exit,iobase=0xf4,iosize=0x4 -vnc none -K
enabling apic
paging enabled
cr0 = 80010011
cr3 = 459000
cr4 = 20
enabling apic
ncpus = 1
prepare
test 0 -> 0
cleanup
isr_enter_count[0] = 16
PASS: Hyper-V SynIC test
SUMMARY: 1 tests

S2)
# ./run_tests.sh 
PASS apic-split (50 tests)
PASS ioapic-split (19 tests)
PASS apic (50 tests)
PASS ioapic (19 tests)
PASS smptest (1 tests)
PASS smptest3 (1 tests)
PASS vmexit_cpuid 
PASS vmexit_vmcall 
PASS vmexit_mov_from_cr8 
PASS vmexit_mov_to_cr8 
PASS vmexit_inl_pmtimer 
PASS vmexit_ipi 
PASS vmexit_ipi_halt 
PASS vmexit_ple_round_robin 
PASS vmexit_tscdeadline 
PASS vmexit_tscdeadline_immed 
PASS access 
SKIP smap (0 tests)
SKIP pku (0 tests)
PASS emulator (125 tests, 2 skipped)
PASS eventinj (13 tests)
PASS hypercall (2 tests)
PASS idt_test (4 tests)
PASS memory (8 tests)
PASS msr (12 tests)
SKIP pmu (/proc/sys/kernel/nmi_watchdog not equal to 0)
FAIL vmware_backdoors (11 tests, 5 unexpected failures)
PASS port80 
PASS realmode 
PASS s3 
PASS sieve 
PASS syscall (2 tests)
PASS tsc (3 tests)
PASS tsc_adjust (5 tests)
PASS xsave (17 tests)
PASS rmap_chain 
SKIP svm (0 tests)
SKIP taskswitch (i386 only)
SKIP taskswitch2 (i386 only)
PASS kvmclock_test 
PASS pcid (3 tests)
PASS umip (21 tests)
FAIL vmx (timeout; duration=90s)
PASS vmx_null (1 tests)
SKIP vmx_test_vmx_feature_control (0 tests)
PASS vmx_test_vmxon (4 tests)
PASS vmx_test_vmptrld (5 tests)
PASS vmx_test_vmclear (6 tests)
PASS vmx_test_vmptrst (1 tests)
PASS vmx_test_vmwrite_vmread (1 tests)
PASS vmx_test_vmcs_high (4 tests)
PASS vmx_test_vmcs_lifecycle (9 tests)
PASS vmx_test_vmx_caps (11 tests)
PASS vmx_vmenter (2 tests)
PASS vmx_preemption_timer (5 tests)
PASS vmx_control_field_PAT (3 tests)
PASS vmx_control_field_EFER (3 tests)
PASS vmx_CR_shadowing (12 tests)
PASS vmx_IO_bitmap (15 tests)
PASS vmx_instruction_intercept (42 tests)
PASS vmx_EPT_AD_enabled (17 tests)
PASS vmx_EPT_AD_disabled (19 tests)
PASS vmx_PML (2 tests)
PASS vmx_VPID (3 tests)
PASS vmx_interrupt (8 tests)
PASS vmx_debug_controls (4 tests)
PASS vmx_MSR_switch (4 tests)
PASS vmx_vmmcall (1 tests)
PASS vmx_disable_RDTSCP (2 tests)
PASS vmx_int3 (1 tests)
PASS vmx_into (1 tests)
PASS vmx_exit_monitor_from_l2_test 
PASS vmx_v2 (29 tests)
PASS vmx_ept_access_test_not_present (188 tests)
PASS vmx_ept_access_test_read_only (158 tests)
PASS vmx_ept_access_test_write_only (152 tests)
PASS vmx_ept_access_test_read_write (128 tests)
PASS vmx_ept_access_test_execute_only (158 tests)
PASS vmx_ept_access_test_read_execute (128 tests)
PASS vmx_ept_access_test_write_execute (152 tests)
PASS vmx_ept_access_test_read_write_execute (98 tests)
PASS vmx_ept_access_test_reserved_bits (2854 tests)
PASS vmx_ept_access_test_ignored_bits (2888 tests)
PASS vmx_ept_access_test_paddr_not_present_ad_disabled (62 tests)
PASS vmx_ept_access_test_paddr_not_present_ad_enabled (62 tests)
PASS vmx_ept_access_test_paddr_read_only_ad_disabled (141 tests)
PASS vmx_ept_access_test_paddr_read_only_ad_enabled (166 tests)
PASS vmx_ept_access_test_paddr_read_write (45 tests)
PASS vmx_ept_access_test_paddr_read_write_execute (45 tests)
PASS vmx_ept_access_test_paddr_read_execute_ad_disabled (141 tests)
PASS vmx_ept_access_test_paddr_read_execute_ad_enabled (166 tests)
PASS vmx_ept_access_test_paddr_not_present_page_fault (8 tests)
PASS vmx_ept_access_test_force_2m_page (48 tests)
PASS vmx_invvpid (1561 tests)
FAIL vmx_controls (4723 tests, 90 unexpected failures, 15 expected failures)
PASS vmx_vmentry_movss_shadow_test (11 tests)
PASS vmx_cr_load_test (8 tests)
FAIL vmx_nm_test (timeout; duration=90s)
FAIL vmx_pending_event_test (7 tests, 1 unexpected failures)
PASS vmx_pending_event_hlt_test (12 tests)
PASS vmx_db_test (45 tests, 5 expected failures)
PASS vmx_eoi_bitmap_ioapic_scan (7 tests)
FAIL vmx_hlt_with_rvi_test (timeout; duration=10)
PASS vmx_apic_passthrough (12 tests)
PASS vmx_apic_passthrough_thread (8 tests)
PASS vmx_vmcs_shadow_test (142218 tests)
PASS debug (11 tests)
PASS hyperv_synic (1 tests)
SKIP hyperv_connections (1 tests, 1 skipped)
PASS hyperv_stimer (12 tests)
PASS hyperv_clock 
PASS intel_iommu (11 tests)

I have 1 small question.

Q1) S1 only covered "Hyper-V SynIC test", no cover hyperv_stimer. Can this result verify this bug?

Q2) Accroding to this result, Can I set this bug as verified?

Comment 7 Vitaly Kuznetsov 2018-12-10 09:48:15 UTC
(In reply to FuXiangChun from comment #6)
> 
> Q1) S1 only covered "Hyper-V SynIC test", no cover hyperv_stimer. Can this
> result verify this bug?

You can run stimer test separately too,

./x86/run x86/hyperv_stimer.flat -cpu kvm64,hv_vpindex,hv_time,hv_synic,hv_stimer -device hyperv-testdev

> 
> Q2) Accroding to this result, Can I set this bug as verified?

PASS hyperv_synic (1 tests)
PASS hyperv_stimer (12 tests)

Yes, this looks good.

Comment 8 FuXiangChun 2018-12-11 01:26:01 UTC
Thanks Vitaly, According to comment7, set this bug as verified.


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