On Mon, Apr 29, 2013 at 5:59 PM, Stefan Reinauer stefan.reinauer@coreboot.org wrote:
- Aaron Durbin adurbin@chromium.org [130426 21:29]:
Question for the masses: does anyone actually use UDELAY_IO? If not, can we get rid of it? I'll prepare the patch. With APICs, HPETs, TSCs, etc I really don't see the need for such a thing.
UDELAY_IO is the default on all systems that do not explicitly select a different timer.
Right now only the following CPUs use UDELAY_LAPIC:
./src/cpu/intel/model_206ax/Kconfig: select UDELAY_LAPIC ./src/cpu/intel/model_6ex/Kconfig: select UDELAY_LAPIC ./src/cpu/intel/haswell/Kconfig: select UDELAY_LAPIC ./src/cpu/intel/model_106cx/Kconfig: select UDELAY_LAPIC ./src/cpu/intel/model_6fx/Kconfig: select UDELAY_LAPIC ./src/cpu/amd/model_10xxx/Kconfig: select UDELAY_LAPIC ./src/cpu/amd/model_fxx/Kconfig: select UDELAY_LAPIC ./src/cpu/amd/agesa/Kconfig: select UDELAY_LAPIC
These mainboards manually select UDELAY_LAPIC (and shouldn't, but instead have the CPU select it for them):
./src/mainboard/getac/p470/Kconfig: select UDELAY_LAPIC ./src/mainboard/asus/f2a85-m/Kconfig: select UDELAY_LAPIC ./src/mainboard/iwave/iWRainbowG6/Kconfig: select UDELAY_LAPIC ./src/mainboard/amd/parmer/Kconfig: select UDELAY_LAPIC ./src/mainboard/amd/south_station/Kconfig: select UDELAY_LAPIC ./src/mainboard/amd/thatcher/Kconfig: select UDELAY_LAPIC ./src/mainboard/amd/union_station/Kconfig: select UDELAY_LAPIC
Generally, there are a few boards / CPUs that might explicitly need UDELAY_IO.
8 boards are using UDELAY_IO:
bifferos_bifferboard/config.build:CONFIG_UDELAY_IO=y digitallogic_adl855pc/config.build:CONFIG_UDELAY_IO=y digitallogic_msm586seg/config.build:CONFIG_UDELAY_IO=y emulation_qemu-x86/config.build:CONFIG_UDELAY_IO=y iei_juki-511p/config.build:CONFIG_UDELAY_IO=y lanner_em8510/config.build:CONFIG_UDELAY_IO=y roda_rk9/config.build:CONFIG_UDELAY_IO=y technologic_ts5300/config.build:CONFIG_UDELAY_IO=y
At least the Roda RK9 looks wrong, possibly others too.
The Geode GX1 has TSC so IEI Juki-511P could be switched over.
The Bifferboard might need CONFIG_UDELAY_IO. But if it is the only one, and it has been obsoleted by Bifferos, maybe we should drop the board from coreboot's top of tree and refer people to check out an older git version to run coreboot on this board.
MSM586SEG and TS5300 are AMD SC520 and should probably be retired, too.
Not a single board is using CONFIG_UDELAY_TIMER2, so we should wipe that code and reduce the number of different timer sources.
79 boards use CONFIG_UDELAY_TSC. 104 boards are using CONFIG_UDELAY_LAPIC.
Comments?
My only comment is that it would be nice to have the notion that there is some sort of free running timer on all the boards. It can simplify some of the code as well as what is exposed through CONFIG_*, etc. If reality dictates that this isn't possible then that's just the way it is.
-Aaron