@@ -2137,6 +2137,20 @@ let set_has_vendor_device =
2137
2137
]
2138
2138
~allowed_roles: _R_VM_ADMIN ~doc_tags: [Windows ] ()
2139
2139
2140
+ let set_xen_platform_pci_bar_uc =
2141
+ call ~name: " set_xen_platform_pci_bar_uc" ~lifecycle: []
2142
+ ~doc:
2143
+ " Controls whether, when the VM starts in HVM mode, the Xen PCI MMIO used \
2144
+ by grant tables is mapped as Uncached (UC, the default) or WriteBack \
2145
+ (WB, the workaround). WB mapping could improve performance of devices \
2146
+ using grant tables. This is useful on AMD platform only."
2147
+ ~params:
2148
+ [
2149
+ (Ref _vm, " self" , " The VM on which to set this flag" )
2150
+ ; (Bool , " value" , " False to enable WB MMIO bar." )
2151
+ ]
2152
+ ~allowed_roles: _R_VM_ADMIN ()
2153
+
2140
2154
let import =
2141
2155
call ~name: " import"
2142
2156
~lifecycle: [(Published , rel_dundee, " Import an XVA from a URI" )]
@@ -2560,6 +2574,7 @@ let t =
2560
2574
; call_plugin
2561
2575
; call_host_plugin
2562
2576
; set_has_vendor_device
2577
+ ; set_xen_platform_pci_bar_uc
2563
2578
; import
2564
2579
; set_actions_after_crash
2565
2580
; set_domain_type
@@ -3097,6 +3112,19 @@ let t =
3097
3112
" When an HVM guest starts, this controls the presence of the \
3098
3113
emulated C000 PCI device which triggers Windows Update to fetch \
3099
3114
or update PV drivers."
3115
+ ; field ~qualifier: StaticRO
3116
+ ~lifecycle:
3117
+ [
3118
+ ( Published
3119
+ , rel_ely
3120
+ , " Controls whether, when the VM starts in HVM mode, the MMIO \
3121
+ is mapped as UC or WB."
3122
+ )
3123
+ ]
3124
+ ~default_value: (Some (VBool true )) ~ty: Bool
3125
+ " xen_platform_pci_bar_uc"
3126
+ " Controls whether, when the VM starts in HVM mode, the MMIO is \
3127
+ mapped as UC or WB."
3100
3128
; field ~qualifier: DynamicRO ~ty: Bool
3101
3129
~lifecycle: [(Published , rel_ely, " " )]
3102
3130
~default_value: (Some (VBool false )) " requires_reboot"
0 commit comments