2008/7/4 Axel Dörfler <axeld@xxxxxxxxxxxxxxxx>: >> +static status_t >> +apic_init(struct kernel_args *args, int32 data) > [...] >> + /* If we're passed -1 for data (current CPU), the SMP code is not >> + calling us, so do not perform init. */ >> + if (data == -1) { >> + return B_OK; >> + } > > Since the SMP code needs to know the APIC timer personally, anyway, I > would separate these two from each other, remove the "data" field, and > have the SMP code call a dedicated init method not part of the > timer_info structure. BTW I plan to change this. APIC controllers exist also on non-smp configurations. Actually I think they exist on pretty much every pc out there, except the oldest ones. So I think the acpi scanning should be moved out of smp.cpp in the boot loader, and it should be done also on non-SMP configurations. I and Dustin were also discussing the possibility to use the kernel_args structure to pass the needed HPET data from the boot loader to the kernel. Would this be a problem ?