fix(wslc): early boot dmesg collection on arm64 (#40821)
The wrong kernel command line arguments are passed when the EarlyBootDmesg feature is enabled in WSLC. This causes a hang on VM boot.
Daman Mulye committed
Jun 16, 2026 at 15:40 UTC
735217f684d91127b30e5303ab07a0a0dd381ee8
1 file changed
+9
-1
src/windows/service/exe/HcsVirtualMachine.cpp
+9
-1
@@ -162,7 +162,15 @@ HcsVirtualMachine::HcsVirtualMachine(_In_ const WSLCSessionSettings* Settings)
162
163
if (FeatureEnabled(WslcFeatureFlagsEarlyBootDmesg))
164
{
165
- kernelCmdLine += L" earlycon=uart8250,io,0x3f8,115200";
165
+ if constexpr (!wsl::shared::Arm64)
166
+ {
167
+ kernelCmdLine += L" earlycon=uart8250,io,0x3f8,115200";
168
+ }
169
+ else
170
+ {
171
+ kernelCmdLine += L" earlycon=pl011,0xeffec000,115200";
172
+ }
173
+
174
vmSettings.Devices.ComPorts["0"] = hcs::ComPort{m_dmesgCollector->EarlyConsoleName()};
175
}
176