Hi Almu,
I removed the slave main function and instead called the cpu launch first 
thread directly, see mpdesc. Of course, I have been testing the scheduler with 
all cpus. Unfortunately it is currently stuck in machine idle occasionally with 
interrupts off on one or more cpu and the first task dies for some reason thus 
never boots, but the timers are working and the TLB coherency interrupt seems 
to work via calling IPI to irq 251. It could use some testing and more eyes on 
the code.

We are nearly there!

Damien

Sent from ProtonMail mobile

-------- Original Message --------
On 1 Feb 2023, 9:52 pm, Almudena Garcia wrote:

>> However, with ncpus>1 and apic enabled, there are warnings spewed
>> at beginning of gnumach regarding cpu_number, but doesnt prevent
>
>> continuing to start of boot process.
>
> :-)
>
> Then, the next step (added to little refactors) will be add the APs to 
> scheduler, using `slave_main()` function.
> After this, the AP will be available to the scheduler, which can assign 
> process (or threads) to these.
>
> El mié, 1 feb 2023 a las 11:27, Damien Zammit (<dam...@zamaudio.com>) 
> escribió:
>
>> This has been rebased onto master and reworked to address review.
>>
>> Same tests applied as last time, same results as last time.
>>
>> However, with ncpus>1 and apic enabled, there are warnings spewed
>> at beginning of gnumach regarding cpu_number, but doesnt prevent
>> continuing to start of boot process.
>>
>> Damien

Reply via email to