Skip to content

Commit e3ae2d7

Browse files
committed
Update Viridian instructions
Borrow Citrix's instructions to set all Viridian flags and device ID in one command. Add instructions to reenable Viridian synthetic timer from bcdedit. Signed-off-by: Tu Dinh <ngoc-tu.dinh@vates.tech>
1 parent 2154a58 commit e3ae2d7

File tree

2 files changed

+25
-14
lines changed

2 files changed

+25
-14
lines changed

docs/troubleshooting/windows-pv-tools.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,3 +188,19 @@ See the [XenClean guide](/vms/#fully-removing-xen-pv-drivers-with-xenclean) for
188188
:::note
189189
You will need to reinstall the management agent.
190190
:::
191+
192+
## Windows Server 2025 hangs randomly with 0% CPU
193+
194+
### Cause
195+
196+
This can be due to the Viridian synthetic timer feature being disabled on the guest.
197+
198+
### Solution
199+
200+
First, check that [Viridian extensions are all enabled on your VM](/vms/#enabling-viridian-extensions).
201+
If you've set boot parameters to disable the synthetic timer, they need to be reverted:
202+
203+
```
204+
bcdedit /deletevalue "{current}" useplatformclock
205+
bcdedit /deletevalue "{current}" useplatformtick
206+
```

docs/vms/vms.md

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -340,20 +340,15 @@ Viridian extensions —referred to as "Viridian enlightenments" by Microsoft—
340340

341341
Viridian enlightenments are enabled by default on Windows VM templates included with XCP-ng.
342342

343-
To enable Viridian enlightenments for other non-Windows VM templates, you need to:
344-
345-
1. **Enable Viridian**. To do this, run `xe vm-param-set uuid=<vm uuid> platform:viridian=true` in your VM.
346-
2. **Enable the extra Viridian parameters** necessary for your template to run optimally with Windows. To do this, run the same `xe` command in your VM, but change the arguments with the following:
347-
348-
```
349-
"device_id": "0002", // ID used by XCP-ng to detect Windows VMs
350-
"viridian": "true",
351-
"viridian_time_ref_count": "true",
352-
"viridian_reference_tsc": "true",
353-
"viridian_apic_assist": "true",
354-
"viridian_crash_ctl": "true",
355-
"viridian_stimer": "true"
356-
```
343+
To enable Viridian enlightenments for other non-Windows VM templates, simply run the following command:
344+
345+
```
346+
xe vm-param-set uuid=<vm-uuid> platform:device_id=0002 platform:viridian=true platform:viridian_time_ref_count=true platform:viridian_reference_tsc=true platform:viridian_apic_assist=true platform:viridian_crash_ctl=true platform:viridian_stimer=true
347+
```
348+
349+
:::warning
350+
Do not set the device ID on VMs with Xen PV drivers installed. Changing the device ID may cause old Xen PV drivers to fail booting.
351+
:::
357352

358353
:::
359354

0 commit comments

Comments
 (0)