Fri Aug 7 19:27:54 2009 UTC ()
set device properties for genfb, now wsdisplay attaches successfully
TODO: replace hardcoded values with reality


(macallan)
diff -r1.1 -r1.2 src/sys/arch/evbmips/gdium/autoconf.c

cvs diff -r1.1 -r1.2 src/sys/arch/evbmips/gdium/autoconf.c (expand / switch to unified diff)

--- src/sys/arch/evbmips/gdium/autoconf.c 2009/08/06 00:50:25 1.1
+++ src/sys/arch/evbmips/gdium/autoconf.c 2009/08/07 19:27:54 1.2
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: autoconf.c,v 1.1 2009/08/06 00:50:25 matt Exp $ */ 1/* $NetBSD: autoconf.c,v 1.2 2009/08/07 19:27:54 macallan Exp $ */
2 2
3/* 3/*
4 * Copyright 2002 Wasabi Systems, Inc. 4 * Copyright 2002 Wasabi Systems, Inc.
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * Written by Simon Burge for Wasabi Systems, Inc. 7 * Written by Simon Burge for Wasabi Systems, Inc.
8 * 8 *
9 * Redistribution and use in source and binary forms, with or without 9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions 10 * modification, are permitted provided that the following conditions
11 * are met: 11 * are met:
12 * 1. Redistributions of source code must retain the above copyright 12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer. 13 * notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright 14 * 2. Redistributions in binary form must reproduce the above copyright
@@ -26,27 +26,27 @@ @@ -26,27 +26,27 @@
26 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 26 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
27 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC 28 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC
29 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 29 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 * POSSIBILITY OF SUCH DAMAGE. 35 * POSSIBILITY OF SUCH DAMAGE.
36 */ 36 */
37 37
38#include <sys/cdefs.h> 38#include <sys/cdefs.h>
39__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.1 2009/08/06 00:50:25 matt Exp $"); 39__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.2 2009/08/07 19:27:54 macallan Exp $");
40 40
41#include <sys/param.h> 41#include <sys/param.h>
42#include <sys/systm.h> 42#include <sys/systm.h>
43#include <sys/buf.h> 43#include <sys/buf.h>
44#include <sys/conf.h> 44#include <sys/conf.h>
45#include <sys/device.h> 45#include <sys/device.h>
46#include <sys/cpu.h> 46#include <sys/cpu.h>
47 47
48static void findroot(void); 48static void findroot(void);
49 49
50void 50void
51cpu_configure(void) 51cpu_configure(void)
52{ 52{
@@ -96,17 +96,32 @@ findroot(void) @@ -96,17 +96,32 @@ findroot(void)
96 booted_device = dv; 96 booted_device = dv;
97 97
98 /* 98 /*
99 * XXX Match up MBR boot specification with BSD disklabel for root? 99 * XXX Match up MBR boot specification with BSD disklabel for root?
100 */ 100 */
101 booted_partition = 0; 101 booted_partition = 0;
102 102
103 return; 103 return;
104} 104}
105 105
106void 106void
107device_register(struct device *dev, void *aux) 107device_register(struct device *dev, void *aux)
108{ 108{
 109 prop_dictionary_t dict;
 110
109 if ((booted_device == NULL) && (netboot == 1)) 111 if ((booted_device == NULL) && (netboot == 1))
110 if (device_class(dev) == DV_IFNET) 112 if (device_class(dev) == DV_IFNET)
111 booted_device = dev; 113 booted_device = dev;
 114 if (device_is_a(dev, "genfb")) {
 115 dict = device_properties(dev);
 116 /*
 117 * this is a hack
 118 * is_console and address need to be checked against reality
 119 */
 120 prop_dictionary_set_bool(dict, "is_console", 1);
 121 prop_dictionary_set_uint32(dict, "width", 1024);
 122 prop_dictionary_set_uint32(dict, "height", 600);
 123 prop_dictionary_set_uint32(dict, "depth", 16);
 124 prop_dictionary_set_uint32(dict, "linebytes", 2048);
 125 prop_dictionary_set_uint32(dict, "address", 0x04000000);
 126 }
112} 127}