Hello,

On i945 northbridge:

        ASSERTION ERROR: file 'src/cpu/x86/smm/tseg_region.c', line 31

can be triggered by some configurations. The assert

        ASSERT(IS_ALIGNED(sub_base, sub_size));

tests alignment of SMM base with SMM size. The problem is that IGD stolen 
memory can offset the SMM base by a smaller size than the SMM size. This causes 
SMM base to be unaligned. For example:

80000000: 2 GiB Top of RAM, stored in TOLUD
7ff00000: 1 MiB Stolen IGD RAM base, address in BSM
7fd00000: 2 MiB SMM base, defined as SMM size in ESMRAMC

-> 0x7fd00000 is not aligned to SMM size. Probably works for different settings 
too.

RFC: should the assert from 

        
https://elixir.bootlin.com/coreboot/4.16/source/src/cpu/x86/smm/tseg_region.c#L31
 

be removed, changed or ignored on i945? The correct test should be probably for 
1 MiB alignement as the base of stolen IGD memory have [31:20] bits. But I 
understand the smm_subregion() test is a generic one.

regards,
Petr
_______________________________________________
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org

Reply via email to