Index: src/cpu/amd/model_lx/vsmsetup.c =================================================================== --- src/cpu/amd/model_lx/vsmsetup.c (revision 4972) +++ src/cpu/amd/model_lx/vsmsetup.c (working copy) @@ -7,10 +7,8 @@ #include #include #include +#include -// andrei: use the /lib copy of nrv2b -#include "../lib/nrv2b.c" - #define VSA2_BUFFER 0x60000 #define VSA2_ENTRY_POINT 0x60020 @@ -272,11 +270,9 @@ { device_t dev; unsigned long busdevfn; - unsigned int rom = 0; unsigned char *buf; unsigned int size = SMM_SIZE * 1024; int i; - unsigned long ilen, olen; printk_err("do_vsmbios\n"); /* clear vsm bios data area */ @@ -291,12 +287,10 @@ * much better parameterized */ - // TODO this is a CBFS candidate - //VSA is cat onto the end after LB builds - rom = ((unsigned long)0) - (CONFIG_ROM_SIZE + 36 * 1024); - buf = (unsigned char *)VSA2_BUFFER; - olen = unrv2b((uint8_t *) rom, buf, &ilen); - printk_debug("buf ilen %d olen%d\n", ilen, olen); + if ((unsigned int)cbfs_load_stage("vsa") != VSA2_ENTRY_POINT) { + printk_err("do_vsmbios: Failed to load VSA.\n"); + } + buf = VSA2_BUFFER; printk_debug("buf %p *buf %d buf[256k] %d\n", buf, buf[0], buf[SMM_SIZE * 1024]); printk_debug("buf[0x20] signature is %x:%x:%x:%x\n",