vmm: Cherry pick illumos commit '13361 bhyve should mask RDT cpuid info'
Summary: commit 1a5f1879be09d3de900b2510692dd12003784d84 Author: Patrick Mooney <pmooney@pfmooney.com> Date: 2020-12-16T20:02:23.000Z 13361 bhyve should mask RDT cpuid info Reviewed by: Andy Fiddaman <andy@omnios.org> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Robert Mustacchi <rm@fingolfin.org> https://github.com/illumos/illumos-gate/commit/1a5f1879be09d3de900b2510692dd12003784d8 ---- We saw similar warning of GP (on Intel Xeon CPU E5-2630 v4 and VM with Ubuntu 20.04 5.4.0-113-generic) until this commit is applied: ``` [ 1.658880] kernel: unchecked MSR access error: WRMSR to 0xc8f (tried to write 0x0000000000000000) at rIP: 0xffffffffacc735b4 (native_write_msr+0x4/0x30) [ 1.662734] kernel: Call Trace: [ 1.663885] kernel: ? clear_closid_rmid.isra.0+0x36/0x40 [ 1.665501] kernel: resctrl_online_cpu+0xdc/0x3f0 [ 1.666952] kernel: ? __switch_to_asm+0x40/0x70 [ 1.668358] kernel: ? __switch_to+0x7f/0x480 [ 1.669693] kernel: ? cat_wrmsr+0x70/0x70 [ 1.670970] kernel: cpuhp_invoke_callback+0x9b/0x580 [ 1.672541] kernel: ? __schedule+0x2eb/0x740 [ 1.673893] kernel: cpuhp_thread_fun+0xb8/0x120 [ 1.675304] kernel: smpboot_thread_fn+0xd0/0x170 [ 1.676685] kernel: kthread+0x104/0x140 [ 1.677948] kernel: ? sort_range+0x30/0x30 [ 1.679299] kernel: ? kthread_park+0x90/0x90 [ 1.680570] kernel: ret_from_fork+0x35/0x40 [ 1.682000] kernel: *** VALIDATE rdt *** [ 1.683454] kernel: resctrl: L3 monitoring detected ``` Reviewed by: markj, jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D35442
This commit is contained in:
parent
c71f2370c5
commit
5afcca138f
@ -576,6 +576,24 @@ x86_emulate_cpuid(struct vm *vm, int vcpu_id, uint64_t *rax, uint64_t *rbx,
|
||||
}
|
||||
break;
|
||||
|
||||
case CPUID_0000_000F:
|
||||
case CPUID_0000_0010:
|
||||
/*
|
||||
* Do not report any Resource Director Technology
|
||||
* capabilities. Exposing control of cache or memory
|
||||
* controller resource partitioning to the guest is not
|
||||
* at all sensible.
|
||||
*
|
||||
* This is already hidden at a high level by masking of
|
||||
* leaf 0x7. Even still, a guest may look here for
|
||||
* detailed capability information.
|
||||
*/
|
||||
regs[0] = 0;
|
||||
regs[1] = 0;
|
||||
regs[2] = 0;
|
||||
regs[3] = 0;
|
||||
break;
|
||||
|
||||
case CPUID_0000_0015:
|
||||
/*
|
||||
* Don't report CPU TSC/Crystal ratio and clock
|
||||
|
@ -41,6 +41,8 @@
|
||||
#define CPUID_0000_000A (0xA)
|
||||
#define CPUID_0000_000B (0xB)
|
||||
#define CPUID_0000_000D (0xD)
|
||||
#define CPUID_0000_000F (0xF)
|
||||
#define CPUID_0000_0010 (0x10)
|
||||
#define CPUID_0000_0015 (0x15)
|
||||
#define CPUID_8000_0000 (0x80000000)
|
||||
#define CPUID_8000_0001 (0x80000001)
|
||||
|
Loading…
x
Reference in New Issue
Block a user