]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - arch/x86/include/asm/arch-coreboot/timestamp.h
x86: Add a CBMEM timestamp generated right before the kernel startup.
[karo-tx-uboot.git] / arch / x86 / include / asm / arch-coreboot / timestamp.h
1 /*
2  * This file is part of the coreboot project.
3  *
4  * Copyright (C) 2011 The ChromiumOS Authors.  All rights reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; version 2 of the License.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
18  */
19
20 #ifndef __COREBOOT_TIMESTAMP_H__
21 #define __COREBOOT_TIMESTAMP_H__
22
23 enum timestamp_id {
24         /* coreboot specific timestamp IDs */
25         TS_START_ROMSTAGE = 1,
26         TS_BEFORE_INITRAM = 2,
27         TS_AFTER_INITRAM = 3,
28         TS_END_ROMSTAGE = 4,
29         TS_START_COPYRAM = 8,
30         TS_END_COPYRAM = 9,
31         TS_START_RAMSTAGE = 10,
32         TS_DEVICE_ENUMERATE = 30,
33         TS_DEVICE_CONFIGURE = 40,
34         TS_DEVICE_ENABLE = 50,
35         TS_DEVICE_INITIALIZE = 60,
36         TS_DEVICE_DONE = 70,
37         TS_CBMEM_POST = 75,
38         TS_WRITE_TABLES = 80,
39         TS_LOAD_PAYLOAD = 90,
40         TS_ACPI_WAKE_JUMP = 98,
41         TS_SELFBOOT_JUMP = 99,
42
43         /* U-Boot entry IDs start at 1000 */
44         TS_U_BOOT_INITTED = 1000, /* This is where u-boot starts */
45         TS_U_BOOT_START_KERNEL = 1100, /* Right before jumping to kernel. */
46 };
47
48 void timestamp_init(void);
49 void timestamp_add(enum timestamp_id id, uint64_t ts_time);
50 void timestamp_add_now(enum timestamp_id id);
51
52 #endif