A. S. Eisenhart - 2014-03-13

OpenRadeonBIOS

1. How to build

look at readme.txt
https://sourceforge.net/p/openradeonbios/code/ci/master/tree/readme.txt

2. How it works

The GPU initialization is in function InitRadeon in source file radeon.c
Different atom pseudo code from atom bios command tables is executed during init. Command and data tables are dumped from original video bios.

3. Wich cards are supported

OpenRadeonBios is for AtomBios-based(r4xx-r1xxx and newer) AMD Radeon grafics cards. At the moment only implemented and tested on AMD hd5450. Only VGA connector is activated during boot. OS driver detects the other connected displays. Only OSS drivers work on pre HD7xxx cards due digest check in driver.

3. How to addapt to other cards

Command table code is executed to init the card.
Before the execution a parameter struct must be filled.
Look at ASIC_Init().
struct _ATOM_FIRMWARE_INFO_V2_1* pFirmwareInfoPtr is filled.
If your video bios has a version e.g. 1.3 of FirmwareInfo table change it to _ATOM_FIRMWARE_INFO_V1_3.
May be some code must be changed.
Command tables, data tables, versions and other information can be dumped using AtomDis from
http://cgit.freedesktop.org/~mhopf/AtomDis/

Ask if there are questions.

4.How to use

You can flash it on your own risk to your card.
You can also use qemu
qemu-kvm -enable-kvm -vga none -device vfio-pci,x-vga=on,host=1:00.0,romfile=vgabios.rom
You should see a seabios boot screen.
Look also at readme.txt

 

Last edit: A. S. Eisenhart 2014-03-13