I posted this already in feature requests, which probably wasn't the right place. Hopefully no one gets mad.
I found something that this guy called TRAC added back in 2006 that fixed it in boot-132, so I tried it. Undid the comment out on generateCRTCTimings, and added this:
__asm__("movl %cr4,%eax \n"
"orl $1536,%eax \n"
"movl %eax,%cr4 \n");
right after this:
if ( (vesaVersion >> 8) >= 3 && refreshRate >= 60 &&
(gBootMode & kBootModeSafe) == 0 )
{
VBECRTCInfoBlock timing;
So first I just un commented out generateCRTCTimings, and then sure enough I would get a crash/reboot if I tried to set a refresh rate. Then I added the code above, and it didn't crash anymore, but the refresh rate was still 60 no matter what I specified.