diff options
-rw-r--r-- | benchmark.h | 3 | ||||
-rw-r--r-- | fw_cfg.c | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/benchmark.h b/benchmark.h index 089c549..2be08e7 100644 --- a/benchmark.h +++ b/benchmark.h @@ -9,5 +9,6 @@ #define FW_START 1 #define LINUX_START_FWCFG 2 #define LINUX_START_BOOT 3 +#define LINUX_START_PVHBOOT 4 -#endif +#endif /* BENCHMARK_H */ @@ -243,6 +243,12 @@ static void boot_pvh_from_fw_cfg(void) fw_cfg_select(FW_CFG_KERNEL_ENTRY); kernel_entry = (void *) fw_cfg_readl_le(); +#ifdef BENCHMARK_HACK + /* Exit just before jumping to vmlinux, so that it is easy + * to time/profile the firmware. + */ + outb(LINUX_EXIT_PORT, LINUX_START_PVHBOOT); +#endif asm volatile("jmp *%2" : : "a" (0x2badb002), "b"(&start_info), "c"(kernel_entry)); panic(); |