[Bug 266248] efi comconsole does not work with ARM64 Hyper-V

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 06 Sep 2022 06:45:26 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266248

            Bug ID: 266248
           Summary: efi comconsole does not work with ARM64 Hyper-V
           Product: Base System
           Version: 13.1-STABLE
          Hardware: arm64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: schakrabarti@microsoft.com

The current implementation of efi comconsole does not work with ARM64 version
of Microsoft Hyper-V. During boot up process, if the virtual serial console has
been enabled, then the boot gets stuck in comc_probe(). 

In a Hyper-V VM on ARM64, "COM1" refers to a virtual PL011 UART that Hyper-V
provides to the guest.
Set-VMFirmware  -VMName <vm> -console COM1 adds a ACPI table for SPCR.


The steps to reproduce this problem:

It is very easy to reproduce:

1) In Windows Hyper-V set a FreeBSD 13.0 VM

2) Use Powershell in Admin privileged mode and run following:

 Set-VMComPort -VMName <vm_name> -number 1 -path \\.\pipe\Testpipe

2) In another Powershell with Admin privilege run following:

3) start the VM and open putty to connect the \\.\pipe\Testpipe in serial mode.

No output will be seen on putty.

This problem is not there in FreeBSD 12.3 as there efi comconsole was not there
in available consoles list.

ConOut value
efivar --device-path 8be4df61-93ca-11d2-aa0d-00e098032b8c-ConOut

8be4df61-93ca-11d2-aa0d-00e098032b8c-ConOut

:
AcpiEx(VMBus,,)/VenHw(9b17e5a2-0891-42dd-b653-80b5c22809ba,02780ada77e3ac4a8e770558eb1073f8c7e020566280ce4daeb7520c7ef76171)

-- 
You are receiving this mail because:
You are the assignee for the bug.