Ok. Now I understand better. Maybe it's the same problem which I found in
my first implementation: the AP was stuck, and the scheduler was sending
all threads to the BSP.

Try to debug it using gdb, and checking the registers values in qemu
monitor.

El mié, 1 feb 2023 a las 12:32, Damien Zammit (<dam...@zamaudio.com>)
escribió:

> 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 < liberamenso10...@gmail.com>
> 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