https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291935
--- Comment #7 from Ahmad Khalifa <[email protected]> --- Created attachment 266658 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=266658&action=edit UGA gfxfb loader patch Hmm, digging deeper into this, there does seem to be some weirdness here. In gfxfb_blt(), we assume that gfx_state.tg_private points to a EFI_GRAPHICS_OUTPUT_PROTOCOL structure (which in UGA's case, it doesn't). At first glance, that looks like it would be problematic, since we try to deference it and call it's Blt() function. However, it looks like both EFI_GRAPHICS_OUTPUT_PROTOCOL and EFI_UGA_DRAW_PROTOCOL have both their Blt functions at the same offset (which is probably why the loader isn't hanging/crashing). I doubt this is intentional though. So it would seem like the problem here is that the MacBook's Blt function just doesn't work. IMO we shouldn't be using the firmware provided Blt functions on UGA platforms at all. The attached patch switches to gfxfb's implementation of these functions if we're on UGA. Could you try and see if that fixes the issue? (this should be applied over the previous patch of course) -- You are receiving this mail because: You are the assignee for the bug.
