From 086ede1e437048c9edd067405da925b6f0840108 Mon Sep 17 00:00:00 2001 From: Masato Imai Date: Thu, 15 May 2025 17:42:18 +0000 Subject: [PATCH] add more cpuid --- src/vmm/cpuid.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/vmm/cpuid.rs b/src/vmm/cpuid.rs index c0b104d..7f95a0e 100644 --- a/src/vmm/cpuid.rs +++ b/src/vmm/cpuid.rs @@ -9,6 +9,21 @@ pub fn handle_cpuid_exit(vcpu: &mut VCpu) { let vendor: &[u8; 12] = b"NelogikaNelo"; let vendor = unsafe { core::mem::transmute::<&[u8; 12], &[u32; 3]>(vendor) }; match VmxLeaf::from(regs.rax) { + VmxLeaf::EXTENDED_PROCESSOR_SIGNATURE => { + info!("CPUID extended processor signature"); + let signature = cpuid!(0x80000001, 0); + regs.rax = 0x00000000; + regs.rbx = 0x00000000; + regs.rcx = signature.ecx as u64; + regs.rdx = signature.edx as u64; + } + VmxLeaf::EXTENDED_FUNCTION => { + info!("CPUID extended function"); + regs.rax = 0x80000000 + 1; + regs.rbx = 0x00000000; + regs.rcx = 0x00000000; + regs.rdx = 0x00000000; + } VmxLeaf::MAXIMUM_INPUT => { info!("CPUID max input"); regs.rax = 0x20;