почему бы не ввести в качестве условия отката совпадение текущей даты и даты, которая устанавливается биосом после сброса CMOS.
Если биос пропатчился неудачно, то сбрасываем кмос и получаем откат. Никаких самопроизвольных срабатываний.
Если есть возможность узнать начальную дату из биоса -- прекрасно. Если нет, то на этапе патченья требовать ее у пользователя.
Первоначально патчить биос с возможностью отката как по клаве, так и по дате. Если откат по дате срабатывает, то от отката по клаве можно отказаться (требуется повторное патченье с соответствующим параметром)
Для продвинутых юзеров можно пойти дальше. Привязать откат не к дате, а к каким-нибудь битам в CMOS.
Для этого выбираем какой нибудь безобидный параметр в SETUP (например, show logo или agp aperture size) и изменяем его. Смотрим, какие биты в CMOS затронет его изменение. Адрес и дефолтное значение этих битов передаем биос патчеру.
Теперь, если сброшен CMOS -> соответствующие биты в CMOS принимают дефолтное значение --> срабатывает откат.
После чтения страшилок про самопроизвольные откаты { rom.by/phpBB2/viewtopic.php?t=1916 } появилась следующая идея:
почему бы не ввести в качестве условия отката совпадение текущей даты и даты, которая устанавливается биосом после сброса CMOS.
Если биос пропатчился неудачно, то сбрасываем кмос и получаем откат. Никаких самопроизвольных срабатываний.
Если есть возможность узнать начальную дату из биоса -- прекрасно. Если нет, то на этапе патченья требовать ее у пользователя.
Первоначально патчить биос с возможностью отката как по клаве, так и по дате. Если откат по дате срабатывает, то от отката по клаве можно отказаться (требуется повторное патченье с соответствующим параметром)
Для продвинутых юзеров можно пойти дальше. Привязать откат не к дате, а к каким-нибудь битам в CMOS.
Для этого выбираем какой нибудь безобидный параметр в SETUP (например, show logo или agp aperture size) и изменяем его. Смотрим, какие биты в CMOS затронет его изменение. Адрес и дефолтное значение этих битов передаем биос патчеру.
Теперь, если сброшен CMOS -> соответствующие биты в CMOS принимают дефолтное значение --> срабатывает откат.