[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCHv4 15/43] uk/arch: Add necessary header files for Arm64
Hi Simon, > -----Original Message----- > From: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> > Sent: 2018年7月13日 18:32 > To: Julien Grall <Julien.Grall@xxxxxxx>; Wei Chen <Wei.Chen@xxxxxxx>; minios- > devel@xxxxxxxxxxxxxxxxxxxx > Cc: Kaly Xin <Kaly.Xin@xxxxxxx>; nd <nd@xxxxxxx> > Subject: Re: [Minios-devel] [UNIKRAFT PATCHv4 15/43] uk/arch: Add necessary > header files for Arm64 > > Hi all, > > On 13.07.2018 11:36, Julien Grall wrote: > > Hi, > > > > On 13/07/18 10:13, Wei Chen wrote: > >>>> +#ifndef __UKARCH_LCPU_H__ > >>>> +#error Do not include this header directly > >>>> +#endif > >>>> + > >>>> +struct __regs { > >>>> + /* Generic Purpose registers, from x0 ~ x29 */ > >>>> + unsigned long x[30]; > >>>> + > >>>> + /* Link Register (x30) */ > >>>> + unsigned long lr; > >>>> + > >>>> + /* Exception Link Register */ > >>>> + unsigned long elr_el1; > >>>> + > >>>> + /* Processor State Register */ > >>>> + unsigned long spsr_el1; > >>>> + > >>>> + /* Exception Status Register */ > >>>> + unsigned long esr_el1; > >>>> + > >>>> + /* Stack Pointer */ > >>>> + unsigned long sp; > >>>> +}; > >>>> + > >>>> +#define isb() __asm__ __volatile("isb" ::: "memory") > >>> > >>> What is this intended for? > >> > >> This is for instruction memory barrier. > > > > Just to clarify, isb is not a memory barrier ;). It is an instruction > > synchronization barrier. Any instructions in program order after the isb > > will only be fetched from cache/memory once the instruction has > > completed. This is used to ensure the effect of modification such as TLB > > invalidation, system registers have been taken into account. > > > > I am not aware of any equivalent on x86. > > > > Cheers, > > > > Nice, now I learned something more about Arm. ;-) I like the > explicitness of the architecture. It is giving you much more control > about when and what should happen on the hardware. > > My question: Is it clear for an Arm developer what "isb()" is or should > we add a short comment to this definition? Generally speaking it's enough. As you have such concern, I will add Some comments for it ; ) _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |