On 08/26/2010 12:43 AM, Glauber Costa wrote:
This guest/host common patch prepares infrastructure for the steal time implementation. Some constants are added, and a name change happens in pvclock vcpu structure. Signed-off-by: Glauber Costa<glommer@xxxxxxxxxx> --- arch/x86/include/asm/kvm_para.h | 1 + arch/x86/include/asm/pvclock-abi.h | 4 +++- 2 files changed, 4 insertions(+), 1 deletions(-) diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h index 05eba5e..1759c81 100644 --- a/arch/x86/include/asm/kvm_para.h +++ b/arch/x86/include/asm/kvm_para.h @@ -25,6 +25,7 @@ * in pvclock structure. If no bits are set, all flags are ignored. */ #define KVM_FEATURE_CLOCKSOURCE_STABLE_BIT 24 +#define KVM_FEATURE_CLOCKSOURCE_STEAL_BIT 25 #define MSR_KVM_WALL_CLOCK 0x11 #define MSR_KVM_SYSTEM_TIME 0x12 diff --git a/arch/x86/include/asm/pvclock-abi.h b/arch/x86/include/asm/pvclock-abi.h index 35f2d19..417061b 100644 --- a/arch/x86/include/asm/pvclock-abi.h +++ b/arch/x86/include/asm/pvclock-abi.h @@ -24,7 +24,7 @@ struct pvclock_vcpu_time_info { u32 version; - u32 pad0; + u32 steal_time; u64 tsc_timestamp; u64 system_time; u32 tsc_to_system_mul; @@ -40,5 +40,7 @@ struct pvclock_wall_clock { } __attribute__((__packed__)); #define PVCLOCK_TSC_STABLE_BIT (1<< 0) +#define PVCLOCK_STEAL_BIT (2<< 0) + #endif /* __ASSEMBLY__ */ #endif /* _ASM_X86_PVCLOCK_ABI_H */
We could extend pvclock to 64 bytes (unfortunately we didn't reserve bits 0-5 like we did with others) and use an nsec field.
We can declare bit 1 to be a 'the address is 64 byte aligned and bits 2-5 are now feature bits', or we can add a new msr. Pretty complicated but it's good to have everything using the same units.
-- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html