Messages in this thread | | | Subject | Re: [RFC v2 11/14] arm64: Move the ASID allocator code in a separate file | From | James Morse <> | Date | Thu, 4 Jul 2019 15:56:52 +0100 |
| |
Hi Julien,
On 20/06/2019 14:06, Julien Grall wrote: > We will want to re-use the ASID allocator in a separate context (e.g > allocating VMID). So move the code in a new file. > > The function asid_check_context has been moved in the header as a static > inline function because we want to avoid add a branch when checking if the > ASID is still valid.
> diff --git a/arch/arm64/mm/context.c b/arch/arm64/mm/context.c > index 3df63a28856c..b745cf356fe1 100644 > --- a/arch/arm64/mm/context.c > +++ b/arch/arm64/mm/context.c > @@ -23,46 +23,21 @@
> -#define ASID_FIRST_VERSION(info) NUM_ASIDS(info)
> diff --git a/arch/arm64/lib/asid.c b/arch/arm64/lib/asid.c > new file mode 100644 > index 000000000000..7252e4fdd5e9 > --- /dev/null > +++ b/arch/arm64/lib/asid.c > @@ -0,0 +1,185 @@
> +#define ASID_FIRST_VERSION(info) (1UL << ((info)->bits))
(oops!)
> @@ -344,7 +115,7 @@ static int asids_init(void) > if (!asid_allocator_init(&asid_info, bits, ASID_PER_CONTEXT, > asid_flush_cpu_ctxt)) > panic("Unable to initialize ASID allocator for %lu ASIDs\n", > - 1UL << bits); > + NUM_ASIDS(&asid_info));
Could this go in the patch that adds NUM_ASIDS()?
Thanks,
James
| |