Add timestamps for selfboot and acpi wake
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>
This commit is contained in:
parent
c668af7441
commit
cde7801c2e
|
@ -32,6 +32,9 @@
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <cbmem.h>
|
#include <cbmem.h>
|
||||||
#include <cpu/x86/lapic_def.h>
|
#include <cpu/x86/lapic_def.h>
|
||||||
|
#if CONFIG_COLLECT_TIMESTAMPS
|
||||||
|
#include <timestamp.h>
|
||||||
|
#endif
|
||||||
#if CONFIG_CHROMEOS
|
#if CONFIG_CHROMEOS
|
||||||
#include <vendorcode/google/chromeos/chromeos.h>
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -610,6 +613,10 @@ void acpi_jump_to_wakeup(void *vector)
|
||||||
/* Copy wakeup trampoline in place. */
|
/* Copy wakeup trampoline in place. */
|
||||||
memcpy((void *)WAKEUP_BASE, &__wakeup, (size_t)&__wakeup_size);
|
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,
|
acpi_do_wakeup((u32)vector, acpi_backup_memory, CONFIG_RAMBASE,
|
||||||
HIGH_MEMORY_SAVE);
|
HIGH_MEMORY_SAVE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,9 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <cbfs.h>
|
#include <cbfs.h>
|
||||||
#include <lib.h>
|
#include <lib.h>
|
||||||
|
#if CONFIG_COLLECT_TIMESTAMPS
|
||||||
|
#include <timestamp.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Maximum physical address we can use for the coreboot bounce buffer. */
|
/* Maximum physical address we can use for the coreboot bounce buffer. */
|
||||||
#ifndef MAX_ADDR
|
#ifndef MAX_ADDR
|
||||||
|
@ -512,6 +515,10 @@ static int selfboot(struct lb_memory *mem, struct cbfs_payload *payload)
|
||||||
printk(BIOS_DEBUG, "Jumping to boot code at %x\n", entry);
|
printk(BIOS_DEBUG, "Jumping to boot code at %x\n", entry);
|
||||||
post_code(POST_ENTER_ELF_BOOT);
|
post_code(POST_ENTER_ELF_BOOT);
|
||||||
|
|
||||||
|
#if CONFIG_COLLECT_TIMESTAMPS
|
||||||
|
timestamp_add_now(TS_SELFBOOT_JUMP);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Jump to kernel */
|
/* Jump to kernel */
|
||||||
jmp_to_elf_entry((void*)entry, bounce_buffer, bounce_size);
|
jmp_to_elf_entry((void*)entry, bounce_buffer, bounce_size);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -37,6 +37,8 @@ struct timestamp_table {
|
||||||
enum timestamp_id {
|
enum timestamp_id {
|
||||||
TS_BEFORE_INITRAM = 1,
|
TS_BEFORE_INITRAM = 1,
|
||||||
TS_AFTER_INITRAM = 2,
|
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);
|
||||||
|
|
Loading…
Reference in New Issue