From: Joseph C. <jos...@in...> - 2010-04-02 04:01:21
|
changeset d6c12e57314b in /var/www/tboot.hg details: tboot.hg?cmd=changeset;node=d6c12e57314b description: Fix bug in TXT.VER.EMIF/FSBIF handling Signed-off-by: Joseph Cihula <jos...@in...> diffstat: tboot/txt/acmod.c | 3 ++- tboot/txt/txt.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diffs (26 lines): diff -r 4b1d4c04f7df -r d6c12e57314b tboot/txt/acmod.c --- a/tboot/txt/acmod.c Tue Mar 30 12:27:51 2010 -0700 +++ b/tboot/txt/acmod.c Thu Apr 01 19:03:52 2010 -0700 @@ -362,7 +362,8 @@ */ txt_ver_fsbif_emif_t ver; ver._raw = read_pub_config_reg(TXTCR_VER_FSBIF); - if ( ver._raw == 0xffffffff || ver._raw == 0x0 ) /* need to use VER.EMIF */ + if ( (ver._raw & 0xffffffff) == 0xffffffff || + (ver._raw & 0xffffffff) == 0x00 ) /* need to use VER.EMIF */ ver._raw = read_pub_config_reg(TXTCR_VER_EMIF); if ( ver.prod_fused != !hdr->flags.debug_signed ) { printk("\t production/debug mismatch between chipset and ACM\n"); diff -r 4b1d4c04f7df -r d6c12e57314b tboot/txt/txt.c --- a/tboot/txt/txt.c Tue Mar 30 12:27:51 2010 -0700 +++ b/tboot/txt/txt.c Thu Apr 01 19:03:52 2010 -0700 @@ -216,7 +216,8 @@ didvid.vendor_id, didvid.device_id, didvid.revision_id); txt_ver_fsbif_emif_t ver; ver._raw = read_pub_config_reg(TXTCR_VER_FSBIF); - if ( ver._raw == 0xffffffff ) /* need to use VER.EMIF */ + if ( (ver._raw & 0xffffffff) == 0xffffffff || + (ver._raw & 0xffffffff) == 0x00 ) /* need to use VER.EMIF */ ver._raw = read_pub_config_reg(TXTCR_VER_EMIF); printk("chipset production fused: %x\n", ver.prod_fused ); |