CONFIG_DEBUG_RAM_SETUP and CONFIG_DEBUG_SMBUS are only available if the board / chipset support it. But this involves a long list of 'depends', which you have to remember updating manually. Converted this into HAVE_... properties, which will be inherited automatically if someone copies a chipset to create a new one.
Signed-off-by: Jens Rottmann JRottmann@LiPPERTEmbedded.de ---
--- src/Kconfig (rev 5739) +++ src/Kconfig (working copy) @@ -509,19 +509,13 @@ If enabled, you will be able to set breakpoints for gdb debugging. See src/arch/i386/lib/c_start.S for details.
+config HAVE_DEBUG_RAM_SETUP + def_bool n + config DEBUG_RAM_SETUP bool "Output verbose RAM init debug messages" default n - depends on (NORTHBRIDGE_AMD_AMDFAM10 \ - || NORTHBRIDGE_AMD_AMDK8 \ - || NORTHBRIDGE_VIA_CN700 \ - || NORTHBRIDGE_VIA_CX700 \ - || NORTHBRIDGE_VIA_VX800 \ - || NORTHBRIDGE_INTEL_E7501 \ - || NORTHBRIDGE_INTEL_I440BX \ - || NORTHBRIDGE_INTEL_I82810 \ - || NORTHBRIDGE_INTEL_I82830 \ - || NORTHBRIDGE_INTEL_I945) + depends on HAVE_DEBUG_RAM_SETUP help This option enables additional RAM init related debug messages. It is recommended to enable this when debugging issues on your @@ -538,16 +532,13 @@ help If unsure, say N.
+config HAVE_DEBUG_SMBUS + def_bool n + config DEBUG_SMBUS bool "Output verbose SMBus debug messages" default n - depends on (SOUTHBRIDGE_VIA_VT8237R \ - || NORTHBRIDGE_VIA_VX800 \ - || NORTHBRIDGE_VIA_CX700 \ - || NORTHBRIDGE_AMD_AMDK8 \ - || NORTHBRIDGE_AMD_AMDFAM10 \ - || BOARD_LIPPERT_SPACERUNNER_LX \ - || SOUTHBRIDGE_VIA_VT8231) + depends on HAVE_DEBUG_SMBUS help This option enables additional SMBus (and SPD) debug messages.
--- src/mainboard/lippert/spacerunner-lx/Kconfig (rev 5739) +++ src/mainboard/lippert/spacerunner-lx/Kconfig (working copy) @@ -5,6 +5,7 @@ select NORTHBRIDGE_AMD_LX select SOUTHBRIDGE_AMD_CS5536 select SUPERIO_ITE_IT8712F + select HAVE_DEBUG_SMBUS select HAVE_PIRQ_TABLE select PIRQ_ROUTE select UDELAY_TSC --- src/northbridge/amd/amdfam10/Kconfig (rev 5739) +++ src/northbridge/amd/amdfam10/Kconfig (working copy) @@ -19,6 +19,8 @@
config NORTHBRIDGE_AMD_AMDFAM10 bool + select HAVE_DEBUG_RAM_SETUP + select HAVE_DEBUG_SMBUS select HAVE_HIGH_TABLES select HYPERTRANSPORT_PLUGIN_SUPPORT select NORTHBRIDGE_AMD_AMDFAM10_ROOT_COMPLEX --- src/northbridge/amd/amdk8/Kconfig (rev 5739) +++ src/northbridge/amd/amdk8/Kconfig (working copy) @@ -19,6 +19,8 @@
config NORTHBRIDGE_AMD_AMDK8 bool + select HAVE_DEBUG_RAM_SETUP + select HAVE_DEBUG_SMBUS select HAVE_HIGH_TABLES select HYPERTRANSPORT_PLUGIN_SUPPORT
--- src/northbridge/intel/e7501/Kconfig (rev 5739) +++ src/northbridge/intel/e7501/Kconfig (working copy) @@ -1,4 +1,5 @@ config NORTHBRIDGE_INTEL_E7501 bool + select HAVE_DEBUG_RAM_SETUP select HAVE_HIGH_TABLES
--- src/northbridge/intel/i440bx/Kconfig (rev 5739) +++ src/northbridge/intel/i440bx/Kconfig (working copy) @@ -19,6 +19,7 @@
config NORTHBRIDGE_INTEL_I440BX bool + select HAVE_DEBUG_RAM_SETUP select HAVE_HIGH_TABLES
config SDRAMPWR_4DIMM --- src/northbridge/intel/i82810/Kconfig (rev 5739) +++ src/northbridge/intel/i82810/Kconfig (working copy) @@ -19,6 +19,7 @@
config NORTHBRIDGE_INTEL_I82810 bool + select HAVE_DEBUG_RAM_SETUP select HAVE_HIGH_TABLES
choice --- src/northbridge/intel/i82830/Kconfig (rev 5739) +++ src/northbridge/intel/i82830/Kconfig (working copy) @@ -1,5 +1,6 @@ config NORTHBRIDGE_INTEL_I82830 bool + select HAVE_DEBUG_RAM_SETUP select HAVE_HIGH_TABLES
choice --- src/northbridge/intel/i945/Kconfig (rev 5739) +++ src/northbridge/intel/i945/Kconfig (working copy) @@ -19,6 +19,7 @@
config NORTHBRIDGE_INTEL_I945 bool + select HAVE_DEBUG_RAM_SETUP select HAVE_HIGH_TABLES
config FALLBACK_VGA_BIOS_ID --- src/northbridge/via/cn700/Kconfig (rev 5739) +++ src/northbridge/via/cn700/Kconfig (working copy) @@ -1,5 +1,6 @@ config NORTHBRIDGE_VIA_CN700 bool + select HAVE_DEBUG_RAM_SETUP select HAVE_HIGH_TABLES
config FALLBACK_SIZE --- src/northbridge/via/cx700/Kconfig (rev 5739) +++ src/northbridge/via/cx700/Kconfig (working copy) @@ -1,5 +1,7 @@ config NORTHBRIDGE_VIA_CX700 bool + select HAVE_DEBUG_RAM_SETUP + select HAVE_DEBUG_SMBUS select HAVE_HIGH_TABLES select HAVE_HARD_RESET select IOAPIC --- src/northbridge/via/vx800/Kconfig (rev 5739) +++ src/northbridge/via/vx800/Kconfig (working copy) @@ -1,5 +1,7 @@ config NORTHBRIDGE_VIA_VX800 bool + select HAVE_DEBUG_RAM_SETUP + select HAVE_DEBUG_SMBUS
config FALLBACK_SIZE int --- src/southbridge/via/vt8231/Kconfig (rev 5739) +++ src/southbridge/via/vt8231/Kconfig (working copy) @@ -19,4 +19,4 @@
config SOUTHBRIDGE_VIA_VT8231 bool - + select HAVE_DEBUG_SMBUS --- src/southbridge/via/vt8237r/Kconfig (rev 5739) +++ src/southbridge/via/vt8237r/Kconfig (working copy) @@ -19,6 +19,7 @@
config SOUTHBRIDGE_VIA_VT8237R bool + select HAVE_DEBUG_SMBUS select IOAPIC
config EPIA_VT8237R_INIT _
On 8/26/10 2:26 PM, Jens Rottmann wrote:
CONFIG_DEBUG_RAM_SETUP and CONFIG_DEBUG_SMBUS are only available if the board / chipset support it. But this involves a long list of 'depends', which you have to remember updating manually. Converted this into HAVE_... properties, which will be inherited automatically if someone copies a chipset to create a new one.
Signed-off-by: Jens Rottmann JRottmann@LiPPERTEmbedded.de
Thanks! I like this! r5743
Stefan
Hi Stefan,
during doing this I happened to trip over HAVE_HIGH_TABLES, which struck me as really weired:
src/Kconfig: config HAVE_HIGH_TABLES bool default y
And various northbridges 'select' this - but what is the point, it defaults to 'y' and has no prompt for the user to unset, so it's _always_ 'y'. So all those 'select's have no effect and can be dropped. Or should it be changed to 'default n'?
And there are the mainboards amd/dbm690t, amd/mahogany, asrock/939a785gmh, all of which do: config HAVE_HIGH_TABLES bool default n depends on BOARD_...
How can the same config option be defined twice?? These 3 boards say 'default n', but because all 3 have northbridges which do 'select HAVE_HIGH_TABLES', it's _still_ always 'y'.
I really didn't understand what the whole point of this stuff is, so I didn't dare touch it ...
Regards, Jens
Am 26.08.2010 16:13, schrieb Jens Rottmann:
These 3 boards say 'default n', but because all 3 have northbridges which do 'select HAVE_HIGH_TABLES', it's _still_ always 'y'.
I really didn't understand what the whole point of this stuff is, so I didn't dare touch it ...
The point was that 1. we started with HAVE_HIGH_TABLES default to no, to enable by the boards that support it 2. then moved to default to yes, to be disabled by the boards that have issues with that (r5160)
At some point, HAVE_HIGH_TABLES should be removed altogether. Maybe that should be now.
Regards, Patrick
Patrick Georgi wrote:
- we started with HAVE_HIGH_TABLES default to no, to enable by the
boards that support it 2. then moved to default to yes, to be disabled by the boards that have issues with that (r5160)
At some point, HAVE_HIGH_TABLES should be removed altogether. Maybe that should be now.
Converted mail into patch.
Signed-off-by: Jens Rottmann JRottmann@LiPPERTEmbedded.de ---
Hi Patrick,
if I understand you correctly, WRITE_HIGH_TABLES should always be enabled, except for 3 boards. Is this patch what you had in mind?
BTW: did you answer to my mail directly? Because I saw your and many other responses only in the mailing list, but our mailserver admin denies anything getting lost.
Cheers, Jens
--- src/Kconfig (rev 5744) +++ src/Kconfig (working copy) @@ -261,16 +261,6 @@ asus/m2v-mx_se supermicro/h8dme
-config HAVE_HIGH_TABLES - bool - default y - help - This variable specifies whether a given northbridge has high table - support. - It is set in northbridge/*/Kconfig. - Whether or not the high tables are actually written by coreboot is - configurable by the user via WRITE_HIGH_TABLES. - config HAVE_ACPI_TABLES bool help @@ -310,16 +300,15 @@ bool default HAVE_PIRQ_TABLE
-config WRITE_HIGH_TABLES - bool - default HAVE_HIGH_TABLES - menu "System tables"
+config BUGGY_HIGH_TABLES + def_bool n + config WRITE_HIGH_TABLES bool "Write 'high' tables to avoid being overwritten in F segment" - depends on HAVE_HIGH_TABLES default y + depends on !BUGGY_HIGH_TABLES
config MULTIBOOT bool "Generate Multiboot tables (for GRUB2)" --- src/mainboard/amd/dbm690t/Kconfig (rev 5744) +++ src/mainboard/amd/dbm690t/Kconfig (working copy) @@ -8,6 +8,7 @@ select SOUTHBRIDGE_AMD_SB600 select SUPERIO_ITE_IT8712F select BOARD_HAS_FADT + select BUGGY_HIGH_TABLES select GENERATE_ACPI_TABLES select GENERATE_MP_TABLE select GENERATE_PIRQ_TABLE @@ -24,11 +25,6 @@ default amd/dbm690t depends on BOARD_AMD_DBM690T
-config HAVE_HIGH_TABLES - bool - default n - depends on BOARD_AMD_DBM690T - # This is a temporary fix, and should be removed when the race condition for # building option_table.h is fixed. config WARNINGS_ARE_ERRORS --- src/mainboard/amd/mahogany/Kconfig (rev 5744) +++ src/mainboard/amd/mahogany/Kconfig (working copy) @@ -8,6 +8,7 @@ select SOUTHBRIDGE_AMD_SB700 select SUPERIO_ITE_IT8718F select BOARD_HAS_FADT + select BUGGY_HIGH_TABLES select GENERATE_ACPI_TABLES select GENERATE_MP_TABLE select GENERATE_PIRQ_TABLE @@ -26,11 +27,6 @@ default amd/mahogany depends on BOARD_AMD_MAHOGANY
-config HAVE_HIGH_TABLES - bool - default n - depends on BOARD_AMD_MAHOGANY - config DCACHE_RAM_BASE hex default 0xc8000 --- src/mainboard/asrock/939a785gmh/Kconfig (rev 5744) +++ src/mainboard/asrock/939a785gmh/Kconfig (working copy) @@ -9,6 +9,7 @@ select SOUTHBRIDGE_AMD_SB700 select SUPERIO_WINBOND_W83627DHG select BOARD_HAS_FADT + select BUGGY_HIGH_TABLES select GENERATE_ACPI_TABLES select GENERATE_MP_TABLE select GENERATE_PIRQ_TABLE @@ -27,11 +28,6 @@ default asrock/939a785gmh depends on BOARD_ASROCK_939A785GMH
-config HAVE_HIGH_TABLES - bool - default n - depends on BOARD_ASROCK_939A785GMH - config DCACHE_RAM_BASE hex default 0xc8000 --- src/northbridge/amd/amdfam10/Kconfig (rev 5744) +++ src/northbridge/amd/amdfam10/Kconfig (working copy) @@ -21,7 +21,6 @@ bool select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_SMBUS - select HAVE_HIGH_TABLES select HYPERTRANSPORT_PLUGIN_SUPPORT select NORTHBRIDGE_AMD_AMDFAM10_ROOT_COMPLEX
--- src/northbridge/amd/amdk8/Kconfig (rev 5744) +++ src/northbridge/amd/amdk8/Kconfig (working copy) @@ -21,7 +21,6 @@ bool select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_SMBUS - select HAVE_HIGH_TABLES select HYPERTRANSPORT_PLUGIN_SUPPORT
config AGP_APERTURE_SIZE --- src/northbridge/amd/lx/Kconfig (rev 5744) +++ src/northbridge/amd/lx/Kconfig (working copy) @@ -1,6 +1,5 @@ config NORTHBRIDGE_AMD_LX bool - select HAVE_HIGH_TABLES select GEODE_VSA
config VIDEO_MB --- src/northbridge/intel/e7501/Kconfig (rev 5744) +++ src/northbridge/intel/e7501/Kconfig (working copy) @@ -1,5 +1,3 @@ config NORTHBRIDGE_INTEL_E7501 bool select HAVE_DEBUG_RAM_SETUP - select HAVE_HIGH_TABLES - --- src/northbridge/intel/e7520/Kconfig (rev 5744) +++ src/northbridge/intel/e7520/Kconfig (working copy) @@ -1,4 +1,2 @@ config NORTHBRIDGE_INTEL_E7520 bool - select HAVE_HIGH_TABLES - --- src/northbridge/intel/e7525/Kconfig (rev 5744) +++ src/northbridge/intel/e7525/Kconfig (working copy) @@ -1,4 +1,2 @@ config NORTHBRIDGE_INTEL_E7525 bool - select HAVE_HIGH_TABLES - --- src/northbridge/intel/i3100/Kconfig (rev 5744) +++ src/northbridge/intel/i3100/Kconfig (working copy) @@ -1,4 +1,2 @@ config NORTHBRIDGE_INTEL_I3100 bool - select HAVE_HIGH_TABLES - --- src/northbridge/intel/i440bx/Kconfig (rev 5744) +++ src/northbridge/intel/i440bx/Kconfig (working copy) @@ -20,7 +20,6 @@ config NORTHBRIDGE_INTEL_I440BX bool select HAVE_DEBUG_RAM_SETUP - select HAVE_HIGH_TABLES
config SDRAMPWR_4DIMM bool --- src/northbridge/intel/i440lx/Kconfig (rev 5744) +++ src/northbridge/intel/i440lx/Kconfig (working copy) @@ -19,5 +19,3 @@
config NORTHBRIDGE_INTEL_I440LX bool - select HAVE_HIGH_TABLES - --- src/northbridge/intel/i82810/Kconfig (rev 5744) +++ src/northbridge/intel/i82810/Kconfig (working copy) @@ -20,7 +20,6 @@ config NORTHBRIDGE_INTEL_I82810 bool select HAVE_DEBUG_RAM_SETUP - select HAVE_HIGH_TABLES
choice prompt "Onboard graphics" --- src/northbridge/intel/i82830/Kconfig (rev 5744) +++ src/northbridge/intel/i82830/Kconfig (working copy) @@ -1,7 +1,6 @@ config NORTHBRIDGE_INTEL_I82830 bool select HAVE_DEBUG_RAM_SETUP - select HAVE_HIGH_TABLES
choice prompt "Onboard graphics" --- src/northbridge/intel/i855/Kconfig (rev 5744) +++ src/northbridge/intel/i855/Kconfig (working copy) @@ -1,4 +1,2 @@ config NORTHBRIDGE_INTEL_I855 bool - select HAVE_HIGH_TABLES - --- src/northbridge/intel/i945/Kconfig (rev 5744) +++ src/northbridge/intel/i945/Kconfig (working copy) @@ -20,7 +20,6 @@ config NORTHBRIDGE_INTEL_I945 bool select HAVE_DEBUG_RAM_SETUP - select HAVE_HIGH_TABLES
config FALLBACK_VGA_BIOS_ID string --- src/northbridge/via/cn700/Kconfig (rev 5744) +++ src/northbridge/via/cn700/Kconfig (working copy) @@ -1,7 +1,6 @@ config NORTHBRIDGE_VIA_CN700 bool select HAVE_DEBUG_RAM_SETUP - select HAVE_HIGH_TABLES
config FALLBACK_SIZE int --- src/northbridge/via/cx700/Kconfig (rev 5744) +++ src/northbridge/via/cx700/Kconfig (working copy) @@ -2,7 +2,6 @@ bool select HAVE_DEBUG_RAM_SETUP select HAVE_DEBUG_SMBUS - select HAVE_HIGH_TABLES select HAVE_HARD_RESET select IOAPIC select SMP --- src/northbridge/via/vt8601/Kconfig (rev 5744) +++ src/northbridge/via/vt8601/Kconfig (working copy) @@ -1,6 +1,5 @@ config NORTHBRIDGE_VIA_VT8601 bool - select HAVE_HIGH_TABLES
config FALLBACK_SIZE int --- src/northbridge/via/vt8623/Kconfig (rev 5744) +++ src/northbridge/via/vt8623/Kconfig (working copy) @@ -1,6 +1,5 @@ config NORTHBRIDGE_VIA_VT8623 bool - select HAVE_HIGH_TABLES
config FALLBACK_SIZE int _
Am 27.08.2010 11:32, schrieb Jens Rottmann:
Patrick Georgi wrote:
- we started with HAVE_HIGH_TABLES default to no, to enable by the
boards that support it 2. then moved to default to yes, to be disabled by the boards that have issues with that (r5160)
At some point, HAVE_HIGH_TABLES should be removed altogether. Maybe that should be now.
Converted mail into patch.
Thank You!
if I understand you correctly, WRITE_HIGH_TABLES should always be enabled, except for 3 boards. Is this patch what you had in mind?
I'd even go so far as to not introduce BUGGY_HIGH_TABLES, and have whoever uses those boards finally fix it. Otherwise we'll keep this kludge around for another year or two, and worst case, it starts to spread when devs copy these boards to new developments.
BTW: did you answer to my mail directly? Because I saw your and many other responses only in the mailing list, but our mailserver admin denies anything getting lost.
I usually only post to the mailing list ("Reply to List"). I explicitely added you this time.
Regards, Patrick
I usually only post to the mailing list ("Reply to List"). I explicitely added you this time.
Thanks. :-) No problem at all, I can read all mails in the mailing list archives. I only wanted to check if something's wrong with our server.
Cheers Jens