Bug 81360 - [patch] generic bios_string for GPIO/watchdog on Soekris/PCEngines/Advantech
Summary: [patch] generic bios_string for GPIO/watchdog on Soekris/PCEngines/Advantech
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 5.4-STABLE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-22 15:00 UTC by Adrian Steinmann
Modified: 2005-07-21 10:49 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adrian Steinmann 2005-05-22 15:00:23 UTC
	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.

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>
How-To-Repeat: 	boot kernel with options CPU_SOEKRIS and options CPU_GEODE
	on PC Engines platforms
Comment 1 Poul-Henning Kamp freebsd_committer freebsd_triage 2005-07-21 10:48:47 UTC
State Changed
From-To: open->closed

Committed with minor changes.