Long-term, I think changes to the VBIOS is something that the atv-bootloader should do instead of adding a quirk to the linux driver. It should also be copying the VBIOS to the traditional address as well. I read on the atv-bootlaoder blog that Scott has hacked the code to do this. I'm trying to recreate that functionality but am having trouble understanding how to change the E820 map to reserve the VBIOS & VRAM address spaces against use by the kernel.
the attached files might help :) I attempted this many years ago and got stalled in real-mode. To init vbios, you have to be in real-mode, so you have to swap to it, then swap back.
If I could get that VBIOS copied, I'm thinking of then running "vbetool post" from ramboot-linux ("penbuntu") to initialize the card and then kexec'ing into the ubuntu kernel in pure text mode (vgacon driver). I think this would allow one to change resolution of nouveau's console framebuffer using fbset, currently the console works but the mode cannot be adjusted. X11 mode setting does currently work using the xrandr command, but it seems to be based on scaling, the TV's mode does not actually change. Down the road, POSTing the VBIOS straight from atv-bootlaoder using v86 mode would be even better, but I'm still getting my feet wet with real-mode stuff. I'm contemplating porting coreboot if I get a spare ATV on the cheap, rending these hacks useless :-). The EEPROM can be reflashed with a $30 Bus Pirate and coreboot has been ported to the Pentium-M, i945, ICH7 combo before.If you have any questions on the 3.5 install, fire away. I haven't made a tutorial yet but I might if enough are interested. I'd also appreciate any hints on extending the bootloader.-joey
I have the complete compiling code for vgabios too. Maybe I should push that to a dev-tag.
-- To post to this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/atv-bootloader?hl=en
elilo_code.c
Description: Binary data
linux_code.c
Description: Binary data
