On Sat, Nov 10, 2012 at 03:42:17PM +0000, Christoffer Dall wrote:
> KVM uses the stage-2 page tables and the Hyp page table format,
> so we define the fields and page protection flags needed by KVM.
> 
> The nomenclature is this:
>  - page_hyp:        PL2 code/data mappings
>  - page_hyp_device: PL2 device mappings (vgic access)
>  - page_s2:         Stage-2 code/data page mappings
>  - page_s2_device:  Stage-2 device mappings (vgic access)
> 
> Reviewed-by: Marcelo Tosatti <mtosa...@redhat.com>
> Christoffer Dall <c.d...@virtualopensystems.com>

[...]

> diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
> index 941dfb9..087d949 100644
> --- a/arch/arm/mm/mmu.c
> +++ b/arch/arm/mm/mmu.c
> @@ -57,43 +57,61 @@ static unsigned int cachepolicy __initdata = 
> CPOLICY_WRITEBACK;
>  static unsigned int ecc_mask __initdata = 0;
>  pgprot_t pgprot_user;
>  pgprot_t pgprot_kernel;
> +pgprot_t pgprot_hyp_device;
> +pgprot_t pgprot_s2;
> +pgprot_t pgprot_s2_device;
>  
>  EXPORT_SYMBOL(pgprot_user);
>  EXPORT_SYMBOL(pgprot_kernel);
> +EXPORT_SYMBOL(pgprot_hyp_device);
> +EXPORT_SYMBOL(pgprot_s2);
> +EXPORT_SYMBOL(pgprot_s2_device);

Do we still need these?

>  struct cachepolicy {
>       const char      policy[16];
>       unsigned int    cr_mask;
>       pmdval_t        pmd;
>       pteval_t        pte;
> +     pteval_t        pte_s2;
>  };
>  
> +#ifdef CONFIG_ARM_LPAE
> +#define s2_policy(policy)    policy
> +#else
> +#define s2_policy(policy)    0
> +#endif

Put the macro in pgtable-{2,3}level.h?

Will
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to