1*ce099b40Smartin /* $NetBSD: video.h,v 1.3 2008/04/28 20:23:27 martin Exp $ */ 292203533Sjmmv /* 392203533Sjmmv * Copyright (c) 2007 The NetBSD Foundation, Inc. 492203533Sjmmv * All rights reserved. 592203533Sjmmv * 692203533Sjmmv * Redistribution and use in source and binary forms, with or without 792203533Sjmmv * modification, are permitted provided that the following conditions 892203533Sjmmv * are met: 992203533Sjmmv * 1. Redistributions of source code must retain the above copyright 1092203533Sjmmv * notice, this list of conditions and the following disclaimer. 1192203533Sjmmv * 2. Redistributions in binary form must reproduce the above copyright 1292203533Sjmmv * notice, this list of conditions and the following disclaimer in the 1392203533Sjmmv * documentation and/or other materials provided with the distribution. 1492203533Sjmmv * 1592203533Sjmmv * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND 1692203533Sjmmv * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 1792203533Sjmmv * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 1892203533Sjmmv * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 1992203533Sjmmv * IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY 2092203533Sjmmv * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2192203533Sjmmv * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 2292203533Sjmmv * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2392203533Sjmmv * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 2492203533Sjmmv * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 2592203533Sjmmv * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 2692203533Sjmmv * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2792203533Sjmmv */ 2892203533Sjmmv 2992203533Sjmmv #ifndef _CPU_VIDEO_H_ 3092203533Sjmmv #define _CPU_VIDEO_H_ 3192203533Sjmmv 328583ef18Sjmmv #include <sys/types.h> 338583ef18Sjmmv 348583ef18Sjmmv struct mac68k_video { 3592203533Sjmmv /* From Booter via locore */ 368583ef18Sjmmv vaddr_t mv_kvaddr; /* Address used in kernel for video */ 378583ef18Sjmmv size_t mv_stride; /* Length of row in video RAM */ 388583ef18Sjmmv size_t mv_depth; /* Number of bits per pixel */ 398583ef18Sjmmv size_t mv_width; /* Framebuffer width */ 408583ef18Sjmmv size_t mv_height; /* Framebuffer height */ 4192203533Sjmmv 4292203533Sjmmv /* 4392203533Sjmmv * Values for IIvx-like internal video 4492203533Sjmmv * -- should be zero if it is not used (usual case). 458583ef18Sjmmv * 468583ef18Sjmmv * XXX This doesn't seem to hold true nowadays. It seems that 478583ef18Sjmmv * these fields are accessed from many places and they are 488583ef18Sjmmv * non-zero of machines with non-internal video. They should also 498583ef18Sjmmv * have better names to clarify, e.g, why we need mv_log and 508583ef18Sjmmv * mv_kvaddr (do we need to have these two?) -- jmmv 20070829 5192203533Sjmmv */ 528583ef18Sjmmv vaddr_t mv_log; /* logical addr */ 538583ef18Sjmmv paddr_t mv_phys; /* physical addr */ 548583ef18Sjmmv size_t mv_len; /* mem length */ 558583ef18Sjmmv }; 568583ef18Sjmmv 578583ef18Sjmmv extern struct mac68k_video mac68k_video; 5892203533Sjmmv 5992203533Sjmmv #endif /* _CPU_VIDEO_H_ */ 60