xref: /netbsd-src/sys/arch/mac68k/include/video.h (revision ce099b40997c43048fb78bd578195f81d2456523)
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