From: Pavel Pisa <pp...@pikron.com> closes #2634.
--- c/src/lib/libbsp/i386/pc386/console/fb_vesa_rm.c | 2 +- c/src/lib/libbsp/i386/pc386/include/edid.h | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) I have finally found time to update tools to 4.12 and test change on master. Tested on QEMU only for now. If agreed, I can try to push patch to the master branch. diff --git a/c/src/lib/libbsp/i386/pc386/console/fb_vesa_rm.c b/c/src/lib/libbsp/i386/pc386/console/fb_vesa_rm.c index b758564..fa41d01 100644 --- a/c/src/lib/libbsp/i386/pc386/console/fb_vesa_rm.c +++ b/c/src/lib/libbsp/i386/pc386/console/fb_vesa_rm.c @@ -499,7 +499,7 @@ static int32_t find_mode_using_EDID( Mode_params *mode_list, while (index < 8) { /* check if descriptor is unused */ - if (*(uint16_t*)&edid.STI[index] == EDID_STI_DescriptorUnused) + if (edid1_STI_is_unused(&edid.STI[index])) { index++; continue; diff --git a/c/src/lib/libbsp/i386/pc386/include/edid.h b/c/src/lib/libbsp/i386/pc386/include/edid.h index b8c00b1..836294d 100644 --- a/c/src/lib/libbsp/i386/pc386/include/edid.h +++ b/c/src/lib/libbsp/i386/pc386/include/edid.h @@ -473,6 +473,14 @@ EDID_INLINE_ROUTINE uint16_t edid1_WhiteY (EDID_edid1 *edid) { return (edid->WhiteYHigh<<2) | (edid->WhiteBlueLow&0x3); } +EDID_INLINE_ROUTINE int edid1_STI_is_unused ( + const EDID_standard_timing_identification *edid_sti) { + return (edid_sti->HorizontalActivePixels == + (uint8_t)EDID_STI_DescriptorUnused) && + (edid_sti->ImageAspectRatio_RefreshRate == + (uint8_t)(EDID_STI_DescriptorUnused >> 8)); +} + enum edid1_established_timings { /* Established Timings I */ EST_800x600_60Hz = 0, -- 1.9.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel