Bug 244733 - pci passthrough doesn't work upgrading from 12.0 to 12.1
Summary: pci passthrough doesn't work upgrading from 12.0 to 12.1
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: bhyve (show other bugs)
Version: 12.1-RELEASE
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-virtualization (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-03-11 09:11 UTC by Ofloo
Modified: 2022-10-14 15:49 UTC (History)
2 users (show)

See Also:


Attachments
dmesg (10.97 KB, text/plain)
2020-03-11 09:11 UTC, Ofloo
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ofloo 2020-03-11 09:11:55 UTC
Created attachment 212325 [details]
dmesg

When I first install kernel and reboot pci passthrough still works. However after I've done installworld and mergemaster -iU reboot and I get this error. In vm-bhyve log

Mar 07 10:16:51: initialising
Mar 07 10:16:51:  [loader: bhyveload]
Mar 07 10:16:51:  [cpu: 4]
Mar 07 10:16:51:  [memory: 2048M]
Mar 07 10:16:51:  [hostbridge: standard]
Mar 07 10:16:51:  [com ports: com1]
Mar 07 10:16:51:  [uuid: ae337462-f766-11e7-8028-ac1f6b45bb3c]
Mar 07 10:16:51:  [utctime: yes]
Mar 07 10:16:51:  [debug mode: no]
Mar 07 10:16:51:  [primary disk: disk0]
Mar 07 10:16:51:  [primary disk dev: sparse-zvol]
Mar 07 10:16:53: fatal; pci passthrough not supported on this system (no VT-d or amdvi)

acpidump shows

#acpidump -t DMAR
/*
  RSD PTR: OEM=SUPERM, ACPI_Rev=2.0x (2)
    XSDT=0x000000007e172098, length=36, cksum=143
*/
/*
  XSDT: Length=180, Revision=1, Checksum=178,
    OEMID=SUPERM, OEM Table ID=SMCI--MB, OEM Revision=0x1072009,
    Creator ID=AMI, Creator Revision=0x10013
    Entries={ 0x000000007e176b58, 0x000000007e176c70, 0x000000007e176cb8, 0x000000007e176d58, 0x000000007e176da0, 0x000000007e176de0, 0x000000007e176f90, 0x000000007e177008, 0x000000007e177038, 0x000000007e177070, 0x000000007e1770b8, 0x000000007e1789c0, 0x000000007e178a30, 0x000000007e178a68, 0x000000007e178b10, 0x000000007e178b40, 0x000000007e178d70, 0x000000007e178ec0 }
*/
/*
  FACP: Length=276, Revision=6, Checksum=154,
    OEMID=SUPERM, OEM Table ID=SMCI--MB, OEM Revision=0x1072009,
    Creator ID=AMI, Creator Revision=0x10013
     FACS=0x7e1be080, DSDT=0x0
    INT_MODEL=APIC
    Preferred_PM_Profile=Enterprise Server (4)
    SCI_INT=9
    SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0
    PSTATE_CNT=0x0
    PM1a_EVT_BLK=0x0-0x3
    PM1a_CNT_BLK=0x0-0x1
    PM_TMR_BLK=0x0-0x3
    P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
    FLUSH_SIZE=1024, FLUSH_STRIDE=16
    DUTY_OFFSET=1, DUTY_WIDTH=3
    DAY_ALRM=13, MON_ALRM=0, CENTURY=0
    IAPC_BOOT_ARCH={LEGACY_DEVICES}
    Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,RESET_REGISTER,PLATFORM_CLOCK,REMOTE_POWER_ON}
    RESET_REG=0xcf9:0[8] (IO), RESET_VALUE=0xe
*/
/*
  FACS:    Length=64, HwSig=0x00000060, Firm_Wake_Vec=0x00000000
    Global_Lock=
    Flags=
    Version=2
*/
acpidump: DSDT is corrupt

When I rollback to 12.0 everything works again? So clearly it's not a bios setting.
Comment 1 Maurizio 2022-06-09 13:49:20 UTC
I have the same problem running
# uname -a
FreeBSD clover-nas2 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64
on a ASUS SABERTOOTH X79 motherboard.

# acpidump -t | grep DMAR
acpidump: DSDT is corrupt

Unfortunately pci passthrough doesn't work.
Comment 2 Oleg Sidorkin 2022-10-14 15:49:42 UTC
Same problem with my old ASUS Z77/Intel 4770.
vm_disable_host_checks="yes" options in rc.conf disables these checks.