From owner-svn-src-head@FreeBSD.ORG Mon Jan 5 00:50:18 2015 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 95D9B65C; Mon, 5 Jan 2015 00:50:18 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 771D13154; Mon, 5 Jan 2015 00:50:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t050oIH1064806; Mon, 5 Jan 2015 00:50:18 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t050oHCU064802; Mon, 5 Jan 2015 00:50:17 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201501050050.t050oHCU064802@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Mon, 5 Jan 2015 00:50:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r276679 - in head/sys: dev/vt/hw/fb powerpc/ps3 sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jan 2015 00:50:18 -0000 Author: nwhitehorn Date: Mon Jan 5 00:50:16 2015 New Revision: 276679 URL: https://svnweb.freebsd.org/changeset/base/276679 Log: Make PS3 work with the userspace kboot loader. loader.ps3 will disappear from the tree in the near future. Done at: Hackathon Modified: head/sys/dev/vt/hw/fb/vt_fb.c head/sys/powerpc/ps3/ps3_syscons.c head/sys/sys/fbio.h Modified: head/sys/dev/vt/hw/fb/vt_fb.c ============================================================================== --- head/sys/dev/vt/hw/fb/vt_fb.c Mon Jan 5 00:15:27 2015 (r276678) +++ head/sys/dev/vt/hw/fb/vt_fb.c Mon Jan 5 00:50:16 2015 (r276679) @@ -154,6 +154,9 @@ vt_fb_setpixel(struct vt_device *vd, int c = info->fb_cmap[color]; o = info->fb_stride * y + x * FBTYPE_GET_BYTESPP(info); + if (info->fb_flags & FB_FLAG_NOWRITE) + return; + KASSERT((info->fb_vbase != 0), ("Unmapped framebuffer")); switch (FBTYPE_GET_BYTESPP(info)) { @@ -205,6 +208,9 @@ vt_fb_blank(struct vt_device *vd, term_c info = vd->vd_softc; c = info->fb_cmap[color]; + if (info->fb_flags & FB_FLAG_NOWRITE) + return; + KASSERT((info->fb_vbase != 0), ("Unmapped framebuffer")); switch (FBTYPE_GET_BYTESPP(info)) { @@ -260,6 +266,9 @@ vt_fb_bitblt_bitmap(struct vt_device *vd b = m = 0; bpl = (width + 7) >> 3; /* Bytes per source line. */ + if (info->fb_flags & FB_FLAG_NOWRITE) + return; + KASSERT((info->fb_vbase != 0), ("Unmapped framebuffer")); line = (info->fb_stride * y) + (x * bpp); Modified: head/sys/powerpc/ps3/ps3_syscons.c ============================================================================== --- head/sys/powerpc/ps3/ps3_syscons.c Mon Jan 5 00:15:27 2015 (r276678) +++ head/sys/powerpc/ps3/ps3_syscons.c Mon Jan 5 00:50:16 2015 (r276679) @@ -155,7 +155,8 @@ ps3fb_remap(void) sc->fb_info.fb_pbase = fb_paddr; for (va = 0; va < PS3FB_SIZE; va += PAGE_SIZE) pmap_kenter_attr(0x10000000 + va, fb_paddr + va, - VM_MEMATTR_WRITE_COMBINING); + VM_MEMATTR_WRITE_COMBINING); + sc->fb_info.fb_flags &= ~FB_FLAG_NOWRITE; } static int @@ -175,10 +176,12 @@ ps3fb_init(struct vt_device *vd) sc->fb_info.fb_bpp = sc->fb_info.fb_stride / sc->fb_info.fb_width * 8; /* - * The loader puts the FB at 0x10000000, so use that for now. + * Arbitrarily choose address for the framebuffer */ sc->fb_info.fb_vbase = 0x10000000; + sc->fb_info.fb_flags |= FB_FLAG_NOWRITE; /* Not available yet */ + sc->fb_info.fb_cmsize = 16; /* 32-bit VGA palette */ vt_generate_cons_palette(sc->fb_info.fb_cmap, COLOR_FORMAT_RGB, Modified: head/sys/sys/fbio.h ============================================================================== --- head/sys/sys/fbio.h Mon Jan 5 00:15:27 2015 (r276678) +++ head/sys/sys/fbio.h Mon Jan 5 00:50:16 2015 (r276679) @@ -135,9 +135,10 @@ struct fb_info { void *fb_priv; /* First argument for read/write. */ const char *fb_name; uint32_t fb_flags; +#define FB_FLAG_NOMMAP 1 /* mmap unsupported. */ +#define FB_FLAG_NOWRITE 2 /* disable writes for the time being */ int fb_stride; int fb_bpp; /* bits per pixel */ -#define FB_FLAG_NOMMAP 1 /* mmap unsupported. */ uint32_t fb_cmap[16]; };