Date: Thu, 12 Nov 2009 11:09:12 -0500 From: Mike Tancsa <mike@sentex.net> To: freebsd-stable@freebsd.org Subject: Re: 8.0-rc2 dropped hardsupport Message-ID: <200911121609.nACG9Eme037736@lava.sentex.ca> In-Reply-To: <20091112160128.GA24144@icarus.home.lan> References: <1258035998.4826.1.camel@mvn-desktop> <200911121035.17514.jhb@freebsd.org> <20091112160128.GA24144@icarus.home.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
At 11:01 AM 11/12/2009, Jeremy Chadwick wrote: >On Thu, Nov 12, 2009 at 10:35:17AM -0500, John Baldwin wrote: > > On Thursday 12 November 2009 9:26:38 am Marten Vijn wrote: > > > Support for the following devices seems not to be continued in 8.0 (and > > > 7.2 and higher): > > > > > > - WRAP 1C > > > - WRAP 2E (EOL) > > > - ALIX 1C > > > > > > Both devices stopped booting as described in several postings and pr's. >WRAP series: http://www.pcengines.ch/wrap.htm >ALIX series: http://www.pcengines.ch/alix.htm > Not sure about the older WRAP boards, but the current Alix boxes work very well with RELENG_7 and RELENG_8. There is a patch however for RELENG_7 that never got MFC'd for some reason that I use as well. Phk ? ---Mike --- sys/i386/i386/geode.c 2007-09-18 05:19:44.000000000 -0400 +++ sys/i386/i386/geode.c.good 2008-09-12 17:13:18.000000000 -0400 @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/i386/i386/geode.c,v 1.10 2007/09/18 09:19:44 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/geode.c,v 1.11 2008/02/10 19:14:42 phk Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -40,41 +40,50 @@ #include <machine/pc/bios.h> static struct bios_oem bios_soekris = { - { 0xf0000, 0xf1000 }, - { - { "Soekris", 0, 8 }, /* Soekris Engineering. */ - { "net4", 0, 8 }, /* net45xx */ - { "comBIOS", 0, 54 }, /* comBIOS ver. 1.26a 20040819 ... */ - { NULL, 0, 0 }, - } + { 0xf0000, 0xf1000 }, + { + { "Soekris", 0, 8 }, /* Soekris Engineering. */ + { "net4", 0, 8 }, /* net45xx */ + { "comBIOS", 0, 54 }, /* comBIOS ver. 1.26a 20040819 ... */ + { NULL, 0, 0 }, + } }; static struct bios_oem bios_soekris_55 = { - { 0xf0000, 0xf1000 }, - { - { "Soekris", 0, 8 }, /* Soekris Engineering. */ - { "net5", 0, 8 }, /* net5xxx */ - { "comBIOS", 0, 54 }, /* comBIOS ver. 1.26a 20040819 ... */ - { NULL, 0, 0 }, - } + { 0xf0000, 0xf1000 }, + { + { "Soekris", 0, 8 }, /* Soekris Engineering. */ + { "net5", 0, 8 }, /* net5xxx */ + { "comBIOS", 0, 54 }, /* comBIOS ver. 1.26a 20040819 ... */ + { NULL, 0, 0 }, + } }; static struct bios_oem bios_pcengines = { - { 0xf9000, 0xfa000 }, - { - { "PC Engines WRAP", 0, 28 }, /* PC Engines WRAP.1C v1.03 */ - { "tinyBIOS", 0, 28 }, /* tinyBIOS V1.4a (C)1997-2003 */ - { NULL, 0, 0 }, - } + { 0xf9000, 0xfa000 }, + { + { "PC Engines WRAP", 0, 28 }, /* PC Engines WRAP.1C v1.03 */ + { "tinyBIOS", 0, 28 }, /* tinyBIOS V1.4a (C)1997-2003 */ + { NULL, 0, 0 }, + } +}; + +static struct bios_oem bios_pcengines_55 = { + { 0xf9000, 0xfa000 }, + { + { "PC Engines ALIX", 0, 28 }, /* PC Engines ALIX */ + { "tinyBIOS", 0, 28 }, /* tinyBIOS V1.4a (C)1997-2005 */ + { NULL, 0, 0 }, + } }; static struct bios_oem bios_advantech = { - { 0xfe000, 0xff000 }, - { - { "**** PCM-582", 5, 33 }, /* PCM-5823 BIOS V1.12 ... */ - { "GXm-Cx5530", -11, 35 }, /* 06/07/2002-GXm-Cx5530... */ - { NULL, 0, 0 }, - } + { 0xfe000, 0xff000 }, + { + { "**** PCM-582", 5, 33 }, /* PCM-5823 BIOS V1.12 ... */ + { "GXm-Cx5530", -11, 35 }, /* 06/07/2002-GXm-Cx5530... */ + { NULL, 0, 0 }, + } }; static unsigned cba; @@ -117,6 +126,11 @@ } a = rdmsr(0x5140000c); + if (bit >= 16) { + a += 0x80; + bit -= 16; + } + if (onoff) outl(a, 1 << bit); else @@ -256,11 +270,13 @@ * by the bios, see p161 in data sheet. */ cba = pci_read_config(self, 0x64, 4); - printf("Geode CBA@ 0x%x\n", cba); + if (bootverbose) + printf("Geode CBA@ 0x%x\n", cba); geode_counter = cba + 0x08; outl(cba + 0x0d, 2); - printf("Geode rev: %02x %02x\n", - inb(cba + 0x3c), inb(cba + 0x3d)); + if (bootverbose) + printf("Geode rev: %02x %02x\n", + inb(cba + 0x3c), inb(cba + 0x3d)); tc_init(&geode_timecounter); EVENTHANDLER_REGISTER(watchdog_list, geode_watchdog, NULL, 0); @@ -270,13 +286,14 @@ case 0x0510100b: gpio = pci_read_config(self, PCIR_BAR(0), 4); gpio &= ~0x1f; - printf("Geode GPIO@ = %x\n", gpio); - if ( bios_oem_strings(&bios_soekris, - bios_oem, BIOS_OEM_MAXLEN) > 0 ) { + if (bootverbose) + printf("Geode GPIO@ = %x\n", gpio); + if (bios_oem_strings(&bios_soekris, + bios_oem, sizeof bios_oem) > 0 ) { led1b = 20; led1 = led_create(led_func, &led1b, "error"); - } else if ( bios_oem_strings(&bios_pcengines, - bios_oem, BIOS_OEM_MAXLEN) > 0 ) { + } else if (bios_oem_strings(&bios_pcengines, + bios_oem, sizeof bios_oem) > 0 ) { led1b = -2; led2b = -3; led3b = -18; @@ -289,27 +306,41 @@ */ led_func(&led1b, 1); } - if ( strlen(bios_oem) ) + if (*bios_oem) printf("Geode %s\n", bios_oem); break; case 0x01011078: - if ( bios_oem_strings(&bios_advantech, - bios_oem, BIOS_OEM_MAXLEN) > 0 ) { + if (bios_oem_strings(&bios_advantech, + bios_oem, sizeof bios_oem) > 0 ) { printf("Geode %s\n", bios_oem); EVENTHANDLER_REGISTER(watchdog_list, advantech_watchdog, NULL, 0); } break; case 0x20801022: - if ( bios_oem_strings(&bios_soekris_55, - bios_oem, BIOS_OEM_MAXLEN) > 0 ) { - printf("Geode LX: %s\n", bios_oem); + if (bios_oem_strings(&bios_soekris_55, + bios_oem, sizeof bios_oem) > 0 ) { led1b = 6; led1 = led_create(cs5536_led_func, &led1b, "error"); + } else if (bios_oem_strings(&bios_pcengines_55, + bios_oem, sizeof bios_oem) > 0 ) { + led1b = -6; + led2b = -25; + led3b = -27; + led1 = led_create(cs5536_led_func, &led1b, "led1"); + led2 = led_create(cs5536_led_func, &led2b, "led2"); + led3 = led_create(cs5536_led_func, &led3b, "led3"); + /* + * Turn on first LED so we don't make + * people think their box just died. + */ + cs5536_led_func(&led1b, 1); } - printf("MFGPT bar: %jx\n", rdmsr(0x5140000d)); - EVENTHANDLER_REGISTER(watchdog_list, cs5536_watchdog, - NULL, 0); + if (*bios_oem) + printf("Geode LX: %s\n", bios_oem); + if (bootverbose) + printf("MFGPT bar: %jx\n", rdmsr(0x5140000d)); + EVENTHANDLER_REGISTER(watchdog_list, cs5536_watchdog, NULL, 0); break; } return (ENXIO); ---Mike -------------------------------------------------------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike@sentex.net Providing Internet since 1994 www.sentex.net Cambridge, Ontario Canada www.sentex.net/mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911121609.nACG9Eme037736>