[coreboot] [PATCH] More Kconfig changes

Myles Watson mylesgw at gmail.com
Tue Oct 20 00:36:40 CEST 2009


On Mon, Oct 19, 2009 at 4:17 PM, Uwe Hermann <uwe at hermann-uwe.de> wrote:

> On Mon, Oct 19, 2009 at 03:18:07PM -0600, Myles Watson wrote:
> > Define HAVE_INIT_TIMER to only exclude the three boards that define it to
> be
> > 0 in newconfig.
>
> What exactly does HAVE_INIT_TIMER configure? Why do those three boards
> _not_ set it? It sounds like all boards would want to set it?
>
I don't know.  Since one of the boards is qemu, I figured that it might not
have some functionality that hardware has.


> > MOVNTI is a performance enhancement, and should default to 0 so it
> doesn't
> > break boards that forget to define it.
>
> Are all Kconfig files setting to y (via "select" preferrably) where needed?
>
It's hard to check since this option is set in sockets.  That is a
worthwhile follow up patch.  It just doesn't make sense to break booting for
performance.

> Index: svn/src/Kconfig
> > ===================================================================
> > --- svn.orig/src/Kconfig
> > +++ svn/src/Kconfig
> > @@ -74,10 +74,6 @@ config CPU_ADDR_BITS
> >       int
> >       default 36
> >
> > -config AGP_APERTURE_SIZE
> > -     hex
> > -     default 0x0
> > -
>
> Why is this removed?
>
It shouldn't be a global option.  It's only used by amd northbridges.
Setting global defaults for specific options makes it harder to see when
something is broken.


> > +config HAVE_LOW_TABLES
> > +     bool
> > +     default y
> > +     help
> > +       This Option is unused in the code.  Since two boards try to set
> it to
> > +       'n', they may be broken.  We either need to make the option
> useful or
> > +       get rid of it.  The broken boards are:
> > +       asus/m2v-mx_se
> > +       supermicro/h8dme
>
> Hm, indeed. Why was this added? Are there situations where we might not
> want LOW_TABLES on?
>
Good question.  I think there might be times where you don't want to corrupt
low memory.


>
> > Index: svn/src/northbridge/amd/amdfam10/Kconfig
> > ===================================================================
> > --- svn.orig/src/northbridge/amd/amdfam10/Kconfig
> > +++ svn/src/northbridge/amd/amdfam10/Kconfig
> > @@ -21,11 +21,35 @@ config NORTHBRIDGE_AMD_AMDFAM10
> >       bool
> >       select HAVE_HIGH_TABLES
> >       select HYPERTRANSPORT_PLUGIN_SUPPORT
> > -     select HT3_SUPPORT
> [...]
> > +config HT3_SUPPORT
> > +     bool
> > +     default y
> > +     depends on NORTHBRIDGE_AMD_AMDFAM10
>
> Why this? "select HT3_SUPPORT" should work just fine, no?
> Even if that's not the case I think it would be nicer to set it in some
> global Kconfig file so we can "select" it. IMHO _all_ y variables should
> be "select"ed so we avoid the 4-line chunks...
>
It doesn't work unless HT3_SUPPORT is defined somewhere else.  It doesn't
make sense to define it anywhere else to me, since only FAM10 uses it.


>
> > +config AMDMCT
> > +     bool
> > +     default y
> > +     depends on NORTHBRIDGE_AMD_AMDFAM10
>
> Ditto.
>
Yep.


> > +config MEM_TRAIN_SEQ
> > +config HW_MEM_HOLE_SIZEK
> > +config HW_MEM_HOLE_SIZE_AUTO_INC
> > Index: svn/src/northbridge/amd/amdk8/Kconfig
> > ===================================================================
> > --- svn.orig/src/northbridge/amd/amdk8/Kconfig
> > +++ svn/src/northbridge/amd/amdk8/Kconfig
> > +config MEM_TRAIN_SEQ
> > +config HW_MEM_HOLE_SIZEK
> > +config HW_MEM_HOLE_SIZE_AUTO_INC
>
> Why are these three defined twice?
>
So that they only show up when they're used.


> > Index: svn/src/southbridge/via/vt8237r/vt8237r.h
> > ===================================================================
> > --- svn.orig/src/southbridge/via/vt8237r/vt8237r.h
> > +++ svn/src/southbridge/via/vt8237r/vt8237r.h
> > @@ -65,7 +65,7 @@
> >  #define I2C_TRANS_CMD                        0x40
> >  #define CLOCK_SLAVE_ADDRESS          0x69
> >
> > -#if DEBUG_SMBUS == 1
> > +#if defined(DEBUG_SMBUS) && DEBUG_SMBUS == 1
> >  #define PRINT_DEBUG(x)               print_debug(x)
> >  #define PRINT_DEBUG_HEX16(x) print_debug_hex16(x)
> >  #else
>
> Please drop this hunk, I have a patch in the queue to redo DEBUG_SMBUS
> and other DEBUG options globally anyway.
>
Sure.  I was just trying to get most of the not defined warnings.  Dropped.


> > Index: svn/src/cpu/amd/model_10xxx/init_cpus.c
> > ===================================================================
> > --- svn.orig/src/cpu/amd/model_10xxx/init_cpus.c
> > +++ svn/src/cpu/amd/model_10xxx/init_cpus.c
> > @@ -473,8 +473,8 @@ static void start_node(u8 node)
> >       /* Enable routing table */
> >       printk_debug("Start node %02x", node);
> >
> > -#if CONFIG_CAR_FAM10 == 1
> > -     /* For CONFIG_CAR_FAM10 support, we need to set Dram base/limit for
> the new node */
> > +#if CONFIG_NORTHBRIDGE_AMD_AMDFAM10 == 1
>
> #if CONFIG_NORTHBRIDGE_AMD_AMDFAM10
> should suffice, I think.
>
Yes.  Fixed.

Thanks,
Myles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20091019/a01356e1/attachment.html>


More information about the coreboot mailing list