freebsd-dev/sys/boot/efi/loader/arch/amd64
Marcel Moolenaar 40ea8e710e As expected, things aren't as simple as hoped. Consequently, we have
no option but to use the smbios information to fill in the blanks.
It's a good thing UGA is a protocol of the past and GOP has all the
info we need.

Anyway, the logic has been tweaked a little to get the easier bits
of information up front. This includes the resolution and the frame
buffer address. Then we look at the smbios information and define
expected values as well as the missing bits (frame buffer offset and
stride). If the values obtained match the expect values, we fill in
the blanks and return. Otherwise we use the existing detection logic
to figure it out.

Rename the environment variables from uga_framebuffer abd uga_stride
to hw.efifb.address and hw.efifb.stride. The latter names are more
in line with other variable names.

We currently have hardcoded settings for:
1.  Mid-2007 iMac (iMac7,1)
2.  Late-2007 MacBook (MacBook3,1)
2015-09-07 17:56:49 +00:00
..
amd64_tramp.S
elf64_freebsd.c
framebuffer.c As expected, things aren't as simple as hoped. Consequently, we have 2015-09-07 17:56:49 +00:00
framebuffer.h
ldscript.amd64
Makefile.inc Only add -fPIC to CFLAGS and -Wl,-znocombreloc to LDFLAGS on x86, they 2015-04-11 10:36:48 +00:00
start.S The self-relocation code is not efi-specific, move it to boot/common. 2015-05-10 13:24:26 +00:00