[RFC] arm naming inconsistance
Antony Pavlov
antonynpavlov at gmail.com
Fri Aug 12 09:28:17 EDT 2011
Hi!
Barebox has an hierarchy for supported stuff:
arch -> mach
arch \in {arm, x86, nios2 ...}
for arch=arm, mach \in { at91, ims, msx, ... versatile }
Also there is the 'board', the lowest level of hierarchy.
E.g. for mach=at91, board \in { at91sam9m10g45ek, pm9263 ...}
But there are strange things in arch/arm/Kconfig and
arch/arm/cpu/start.c:
#ifdef CONFIG_ARCH_HAS_LOWLEVEL_INIT
arch_init_lowlevel();
#endif
At the first glance all ok: if arch has lowlevel init, the do
arch_init_lowlevel().
But arch_init_lowlevel() is not __per-arch__ function, but
__per-mach__ function!
It is used in at91 and omap mach.
#ifdef CONFIG_MACH_DO_LOWLEVEL_INIT
board_init_lowlevel();
#endif
Here we have a more bizarre thing: if __mach__ do low level init then
do __board__ low level init!
In arch/arm/Kconfig we have the same strange things:
config ARCH_VERSATILE
bool "ARM Versatile boards (ARM926EJ-S)"
select CPU_ARM926T
But versatile is not arch, it's a mach!
By this examples one can see that the conception of architecture
('arch') is mixed up with the conception of machine ('mach').
Can anybody explain this?
--
Best regards,
Antony Pavlov
More information about the barebox
mailing list