Change-Id: I28224867610b947739d940d25c98399d219f10f4
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: http://review.coreboot.org/733
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
#include <device/pci.h>
#include <cbmem.h>
#include <cpu/x86/lapic_def.h>
#include <device/pci.h>
#include <cbmem.h>
#include <cpu/x86/lapic_def.h>
+#if CONFIG_COLLECT_TIMESTAMPS
+#include <timestamp.h>
+#endif
#if CONFIG_CHROMEOS
#include <vendorcode/google/chromeos/chromeos.h>
#endif
#if CONFIG_CHROMEOS
#include <vendorcode/google/chromeos/chromeos.h>
#endif
/* Copy wakeup trampoline in place. */
memcpy((void *)WAKEUP_BASE, &__wakeup, (size_t)&__wakeup_size);
/* Copy wakeup trampoline in place. */
memcpy((void *)WAKEUP_BASE, &__wakeup, (size_t)&__wakeup_size);
+#if CONFIG_COLLECT_TIMESTAMPS
+ timestamp_add_now(TS_ACPI_WAKE_JUMP);
+#endif
+
acpi_do_wakeup((u32)vector, acpi_backup_memory, CONFIG_RAMBASE,
HIGH_MEMORY_SAVE);
}
acpi_do_wakeup((u32)vector, acpi_backup_memory, CONFIG_RAMBASE,
HIGH_MEMORY_SAVE);
}
#include <string.h>
#include <cbfs.h>
#include <lib.h>
#include <string.h>
#include <cbfs.h>
#include <lib.h>
+#if CONFIG_COLLECT_TIMESTAMPS
+#include <timestamp.h>
+#endif
/* Maximum physical address we can use for the coreboot bounce buffer. */
#ifndef MAX_ADDR
/* Maximum physical address we can use for the coreboot bounce buffer. */
#ifndef MAX_ADDR
printk(BIOS_DEBUG, "Jumping to boot code at %x\n", entry);
post_code(POST_ENTER_ELF_BOOT);
printk(BIOS_DEBUG, "Jumping to boot code at %x\n", entry);
post_code(POST_ENTER_ELF_BOOT);
+#if CONFIG_COLLECT_TIMESTAMPS
+ timestamp_add_now(TS_SELFBOOT_JUMP);
+#endif
+
/* Jump to kernel */
jmp_to_elf_entry((void*)entry, bounce_buffer, bounce_size);
return 1;
/* Jump to kernel */
jmp_to_elf_entry((void*)entry, bounce_buffer, bounce_size);
return 1;
enum timestamp_id {
TS_BEFORE_INITRAM = 1,
TS_AFTER_INITRAM = 2,
enum timestamp_id {
TS_BEFORE_INITRAM = 1,
TS_AFTER_INITRAM = 2,
+ TS_ACPI_WAKE_JUMP = 98,
+ TS_SELFBOOT_JUMP = 99,
};
void timestamp_init(tsc_t base);
};
void timestamp_init(tsc_t base);