I had a similar issue when attempting to boot on an 2011 iMac with a
radeon card. I did track down the location of the bug, but I didn't get
around to reporting it.

As far as I can tell the problem is this line (243, in -current) in 
dev/pci/drm/radeon/radeon_bios.c, in the function radeon_read_bios:

#else
        bios = (u8 *)ISA_HOLE_VADDR(0xc0000);
#endif

It makes the assumption that the system firmware has mapped the graphics
card ROM at 0xC0000. This works fine on most computers if legacy BIOS
compatiblity is enabled, but breaks on (U)EFI systems which have it 
disabled or unavailable. Apple hardware for instance, if booted in EFI
mode, don't map anything to 0xC0000 and make no attempt to have legacy
BIOS compatibility unless specifically told to boot a legacy bootsector.

I worked around it on that iMac by doing an MBR installation rather than
EFI/GPT. On other hardware, I'd recommend going into your BIOS settings
and ensuring that Legacy BIOS/CSM compatibility is enabled, and it isn't
set to UEFI-only.

A robust fix would have the radeon_get_bios map the ROM into memory
itself instead of relying on the firmware to do it. This is how the
linux code (line 208) works.

Cheers,
Joe

Reply via email to