Skip to content

Commit c9d78c8

Browse files
committed
mshv-ioctls: enable more CPU features
By default enable all CPU features. VMM has still option to change the CPU feature bits. Signed-off-by: Muminul Islam <[email protected]>
1 parent bb3bd46 commit c9d78c8

File tree

1 file changed

+2
-229
lines changed

1 file changed

+2
-229
lines changed

mshv-ioctls/src/ioctls/system.rs

Lines changed: 2 additions & 229 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ pub fn make_default_partition_create_arg(vm_type: VmType) -> mshv_create_partiti
7070
for i in 0..MSHV_NUM_CPU_FEATURES_BANKS {
7171
// SAFETY: access union fields
7272
unsafe {
73-
disabled_proc_features.as_uint64[i as usize] = 0xFFFFFFFFFFFFFFFF;
73+
disabled_proc_features.as_uint64[i as usize] = 0u64;
7474
}
7575
}
7676
disabled_xsave_features.as_uint64 = 0xFFFFFFFFFFFFFFFF;
@@ -95,236 +95,9 @@ pub fn make_default_partition_create_arg(vm_type: VmType) -> mshv_create_partiti
9595
.__bindgen_anon_1
9696
.set_xsaveopt_support(0u64);
9797
create_args.pt_disabled_xsave = disabled_xsave_features.as_uint64;
98-
99-
// Enable default processor features that are known to be supported
100-
disabled_proc_features
101-
.__bindgen_anon_1
102-
.set_adx_support(0u64);
103-
disabled_proc_features
104-
.__bindgen_anon_1
105-
.set_aes_support(0u64);
106-
disabled_proc_features
107-
.__bindgen_anon_1
108-
.set_altmovcr8_support(0u64);
109-
disabled_proc_features
110-
.__bindgen_anon_1
111-
.set_amd3dnow_support(0u64);
112-
disabled_proc_features
113-
.__bindgen_anon_1
114-
.set_bhi_dis_support(0u64);
115-
disabled_proc_features
116-
.__bindgen_anon_1
117-
.set_bhi_no_support(0u64);
118-
disabled_proc_features
119-
.__bindgen_anon_1
120-
.set_bmi1_support(0u64);
121-
disabled_proc_features
122-
.__bindgen_anon_1
123-
.set_bmi2_support(0u64);
124-
disabled_proc_features
125-
.__bindgen_anon_1
126-
.set_btc_no_support(0u64);
127-
disabled_proc_features
128-
.__bindgen_anon_1
129-
.set_cet_ibt_support(0u64);
130-
disabled_proc_features
131-
.__bindgen_anon_1
132-
.set_cet_ss_support(0u64);
133-
disabled_proc_features
134-
.__bindgen_anon_1
135-
.set_clflushopt_support(0u64);
136-
disabled_proc_features
137-
.__bindgen_anon_1
138-
.set_cmpxchg16b_support(0u64);
139-
disabled_proc_features
140-
.__bindgen_anon_1
141-
.set_dep_x87_fpu_save_support(0u64);
142-
disabled_proc_features
143-
.__bindgen_anon_1
144-
.set_enhanced_fast_string_support(0u64);
145-
disabled_proc_features
146-
.__bindgen_anon_1
147-
.set_extended_amd3dnow_support(0u64);
148-
disabled_proc_features
149-
.__bindgen_anon_1
150-
.set_f16c_support(0u64);
151-
disabled_proc_features
152-
.__bindgen_anon_1
153-
.set_fast_short_rep_mov_support(0u64);
154-
disabled_proc_features
155-
.__bindgen_anon_1
156-
.set_fb_clear_support(0u64);
157-
disabled_proc_features
158-
.__bindgen_anon_1
159-
.set_fma4_support(0u64);
160-
disabled_proc_features
161-
.__bindgen_anon_1
162-
.set_gds_no_support(0u64);
163-
disabled_proc_features
164-
.__bindgen_anon_1
165-
.set_hle_support_deprecated(0u64);
166-
disabled_proc_features
167-
.__bindgen_anon_1
168-
.set_hle_support(0u64);
169-
disabled_proc_features
170-
.__bindgen_anon_1
171-
.set_ibpb_support(0u64);
172-
disabled_proc_features
173-
.__bindgen_anon_1
174-
.set_ibrs_all_support(0u64);
175-
disabled_proc_features
176-
.__bindgen_anon_1
177-
.set_ibrs_support(0u64);
178-
disabled_proc_features
179-
.__bindgen_anon_1
180-
.set_intel_prefetch_support(0u64);
181-
disabled_proc_features
182-
.__bindgen_anon_1
183-
.set_invpcid_support(0u64);
184-
disabled_proc_features
185-
.__bindgen_anon_1
186-
.set_l1dcache_flush_support(0u64);
187-
disabled_proc_features
188-
.__bindgen_anon_1
189-
.set_lahf_sahf_support(0u64);
190-
disabled_proc_features
191-
.__bindgen_anon_1
192-
.set_lzcnt_support(0u64);
193-
disabled_proc_features
194-
.__bindgen_anon_1
195-
.set_mb_clear_support(0u64);
196-
disabled_proc_features
197-
.__bindgen_anon_1
198-
.set_mbec_support(0u64);
199-
disabled_proc_features
200-
.__bindgen_anon_1
201-
.set_mbs_no_support(0u64);
202-
disabled_proc_features
203-
.__bindgen_anon_1
204-
.set_mdd_support(0u64);
205-
disabled_proc_features
206-
.__bindgen_anon_1
207-
.set_mis_align_sse_support(0u64);
208-
disabled_proc_features
209-
.__bindgen_anon_1
210-
.set_mitigation_ctrl_support(0u64);
211-
disabled_proc_features
212-
.__bindgen_anon_1
213-
.set_mmx_ext_support(0u64);
214-
disabled_proc_features
215-
.__bindgen_anon_1
216-
.set_movbe_support(0u64);
217-
disabled_proc_features
218-
.__bindgen_anon_1
219-
.set_npiep1_support(0u64);
220-
disabled_proc_features
221-
.__bindgen_anon_1
222-
.set_page_1gb_support(0u64);
223-
disabled_proc_features
224-
.__bindgen_anon_1
225-
.set_pclmulqdq_support(0u64);
226-
disabled_proc_features
227-
.__bindgen_anon_1
228-
.set_pcid_support(0u64);
229-
disabled_proc_features
230-
.__bindgen_anon_1
231-
.set_pop_cnt_support(0u64);
232-
disabled_proc_features
233-
.__bindgen_anon_1
234-
.set_psfd_support(0u64);
235-
disabled_proc_features
236-
.__bindgen_anon_1
237-
.set_rd_pid_support(0u64);
238-
disabled_proc_features
239-
.__bindgen_anon_1
240-
.set_rd_rand_support(0u64);
241-
disabled_proc_features
242-
.__bindgen_anon_1
243-
.set_rd_rand_support(0u64);
244-
disabled_proc_features
245-
.__bindgen_anon_1
246-
.set_rd_seed_support(0u64);
247-
disabled_proc_features
248-
.__bindgen_anon_1
249-
.set_rd_wr_fs_gs_support(0u64);
250-
disabled_proc_features
251-
.__bindgen_anon_1
252-
.set_rdcl_no_support(0u64);
253-
disabled_proc_features
254-
.__bindgen_anon_1
255-
.set_rdpru_support(0u64);
256-
disabled_proc_features
257-
.__bindgen_anon_1
258-
.set_rdtscp_support(0u64);
259-
disabled_proc_features
260-
.__bindgen_anon_1
261-
.set_rfds_clear_support(0u64);
262-
disabled_proc_features
263-
.__bindgen_anon_1
264-
.set_rfds_no_support(0u64);
265-
disabled_proc_features
266-
.__bindgen_anon_1
267-
.set_rsb_a_no_support(0u64);
268-
disabled_proc_features
269-
.__bindgen_anon_1
270-
.set_rtm_support_deprecated(0u64);
271-
disabled_proc_features
272-
.__bindgen_anon_1
273-
.set_rtm_support(0u64);
274-
disabled_proc_features
275-
.__bindgen_anon_1
276-
.set_skip_l1df_support(0u64);
277-
disabled_proc_features
278-
.__bindgen_anon_1
279-
.set_smap_support(0u64);
280-
disabled_proc_features
281-
.__bindgen_anon_1
282-
.set_smep_support(0u64);
283-
disabled_proc_features
284-
.__bindgen_anon_1
285-
.set_ssb_no_support(0u64);
286-
disabled_proc_features
287-
.__bindgen_anon_1
288-
.set_sse3_support(0u64);
289-
disabled_proc_features
290-
.__bindgen_anon_1
291-
.set_sse4_1_support(0u64);
292-
disabled_proc_features
293-
.__bindgen_anon_1
294-
.set_sse4_2_support(0u64);
295-
disabled_proc_features
296-
.__bindgen_anon_1
297-
.set_sse4a_support(0u64);
298-
disabled_proc_features
299-
.__bindgen_anon_1
300-
.set_ssse3_support(0u64);
301-
disabled_proc_features
302-
.__bindgen_anon_1
303-
.set_stibp_support(0u64);
304-
disabled_proc_features
305-
.__bindgen_anon_1
306-
.set_taa_no_support(0u64);
307-
disabled_proc_features
308-
.__bindgen_anon_1
309-
.set_tsc_invariant_support(0u64);
310-
disabled_proc_features
311-
.__bindgen_anon_1
312-
.set_tsx_ctrl_support(0u64);
313-
disabled_proc_features
314-
.__bindgen_anon_1
315-
.set_umip_support(0u64);
316-
disabled_proc_features
317-
.__bindgen_anon_1
318-
.set_unrestricted_guest_support(0u64);
319-
disabled_proc_features
320-
.__bindgen_anon_1
321-
.set_virt_spec_ctrl_support(0u64);
322-
disabled_proc_features
323-
.__bindgen_anon_1
324-
.set_vmx_exception_inject_support(0u64);
32598
disabled_proc_features
32699
.__bindgen_anon_1
327-
.set_xop_support(0u64);
100+
.set_reserved_bank0(1u64);
328101
}
329102

330103
#[cfg(target_arch = "aarch64")]

0 commit comments

Comments
 (0)