Wednesday 28 December 2016

Not Y2 1K Compatible!

Not Y2 1K Compatible!


I was working on a tool today to assist in reverse engineering the internal forms representation used in EFIs human interface infrastructure. This is the protocol that modern BIOS utilize to create things like the setup utilitys menu. So while I was working on dumping the info relating to the date and time operations in the setup utility , I noticed that the year in my BIOS cant be set any higher than 2099. Thats not Y2.1K compatible!

Heres some pictures just to make this interesting. Heres the EFI_IFR_DATE structure in my setup utility that accepts the year as an input. Ive circled the max input value.


And heres the output from the program Im working on that dumps the setup into a human readable format.


Luckily we can just change the years maximum accepted value to some future date so we can put off finding a real solution for it. How about 2999? People will probably of figure out a way to fix this problem by then. Y3K!

Available link for download