File 5e958573-x86-EFI-always-fill-boot_tsc_stamp.patch of Package xen.17119
# Commit 0dbc112e727f6c17f306c864950bdf83dece5cd5
# Date 2020-04-14 11:42:11 +0200
# Author Jan Beulich <jbeulich@suse.com>
# Committer Jan Beulich <jbeulich@suse.com>
x86/EFI: also fill boot_tsc_stamp on the xen.efi boot path
Commit e3a379c35eff ("x86/time: always count s_time from Xen boot")
introducing this missed adjusting this path as well.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Wei Liu <wl@xen.org>
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -8,6 +8,7 @@
#include <asm/edd.h>
#include <asm/msr.h>
#include <asm/processor.h>
+#include <asm/setup.h>
static struct file __initdata ucode;
static multiboot_info_t __initdata mbi = {
@@ -638,6 +639,8 @@ static void __init efi_arch_cpu(void)
{
uint32_t eax = cpuid_eax(0x80000000);
+ boot_tsc_stamp = rdtsc();
+
if ( (eax >> 16) == 0x8000 && eax > 0x80000000 )
{
cpuid_ext_features = cpuid_edx(0x80000001);
--- a/xen/include/asm-x86/setup.h
+++ b/xen/include/asm-x86/setup.h
@@ -13,6 +13,7 @@ extern char __2M_init_start[], __2M_init
extern char __2M_rwdata_start[], __2M_rwdata_end[];
extern unsigned long xenheap_initial_phys_start;
+extern uint64_t boot_tsc_stamp;
void early_cpu_init(void);
void early_time_init(void);