Messages in this thread | | | Date | Fri, 26 Jun 2009 13:33:18 +0100 | From | Alan Cox <> | Subject | Re: [PATCH 3/9] x86/moorestown: add moorestown platform flags |
| |
> That's a pretty bogus claim - on x86 a bootloader generally knows > very little about 'what it is running on'. We do most of the > enumeration in early platform code and retrieve information via > standard BIOS interfaces.
Stop thinking about existing x86 PC systems running grub for a bit. Highly embedded systems usually boot from ROM firmware direct into the kernel. They have a very good idea what they are running on because they were flashed specifically for the device.
I'm not worried about PC/ISA v PC/MCA v Voyager v CBus v CompaqSMP v Intel MP 1.4 SMP v PCI v PCI/X v PCI Express v OLPC v Voyager etc, we can clearly tell all those apart via bus probing. But those are all basically a PC.
> > How about "they tried other methods and they didn't work" > > The thing is, you are trying to defend a v1 patch-set here that is > really indefensible: it's ugly and deficient in numerous smaller and > larger details. I outlined numerous deficiencies already - and i'll > review v2 too to see what else is there to fix.
No I'm trying to understand what you actually want the thing to look like.
Are we talking
/* Fixed struct not pointer for speed */ struct platform_ops platform_ops; memcpy(platform_ops, platform_op_list[detect_platform_type()], sizeof(struct platform_ops));
platform->add_private_resources(); platform->timer_foo(); platfomr->timer_bar();
or
platform->init(); timer = platform->timer;
timer->begin()
| |