Submitter | ron minnich |
---|---|
Date | 2009-08-28 14:51:42 |
Message ID | <13426df10908280751w6fc8ebbav3aad578c4b384a0e@mail.gmail.com> |
Download | mbox | patch |
Permalink | /patch/225/ |
State | Accepted |
Headers | show |
Comments
Acked-by: Myles Watson <mylesgw@gmail.com> > Remaining problem: in src/arch/i386/Kconfig, I define AP_IN_SIPI_WAIT. But > in .config, I get: > #CONFIG_AP_IN_SIPI_WAIT is not set > Clearly I have more to learn about Kconfig. I want it so that if the > mainboard Kconfig does not select it, it comes up as 'n'. I think it's working like you want it to. If it was not defined it wouldn't appear in .config. $ grep CONFIG_AP .config # CONFIG_AP_IN_SIPI_WAIT is not set $ grep -Ir SIPI build/ build/coreboot.map:00000000 A CONFIG_AP_IN_SIPI_WAIT build/ldoptions:CONFIG_AP_IN_SIPI_WAIT = 0; build/auto.conf:CONFIG_AP_IN_SIPI_WAIT=n build/config.h:#define CONFIG_AP_IN_SIPI_WAIT 0 build/coreboot_ram.map:00000000 A CONFIG_AP_IN_SIPI_WAIT Thanks, Myles
On Fri, Aug 28, 2009 at 07:51:42AM -0700, ron minnich wrote: > Index: src/cpu/x86/tsc/Makefile.inc > =================================================================== > --- src/cpu/x86/tsc/Makefile.inc (revision 4607) > +++ src/cpu/x86/tsc/Makefile.inc (working copy) > @@ -1,7 +1,2 @@ > obj-y += delay_tsc.o > > -# default CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2=0 > -# if CONFIG_UDELAY_TSC > -# default CONFIG_HAVE_INIT_TIMER=1 > -# object delay_tsc.o > -# end This looks strange. You use "select UDELAY_TSC" below, but that is never defined anywhere, and also not used here? > Index: src/mainboard/amd/rumba/Kconfig > =================================================================== > --- src/mainboard/amd/rumba/Kconfig (revision 0) > +++ src/mainboard/amd/rumba/Kconfig (revision 0) > @@ -0,0 +1,62 @@ [...] > +config BOARD_AMD_RUMBA > + bool "Rumba" > + select ARCH_X86 > + select CPU_AMD_GX2 > + select NORTHBRIDGE_AMD_GX2 > + select SOUTHBRIDGE_AMD_CS5536 > + select UDELAY_TSC > + select HAVE_PIRQ_TABLE > + help > + AMD Rumba mainboard. [...] > +config TSC_X86RDTSC_CALIBRATE_WITH_TIMER2 > + int > + default 0 > + depends on BOARD_AMD_RUMBA Same as UDELAY_TSC, never defined? > Index: src/mainboard/amd/rumba/Makefile.inc > =================================================================== > --- src/mainboard/amd/rumba/Makefile.inc (revision 0) > +++ src/mainboard/amd/rumba/Makefile.inc (revision 0) > @@ -0,0 +1 @@ > +include $(src)/mainboard/Makefile.romccboard.inc We'll have to check if this works. From a quick glance the Rumba does not have the mmx related lines (which _are_ in Makefile.romccboard.inc, though): crt0-y += ../../../../src/cpu/x86/fpu/enable_fpu.inc crt0-y += ../../../../src/cpu/x86/mmx/enable_mmx.inc crt0-y += auto.inc crt0-y += ../../../../src/cpu/x86/mmx/disable_mmx.inc Rumba only has: mainboardinit cpu/x86/fpu/enable_fpu.inc mainboardinit ./auto.inc It's not a big deal to adapt Makefile.romccboard.inc to handle both cases, but it would be good to know if those mmx lines are actually needed in general (and on GX2 specifically). Uwe.
On Fri, Aug 28, 2009 at 10:09 AM, Uwe Hermann<uwe@hermann-uwe.de> wrote: > On Fri, Aug 28, 2009 at 07:51:42AM -0700, ron minnich wrote: >> Index: src/cpu/x86/tsc/Makefile.inc >> =================================================================== >> --- src/cpu/x86/tsc/Makefile.inc (revision 4607) >> +++ src/cpu/x86/tsc/Makefile.inc (working copy) >> @@ -1,7 +1,2 @@ >> obj-y += delay_tsc.o >> >> -# default CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2=0 >> -# if CONFIG_UDELAY_TSC >> -# default CONFIG_HAVE_INIT_TIMER=1 >> -# object delay_tsc.o >> -# end > > This looks strange. You use "select UDELAY_TSC" below, but that is never > defined anywhere, and also not used here? We should define this in either src/cpu/x86/Kconfig or src/cpu/x86/tsc/Kconfig. I vote for src/cpu/x86/Kconfig because the src/cpu/x86 directory is really way too fragmented already. > > >> Index: src/mainboard/amd/rumba/Kconfig >> =================================================================== >> --- src/mainboard/amd/rumba/Kconfig (revision 0) >> +++ src/mainboard/amd/rumba/Kconfig (revision 0) >> @@ -0,0 +1,62 @@ > [...] >> +config BOARD_AMD_RUMBA >> + bool "Rumba" >> + select ARCH_X86 >> + select CPU_AMD_GX2 >> + select NORTHBRIDGE_AMD_GX2 >> + select SOUTHBRIDGE_AMD_CS5536 >> + select UDELAY_TSC >> + select HAVE_PIRQ_TABLE >> + help >> + AMD Rumba mainboard. > [...] >> +config TSC_X86RDTSC_CALIBRATE_WITH_TIMER2 >> + int >> + default 0 >> + depends on BOARD_AMD_RUMBA > > Same as UDELAY_TSC, never defined? Defined here, right? But it really ought to be in the src/cpu/x86 tree somewhere. > > >> Index: src/mainboard/amd/rumba/Makefile.inc >> =================================================================== >> --- src/mainboard/amd/rumba/Makefile.inc (revision 0) >> +++ src/mainboard/amd/rumba/Makefile.inc (revision 0) >> @@ -0,0 +1 @@ >> +include $(src)/mainboard/Makefile.romccboard.inc > > We'll have to check if this works. From a quick glance > the Rumba does not have the mmx related lines (which _are_ in > Makefile.romccboard.inc, though): I speculate that rumba ought to just have its own? > > crt0-y += ../../../../src/cpu/x86/fpu/enable_fpu.inc > crt0-y += ../../../../src/cpu/x86/mmx/enable_mmx.inc Or we need to make these conditional includes. Your call, I think you know better than I do. > crt0-y += auto.inc > crt0-y += ../../../../src/cpu/x86/mmx/disable_mmx.inc > > Rumba only has: > > mainboardinit cpu/x86/fpu/enable_fpu.inc > mainboardinit ./auto.inc > > It's not a big deal to adapt Makefile.romccboard.inc to handle both > cases, but it would be good to know if those mmx lines are actually > needed in general (and on GX2 specifically). I will hold off on committing until we decide these things, or I get back to this and this patch has hung ... it's already acked :-) ron
I went ahead and fixed it, the questions were not that hard.
On Fri, Aug 28, 2009 at 7:59 PM, ron minnich<rminnich@gmail.com> wrote: > I went ahead and fixed it, the questions were not that hard. > Except for the Makefile question. Committed revision 4618. ron
Rumba now builds. I can't say if it will work, but this is a big step. ron
On 8/29/09 5:03 AM, ron minnich wrote: > Rumba now builds. I can't say if it will work, but this is a big step. > > Do you get VSA from CBFS already?
On Sat, Aug 29, 2009 at 1:10 PM, Stefan Reinauer<stepan@coresystems.de> wrote: > On 8/29/09 5:03 AM, ron minnich wrote: >> Rumba now builds. I can't say if it will work, but this is a big step. >> >> > > Do you get VSA from CBFS already? That's next. I was going to put it in / and call it VSA. ron
Patch
This is the final set of changes to allow rumba to build. Rumba is not tested. Remaining problem: in src/arch/i386/Kconfig, I define AP_IN_SIPI_WAIT. But in .config, I get: #CONFIG_AP_IN_SIPI_WAIT is not set Clearly I have more to learn about Kconfig. I want it so that if the mainboard Kconfig does not select it, it comes up as 'n'. Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Index: src/southbridge/amd/Kconfig =================================================================== --- src/southbridge/amd/Kconfig (revision 4607) +++ src/southbridge/amd/Kconfig (working copy) @@ -1,10 +1,10 @@ source src/southbridge/amd/amd8111/Kconfig source src/southbridge/amd/amd8131/Kconfig +source src/southbridge/amd/cs5536/Kconfig #source src/southbridge/amd/amd8131-disable/Kconfig #source src/southbridge/amd/amd8132/Kconfig #source src/southbridge/amd/amd8151/Kconfig #source src/southbridge/amd/cs5530/Kconfig #source src/southbridge/amd/cs5535/Kconfig -#source src/southbridge/amd/cs5536/Kconfig source src/southbridge/amd/rs690/Kconfig source src/southbridge/amd/sb600/Kconfig Index: src/cpu/amd/Kconfig =================================================================== --- src/cpu/amd/Kconfig (revision 4607) +++ src/cpu/amd/Kconfig (working copy) @@ -8,3 +8,4 @@ source src/cpu/amd/socket_S1G1/Kconfig source src/cpu/amd/model_fxx/Kconfig +source src/cpu/amd/model_gx2/Kconfig Index: src/cpu/amd/Makefile.inc =================================================================== --- src/cpu/amd/Makefile.inc (revision 4607) +++ src/cpu/amd/Makefile.inc (working copy) @@ -1,4 +1,5 @@ subdirs-$(CONFIG_CPU_AMD_SOCKET_F) += socket_F subdirs-$(CONFIG_CPU_AMD_SOCKET_940) += socket_940 subdirs-$(CONFIG_CPU_AMD_SOCKET_AM2) += socket_AM2 +subdirs-$(CONFIG_CPU_AMD_GX2) += model_gx2 subdirs-$(CONFIG_CPU_AMD_SOCKET_S1G1) += socket_S1G1 Index: src/cpu/x86/tsc/Makefile.inc =================================================================== --- src/cpu/x86/tsc/Makefile.inc (revision 4607) +++ src/cpu/x86/tsc/Makefile.inc (working copy) @@ -1,7 +1,2 @@ obj-y += delay_tsc.o -# default CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2=0 -# if CONFIG_UDELAY_TSC -# default CONFIG_HAVE_INIT_TIMER=1 -# object delay_tsc.o -# end Index: src/mainboard/amd/Kconfig =================================================================== --- src/mainboard/amd/Kconfig (revision 4607) +++ src/mainboard/amd/Kconfig (working copy) @@ -1 +1,9 @@ -source "src/mainboard/amd/serengeti_cheetah/Kconfig" \ No newline at end of file +choice + prompt "Mainboard model" + depends on VENDOR_AMD + +source "src/mainboard/amd/serengeti_cheetah/Kconfig" +source "src/mainboard/amd/rumba/Kconfig" + +endchoice + Index: src/mainboard/amd/rumba/Kconfig =================================================================== --- src/mainboard/amd/rumba/Kconfig (revision 0) +++ src/mainboard/amd/rumba/Kconfig (revision 0) @@ -0,0 +1,62 @@ + + +## +## This file is part of the coreboot project. +## +## Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de> +## +## 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 BOARD_AMD_RUMBA + bool "Rumba" + select ARCH_X86 + select CPU_AMD_GX2 + select NORTHBRIDGE_AMD_GX2 + select SOUTHBRIDGE_AMD_CS5536 + select UDELAY_TSC + select HAVE_PIRQ_TABLE + help + AMD Rumba mainboard. + +config MAINBOARD_DIR + string + default amd/rumba + depends on BOARD_AMD_RUMBA + +config MAINBOARD_PART_NUMBER + string + default "Rumba" + depends on BOARD_AMD_RUMBA + +config HAVE_OPTION_TABLE + bool + default n + depends on BOARD_AMD_RUMBA + +config IRQ_SLOT_COUNT + int + default 2 + depends on BOARD_AMD_RUMBA + +config USE_INIT + int + default 0 + depends on BOARD_AMD_RUMBA + + +config TSC_X86RDTSC_CALIBRATE_WITH_TIMER2 + int + default 0 + depends on BOARD_AMD_RUMBA Index: src/mainboard/amd/rumba/Makefile.inc =================================================================== --- src/mainboard/amd/rumba/Makefile.inc (revision 0) +++ src/mainboard/amd/rumba/Makefile.inc (revision 0) @@ -0,0 +1 @@ +include $(src)/mainboard/Makefile.romccboard.inc Index: src/mainboard/amd/serengeti_cheetah/Kconfig =================================================================== --- src/mainboard/amd/serengeti_cheetah/Kconfig (revision 4607) +++ src/mainboard/amd/serengeti_cheetah/Kconfig (working copy) @@ -1,7 +1,3 @@ -choice - prompt "Mainboard model" - depends on VENDOR_AMD - config BOARD_AMD_SERENGETI_CHEETAH bool "Serengeti Cheetah" select ARCH_X86 @@ -17,7 +13,6 @@ select USE_DCACHE_RAM help AMD Serengeti Cheetah mainboard. -endchoice config MAINBOARD_DIR string @@ -74,10 +69,6 @@ default "Serengeti-Cheetah" depends on BOARD_AMD_SERENGETI_CHEETAH -config PCI_64BIT_PREF_MEM - int - default 0 - depends on BOARD_AMD_SERENGETI_CHEETAH config USE_FAILOVER_IMAGE int Index: src/northbridge/amd/Kconfig =================================================================== --- src/northbridge/amd/Kconfig (revision 4607) +++ src/northbridge/amd/Kconfig (working copy) @@ -1,7 +1,8 @@ +source src/northbridge/amd/amdk8/Kconfig +source src/northbridge/amd/gx2/Kconfig + #source src/northbridge/amd/amdfam10/Kconfig #source src/northbridge/amd/amdht/Kconfig -source src/northbridge/amd/amdk8/Kconfig #source src/northbridge/amd/amdmct/Kconfig #source src/northbridge/amd/gx1/Kconfig -#source src/northbridge/amd/gx2/Kconfig #source src/northbridge/amd/lx/Kconfig Index: src/arch/i386/Kconfig =================================================================== --- src/arch/i386/Kconfig (revision 4607) +++ src/arch/i386/Kconfig (working copy) @@ -4,6 +4,14 @@ This option is used to set the architecture of a mainboard. It is usually set in mainboard/*/Kconfig. +config AP_IN_SIPI_WAIT + bool + default n + depends on ARCH_X86 + help + This is an SMP option. It relates to starting up APs. + It is usually set in mainboard/*/Kconfig. + config ARCH string default i386