[haiku-gsoc] Re: New timer patch (again) (Was: Re: First timer.diff (from private e-mails))

  • From: "Stefano Ceccherini" <stefano.ceccherini@xxxxxxxxx>
  • To: haiku-gsoc@xxxxxxxxxxxxx
  • Date: Wed, 9 Jul 2008 11:16:30 +0200

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 ?

Other related posts: