tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: x86: move the LAPIC va



On Thu, Oct 20, 2016 at 06:11:59PM +0200, Maxime Villard wrote:
> Le 16/10/2016 à 16:32, Joerg Sonnenberger a écrit :
> > On Sun, Oct 16, 2016 at 01:52:18PM +0200, Maxime Villard wrote:
> > > Yes, I thought about that. But how do you access the fields from assembly?
> > > At the end of the day, you still need offsets, and it was better to have
> > > different pointers.
> > 
> > Just like fields in the trap frame for example are accessed. Put them in
> > genassym.cf and use the created offset in the actual store. It doesn't
> > even add another command.
> 
> That's not what I meant, but it doesn't matter anymore.

This would read a lot less confrontational if you included that it
doesn't matter because the patch style already changed to that.

> > > I've removed lapic_tpr, which means there is only one pointer to the LAPIC
> > > page and each register access is done with offsets. I have reupdated and
> > > resimplified my patch. The only thing we do now is allocating one page of
> > > va at boot time, and add a level of indirection in the asm code.
> > 
> > The access via read/write reg is effectively the same as above. I'm not
> > a fan of the inline functions as they are due to the multiple layers of
> > casts...
> 
> What I'm personally not fan of is the name of these functions. But whatever.
> I guess I'll commit this patch in a week or two, unless someone disagrees.

Well, the third chunk in i386/vector.S is broken. You are changing %ebx
right before iret. To avoid other issues, the fourth chunk should just be
using %ebx too as that's obviously rewritten just afterwards.

Joerg


Home | Main Index | Thread Index | Old Index