2016-04-10 19:09:16 +02:00
|
|
|
/*
|
|
|
|
* This file is part of the coreboot project.
|
|
|
|
*
|
2017-04-22 09:35:18 +02:00
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation; version 2 of the License.
|
2016-04-10 19:09:16 +02:00
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*/
|
|
|
|
|
2015-05-13 03:23:27 +02:00
|
|
|
/*
|
|
|
|
* Store the initial timestamp for booting in mmx registers. This works
|
2015-05-13 03:19:47 +02:00
|
|
|
* because the bootblock isn't being compiled with MMX support so mm0 and
|
2015-05-13 03:23:27 +02:00
|
|
|
* mm1 will be preserved into romstage.
|
|
|
|
*/
|
2015-05-13 03:19:47 +02:00
|
|
|
.code32
|
|
|
|
|
|
|
|
.global stash_timestamp
|
|
|
|
stash_timestamp:
|
|
|
|
|
|
|
|
/* Save the BIST value */
|
|
|
|
movl %eax, %ebp
|
|
|
|
|
|
|
|
finit
|
|
|
|
rdtsc
|
|
|
|
movd %eax, %mm0
|
|
|
|
movd %edx, %mm1
|
|
|
|
|
|
|
|
/* Restore the BIST value to %eax */
|
|
|
|
movl %ebp, %eax
|