Hi, > > Yes, efifb has the same semantics. We just need some ID with clear > > documentation saying sth like "implies framebuffer without > > anything else" so that noone will get an idea to plug e.g. vga > > hooks into it. > > > > Want to make a patch?
Attached. Can someone test with the patched coreboot trampoline please? cheers, Gerd
>From cadf8315cb5d76a89a1b84e7ea22565f6b1945dc Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann <kra...@redhat.com> Date: Tue, 9 Sep 2014 08:10:09 +0200 Subject: [PATCH] Add VIDEO_TYPE_LINEAR Add VIDEO_TYPE_LINEAR for a simple linear framebuffer, initialized by the firmware (for example coreboot). Needs CONFIG_X86_SYSFB=y and CONFIG_FB_SIMPLE=y to work. Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- arch/x86/kernel/sysfb_simplefb.c | 4 +++- include/uapi/linux/screen_info.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/sysfb_simplefb.c b/arch/x86/kernel/sysfb_simplefb.c index 86179d4..0742c82 100644 --- a/arch/x86/kernel/sysfb_simplefb.c +++ b/arch/x86/kernel/sysfb_simplefb.c @@ -36,7 +36,9 @@ __init bool parse_mode(const struct screen_info *si, unsigned int i; type = si->orig_video_isVGA; - if (type != VIDEO_TYPE_VLFB && type != VIDEO_TYPE_EFI) + if (type != VIDEO_TYPE_VLFB && + type != VIDEO_TYPE_EFI && + type != VIDEO_TYPE_LINEAR) return false; for (i = 0; i < ARRAY_SIZE(formats); ++i) { diff --git a/include/uapi/linux/screen_info.h b/include/uapi/linux/screen_info.h index 7530e74..d27126d 100644 --- a/include/uapi/linux/screen_info.h +++ b/include/uapi/linux/screen_info.h @@ -66,6 +66,8 @@ struct screen_info { #define VIDEO_TYPE_EFI 0x70 /* EFI graphic mode */ +#define VIDEO_TYPE_LINEAR 0x80 /* simple linear framebuffer */ + #define VIDEO_FLAGS_NOCURSOR (1 << 0) /* The video mode has no cursor set */ #define VIDEO_CAPABILITY_SKIP_QUIRKS (1 << 0) -- 1.8.3.1