Date: Sun, 22 May 2005 15:48:25 +0200 (CEST) From: Adrian Steinmann <ast@marabu.ch> To: FreeBSD-gnats-submit@FreeBSD.org Cc: phk@FreeBSD.org Subject: kern/81360: [patch] generic bios_string for GPIO/watchdog on Soekris/PCEngines/Advantech Message-ID: <200505221348.j4MDmPXi014805@pano.marabu.ch> Resent-Message-ID: <200505221400.j4ME0OrA003629@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 81360 >Category: kern >Synopsis: [patch] generic bios_string for GPIO/watchdog on Soekris/PCEngines/Advantech >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun May 22 14:00:23 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Adrian Steinmann >Release: FreeBSD 5.4-STABLE i386 >Organization: Webgroup Consulting AG >Environment: System: FreeBSD pano.marabu.ch 5.4-STABLE FreeBSD 5.4-STABLE #1: Sun May 8 10:51:49 CEST 2005 root@pano.marabu.ch:/r/usr/obj/usr/src/sys/PANO i386 Tested on platforms which use the Geode or Elan processors; i.e.: Soekris net45xx and net4801 platforms Advantech PCM-582x platforms PC Engines WRAP >Description: i386/geode.c wasn't finding the PC Engines signature, the second argument needs to be > 0xf9000 in the call: bios_string(0xf9000, 0xf9000, "PC Engines WRAP.1C ", 0) Fixing this, I found it to be nice for bios_string to work more generically to find other info in the BIOS OEM area. As another side effect, watchdog() is now supported on Advantech boxes when options CPU_GEODE is specified in the kernel config. >How-To-Repeat: boot kernel with options CPU_SOEKRIS and options CPU_GEODE on PC Engines platforms >Fix: The patches (files.i386 too different in RELENG_5/HEAD) at http://webgroup.ch/FreeBSD/bios_oem_strings.patch_HEAD http://webgroup.ch/FreeBSD/bios_oem_strings.patch_RELENG_5 now positively identify specific CPU_GEODE and CPU_ELAN platforms, i.e.: Elan-mmcr Soekris net45xx comBIOS ver. 1.26a 20040819 Copyright (C) 2000-2004 Geode Soekris net4801 comBIOS ver. 1.27a 20041206 Copyright (C) 2000-2004 Geode PCM-5823 BIOS V1.12 (08/12/2002) 06/07/2002-GXm-Cx5530-2A434AKCC-00 Geode PC Engines WRAP.1C v1.03 tinyBIOS V1.4a (C)1997-2003 These dmesg strings are emitted at boot time and are also used in i386/geode.c and i386/elan-mmcr.c for controlling the logic of GPIO device configuration. The undocumented bios_string() is replaced by a more generic bios_oem_strings(9) routine, now documented in bios(9). As a side effect, watchdog(8) is now easily supported on Advantech PCM-582x platforms when options CPU_GEODE is specified in the kernel config. PS. There was a recent thread on this in -hackers starting at Message-ID: <17037.14274.229768.369886@zaphod.home.loc> >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200505221348.j4MDmPXi014805>