debuggers.hg
changeset 17939:3edc443ae8ce
hvm rombios: Move function calls out of 'post' function section
Through recent additions to the rombios the code section of the post
function has filled up considerably. When I enable the BX_TCGBIOS
compile time option the BIOS crashes since the post section code
(starts at $e05b) spills over into the nmi entry point (starts at
$e2c3). as86 doesn't cause an error when building.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Through recent additions to the rombios the code section of the post
function has filled up considerably. When I enable the BX_TCGBIOS
compile time option the BIOS crashes since the post section code
(starts at $e05b) spills over into the nmi entry point (starts at
$e2c3). as86 doesn't cause an error when building.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
author | Keir Fraser <keir.fraser@citrix.com> |
---|---|
date | Fri Jun 27 14:43:29 2008 +0100 (2008-06-27) |
parents | 73b798732e77 |
children | 10e79ad54c91 |
files | tools/firmware/rombios/rombios.c |
line diff
1.1 --- a/tools/firmware/rombios/rombios.c Fri Jun 27 14:40:47 2008 +0100 1.2 +++ b/tools/firmware/rombios/rombios.c Fri Jun 27 14:43:29 2008 +0100 1.3 @@ -9783,6 +9783,27 @@ smbios_init: 1.4 1.5 #endif 1.6 1.7 +#if BX_TCGBIOS 1.8 +; The section between the POST entry and the NMI entry is filling up 1.9 +; and causes crashes if this code was directly there 1.10 +tcpa_post_part1: 1.11 + call _tcpa_acpi_init 1.12 + 1.13 + push dword #0 1.14 + call _tcpa_initialize_tpm 1.15 + add sp, #4 1.16 + 1.17 + call _tcpa_do_measure_POSTs 1.18 + call _tcpa_wake_event /* specs: 3.2.3.7 */ 1.19 + ret 1.20 + 1.21 +tcpa_post_part2: 1.22 + call _tcpa_calling_int19h /* specs: 8.2.3 step 1 */ 1.23 + call _tcpa_add_event_separators /* specs: 8.2.3 step 2 */ 1.24 + /* we do not call int 19h handler but keep following eventlog */ 1.25 + call _tcpa_returned_int19h /* specs: 8.2.3 step 3/7 */ 1.26 + ret 1.27 +#endif 1.28 1.29 1.30 ;; for 'C' strings and other data, insert them here with 1.31 @@ -10003,14 +10024,7 @@ post_default_ints: 1.32 mov 0x0410, ax 1.33 1.34 #if BX_TCGBIOS 1.35 - call _tcpa_acpi_init 1.36 - 1.37 - push dword #0 1.38 - call _tcpa_initialize_tpm 1.39 - add sp, #4 1.40 - 1.41 - call _tcpa_do_measure_POSTs 1.42 - call _tcpa_wake_event /* specs: 3.2.3.7 */ 1.43 + call tcpa_post_part1 1.44 #endif 1.45 1.46 ;; Parallel setup 1.47 @@ -10138,10 +10152,7 @@ post_default_ints: 1.48 call _interactive_bootkey 1.49 1.50 #if BX_TCGBIOS 1.51 - call _tcpa_calling_int19h /* specs: 8.2.3 step 1 */ 1.52 - call _tcpa_add_event_separators /* specs: 8.2.3 step 2 */ 1.53 - /* we do not call int 19h handler but keep following eventlog */ 1.54 - call _tcpa_returned_int19h /* specs: 8.2.3 step 3/7 */ 1.55 + call tcpa_post_part2 1.56 #endif 1.57 1.58 ;; Start the boot sequence. See the comments in int19_relocated