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.
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.