But, added to interrupt stacks, the APs needs their own stacks once these
are running, to store data of the process which are executing.

El sáb., 4 feb. 2023 2:24, Damien Zammit <dam...@zamaudio.com> escribió:

> Hi Almu,
>
> On 3/2/23 02:56, Almudena Garcia wrote:
> > I already suggested move this to a function
> >
> > +#ifndef MACH_HYP
> > +    /* Turn paging on.
> > +     * TODO: Why does setting the WP bit here cause a crash?
> > +     */
> > +    set_cr0(get_cr0() | CR0_PG /* | CR0_WP */);
> > +    set_cr0(get_cr0() & ~(CR0_CD | CR0_NW));
> > +    if (CPU_HAS_FEATURE(CPU_FEATURE_PGE))
> > +        set_cr4(get_cr4() | CR4_PGE);
>
> I moved this to a function called paging_enable()
>
>
> > I miss the stack's memory reserve and assignation for AP processors,
> which was usually make before startup these. Where are this?
>
> Interrupt stacks are pre-assigned by the compiler at a fixed location per
> cpu.  See "solid_intstack".
>
> Damien
>
>

Reply via email to