summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
diff options
context:
space:
mode:
authorJoshua Stein <jcs@cvs.openbsd.org>2018-04-27 21:36:13 +0000
committerJoshua Stein <jcs@cvs.openbsd.org>2018-04-27 21:36:13 +0000
commitd8f64152dfaaddf25de9dca020b84c322b874855 (patch)
treedd5c53d4a83bef65dabf710495532dca0aec1bbc /sys/arch/amd64
parenta0d21cd0e540e643e7252beb7186922fdb28785e (diff)
rasops: implement scrollback
activate it for efifb and inteldrm ok kettenis
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r--sys/arch/amd64/amd64/efifb.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/sys/arch/amd64/amd64/efifb.c b/sys/arch/amd64/amd64/efifb.c
index 0343f18445b..e3dc22abfe2 100644
--- a/sys/arch/amd64/amd64/efifb.c
+++ b/sys/arch/amd64/amd64/efifb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: efifb.c,v 1.15 2018/04/25 00:46:28 jsg Exp $ */
+/* $OpenBSD: efifb.c,v 1.16 2018/04/27 21:36:12 jcs Exp $ */
/*
* Copyright (c) 2015 YASUOKA Masahiko <yasuoka@yasuoka.net>
@@ -101,6 +101,7 @@ int efifb_show_screen(void *, void *, int, void (*cb) (void *, int, int),
void *);
int efifb_list_font(void *, struct wsdisplay_font *);
int efifb_load_font(void *, void *, struct wsdisplay_font *);
+void efifb_scrollback(void *, void *, int lines);
void efifb_efiinfo_init(struct efifb *);
void efifb_cnattach_common(void);
@@ -133,7 +134,8 @@ struct wsdisplay_accessops efifb_accessops = {
.free_screen = efifb_free_screen,
.show_screen = efifb_show_screen,
.load_font = efifb_load_font,
- .list_font = efifb_list_font
+ .list_font = efifb_list_font,
+ .scrollback = efifb_scrollback,
};
struct cfdriver efifb_cd = {
@@ -399,6 +401,15 @@ efifb_list_font(void *v, struct wsdisplay_font *font)
return (rasops_list_font(ri, font));
}
+void
+efifb_scrollback(void *v, void *cookie, int lines)
+{
+ struct efifb_softc *sc = v;
+ struct rasops_info *ri = &sc->sc_fb->rinfo;
+
+ rasops_scrollback(ri, cookie, lines);
+}
+
int
efifb_cnattach(void)
{