]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit - usr.sbin/bhyve/pci_xhci.c
Advertise 64-bit physical-address capability.
authorgrehan <grehan@FreeBSD.org>
Fri, 10 Jul 2020 07:26:50 +0000 (07:26 +0000)
committergrehan <grehan@FreeBSD.org>
Fri, 10 Jul 2020 07:26:50 +0000 (07:26 +0000)
commit822e80ae1c262fc0ce0c628cdfb835c0725d7ae2
treeabdbd43cf3e423958dcdc27d95b7cfc71352f5c8
parent1c41225627b79b0ac808505d03521140ac45507c
Advertise 64-bit physical-address capability.

This fixes a coredump with NetBSD guests when XHCI is configured.
On seeing the AC64 flag clear, the NetBSD XHCI driver was only writing
to the lower 32-bits of 64-bit physical address registers. The emulation
relies on a write to the hi 32-bits to calculate a host virtual address
for internal use, and has always supported 64-bit addressing.

All other guests were seen to write to both the lo- and hi- address
registers, regardless of the AC64 setting.

Discussed with:  Leon Dang (author)
Tested with:  Ubuntu 16/18/20, Windows10, OpenBSD UEFI guests.

MFC after: 2 weeks.
usr.sbin/bhyve/pci_xhci.c