[LinuxBIOS] patch: alix1c support for v3
Uwe Hermann
uwe at hermann-uwe.de
Mon Nov 26 00:23:12 CET 2007
On Sun, Nov 25, 2007 at 12:45:29PM -0800, ron minnich wrote:
> This builds.
Not yet:
HOSTCC build/util/kconfig/zconf.tab.o
HOSTCC build/util/kconfig/mconf
mainboard/Kconfig:61: can't open file "mainboard/pcengines/Kconfig"
make: *** [menuconfig] Error 1
The fix should be easy though. You probably forgot to 'svn add' the
Kconfig file mainboard/pcengines/Kconfig.
Please repost the full patch.
> It also includes some additional posts for geode setup which ought to be useful.
This is unrelated and should probably be in an extra patch.
> Index: mainboard/Kconfig
> ===================================================================
> --- mainboard/Kconfig (revision 518)
> +++ mainboard/Kconfig (working copy)
> @@ -47,12 +47,18 @@
> help
> Select this option for various system emulators, such as QEMU.
>
> +config VENDOR_PCENGINES
> + bool "PC Engines"
> + help
> + Select this option for PC Engines systems
Add a full stop to the help text, please.
> +
> endchoice
>
> source "mainboard/adl/Kconfig"
> source "mainboard/amd/Kconfig"
> source "mainboard/artecgroup/Kconfig"
> source "mainboard/emulation/Kconfig"
> +source "mainboard/pcengines/Kconfig"
>
> choice
> prompt "ROM chip size"
> Index: mainboard/pcengines/alix1c/Kconfig
> ===================================================================
> --- mainboard/pcengines/alix1c/Kconfig (revision 0)
> +++ mainboard/pcengines/alix1c/Kconfig (revision 0)
> @@ -0,0 +1,46 @@
> +##
> +## This file is part of the LinuxBIOS project.
> +##
> +## Copyright (C) 2007 coresystems GmbH
> +## (Written by Stefan Reinauer <stepan at coresystems.de> for coresystems GmbH)
Ron Minnich?
> +##
> +## This program is free software; you can redistribute it and/or modify
> +## it under the terms of the GNU General Public License as published by
> +## the Free Software Foundation; either version 2 of the License, or
> +## (at your option) any later version.
> +##
> +## This program is distributed in the hope that it will be useful,
> +## but WITHOUT ANY WARRANTY; without even the implied warranty of
> +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> +## GNU General Public License for more details.
> +##
> +## You should have received a copy of the GNU General Public License
> +## along with this program; if not, write to the Free Software
> +## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> +##
> +
> +config MAINBOARD_NAME
> + string
> + default pcengines/alix1c
> + depends BOARD_PCENGINES_ALIX1C
> + help
> + This is the default mainboard name.
> +
> +config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
> + hex
> + # TODO: Fix PCI ID.
> + # PC Engines has no PCI vendor ID. Now what?
Good point. I think we need to improve this in LinuxBIOS anyway.
In v2 we currently have only one such ID in Options.lb which is then
used for _all_ devices in the system (if it's used at all).
The correct thing would be to allow an override of the ID for each
PCI device, per-board (via entries in the dts, IMHO).
> + default 0x1022
> + depends BOARD_AMD_NORWICH
> + help
> + Mainboard specific PCI subsystem vendor ID.
> +
> +config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
> + hex
> + # TODO: Fix PCI ID.
> + # PC Engines has no PCI vendor ID. Now what?
> + default 0x2323
> + depends BOARD_AMD_NORWICH
> + help
> + Mainboard specific PCI subsystem device ID.
For now I'd say just drop the entries here, the code checks via #ifdef
if they're defined and does nothing if they're not...
> +int main(void)
> +{
> + u8 smb_devices[] = {
> + DIMM0, DIMM1
> + };
> +
> + post_code(POST_START_OF_MAIN);
POST_START_OF_MAIN, and...
> +void hardware_stage1(void)
> +{
> + post_code(POST_START_OF_MAIN);
... POST_START_OF_MAIN again.
Shouldn't those be different?
> +/{
> + enabled;
> + mainboard-vendor = "PC Engines";
> + mainboard-name = "Alix 1C";
ALIX1.C
> Index: mainboard/pcengines/alix1c/cmos.layout
> ===================================================================
> --- mainboard/pcengines/alix1c/cmos.layout (revision 0)
> +++ mainboard/pcengines/alix1c/cmos.layout (revision 0)
Add the common license header to this file, please.
> Index: arch/x86/geodelx/stage0.S
> ===================================================================
> --- arch/x86/geodelx/stage0.S (revision 518)
> +++ arch/x86/geodelx/stage0.S (working copy)
> @@ -183,6 +183,7 @@
> movw %ax, %fs
> movw %ax, %gs
>
> + port80_post(0x02)
Please don't hardcode POST codes, add them aѕ #defines in post_code.h
and document them (i.e. in which situation it is supposed to be used).
> @@ -364,6 +379,8 @@
> outb %al, $0x80
>
> DCacheSetupBad:
> + movb $0xFF, %al
> + outb %al, $0x80
Why this?
Uwe.
--
http://www.hermann-uwe.de | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
More information about the coreboot
mailing list