x86/mm: Remove P*D_PAGE_MASK and P*D_PAGE_SIZE macros
authorPasha Tatashin <pasha.tatashin@soleen.com>
Mon, 16 May 2022 18:52:02 +0000 (18:52 +0000)
committerDave Hansen <dave.hansen@linux.intel.com>
Thu, 15 Dec 2022 18:37:27 +0000 (10:37 -0800)
Other architectures and the common mm/ use P*D_MASK, and P*D_SIZE.
Remove the duplicated P*D_PAGE_MASK and P*D_PAGE_SIZE which are only
used in x86/*.

Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Link: https://lore.kernel.org/r/20220516185202.604654-1-tatashin@google.com
arch/x86/include/asm/page_types.h
arch/x86/kernel/amd_gart_64.c
arch/x86/kernel/head64.c
arch/x86/mm/mem_encrypt_boot.S
arch/x86/mm/mem_encrypt_identity.c
arch/x86/mm/pat/set_memory.c
arch/x86/mm/pti.c

index a506a41..86bd431 100644 (file)
 #define PAGE_SIZE              (_AC(1,UL) << PAGE_SHIFT)
 #define PAGE_MASK              (~(PAGE_SIZE-1))
 
-#define PMD_PAGE_SIZE          (_AC(1, UL) << PMD_SHIFT)
-#define PMD_PAGE_MASK          (~(PMD_PAGE_SIZE-1))
-
-#define PUD_PAGE_SIZE          (_AC(1, UL) << PUD_SHIFT)
-#define PUD_PAGE_MASK          (~(PUD_PAGE_SIZE-1))
-
 #define __VIRTUAL_MASK         ((1UL << __VIRTUAL_MASK_SHIFT) - 1)
 
-/* Cast *PAGE_MASK to a signed type so that it is sign-extended if
+/* Cast P*D_MASK to a signed type so that it is sign-extended if
    virtual addresses are 32-bits but physical addresses are larger
    (ie, 32-bit PAE). */
 #define PHYSICAL_PAGE_MASK     (((signed long)PAGE_MASK) & __PHYSICAL_MASK)
-#define PHYSICAL_PMD_PAGE_MASK (((signed long)PMD_PAGE_MASK) & __PHYSICAL_MASK)
-#define PHYSICAL_PUD_PAGE_MASK (((signed long)PUD_PAGE_MASK) & __PHYSICAL_MASK)
+#define PHYSICAL_PMD_PAGE_MASK (((signed long)PMD_MASK) & __PHYSICAL_MASK)
+#define PHYSICAL_PUD_PAGE_MASK (((signed long)PUD_MASK) & __PHYSICAL_MASK)
 
 #define HPAGE_SHIFT            PMD_SHIFT
 #define HPAGE_SIZE             (_AC(1,UL) << HPAGE_SHIFT)
index 19a0207..56a917d 100644 (file)
@@ -504,7 +504,7 @@ static __init unsigned long check_iommu_size(unsigned long aper, u64 aper_size)
        }
 
        a = aper + iommu_size;
-       iommu_size -= round_up(a, PMD_PAGE_SIZE) - a;
+       iommu_size -= round_up(a, PMD_SIZE) - a;
 
        if (iommu_size < 64*1024*1024) {
                pr_warn("PCI-DMA: Warning: Small IOMMU %luMB."
index 6a3cfaf..387e4b1 100644 (file)
@@ -203,7 +203,7 @@ unsigned long __head __startup_64(unsigned long physaddr,
        load_delta = physaddr - (unsigned long)(_text - __START_KERNEL_map);
 
        /* Is the address not 2M aligned? */
-       if (load_delta & ~PMD_PAGE_MASK)
+       if (load_delta & ~PMD_MASK)
                for (;;);
 
        /* Include the SME encryption mask in the fixup value */
index 9de3d90..e25288e 100644 (file)
@@ -26,7 +26,7 @@ SYM_FUNC_START(sme_encrypt_execute)
         *   RCX - virtual address of the encryption workarea, including:
         *     - stack page (PAGE_SIZE)
         *     - encryption routine page (PAGE_SIZE)
-        *     - intermediate copy buffer (PMD_PAGE_SIZE)
+        *     - intermediate copy buffer (PMD_SIZE)
         *    R8 - physical address of the pagetables to use for encryption
         */
 
@@ -123,7 +123,7 @@ SYM_FUNC_START(__enc_copy)
        wbinvd                          /* Invalidate any cache entries */
 
        /* Copy/encrypt up to 2MB at a time */
-       movq    $PMD_PAGE_SIZE, %r12
+       movq    $PMD_SIZE, %r12
 1:
        cmpq    %r12, %r9
        jnb     2f
index f415498..88cccd6 100644 (file)
@@ -93,7 +93,7 @@ struct sme_populate_pgd_data {
  * section is 2MB aligned to allow for simple pagetable setup using only
  * PMD entries (see vmlinux.lds.S).
  */
-static char sme_workarea[2 * PMD_PAGE_SIZE] __section(".init.scratch");
+static char sme_workarea[2 * PMD_SIZE] __section(".init.scratch");
 
 static char sme_cmdline_arg[] __initdata = "mem_encrypt";
 static char sme_cmdline_on[]  __initdata = "on";
@@ -198,8 +198,8 @@ static void __init __sme_map_range_pmd(struct sme_populate_pgd_data *ppd)
        while (ppd->vaddr < ppd->vaddr_end) {
                sme_populate_pgd_large(ppd);
 
-               ppd->vaddr += PMD_PAGE_SIZE;
-               ppd->paddr += PMD_PAGE_SIZE;
+               ppd->vaddr += PMD_SIZE;
+               ppd->paddr += PMD_SIZE;
        }
 }
 
@@ -225,11 +225,11 @@ static void __init __sme_map_range(struct sme_populate_pgd_data *ppd,
        vaddr_end = ppd->vaddr_end;
 
        /* If start is not 2MB aligned, create PTE entries */
-       ppd->vaddr_end = ALIGN(ppd->vaddr, PMD_PAGE_SIZE);
+       ppd->vaddr_end = ALIGN(ppd->vaddr, PMD_SIZE);
        __sme_map_range_pte(ppd);
 
        /* Create PMD entries */
-       ppd->vaddr_end = vaddr_end & PMD_PAGE_MASK;
+       ppd->vaddr_end = vaddr_end & PMD_MASK;
        __sme_map_range_pmd(ppd);
 
        /* If end is not 2MB aligned, create PTE entries */
@@ -325,7 +325,7 @@ void __init sme_encrypt_kernel(struct boot_params *bp)
 
        /* Physical addresses gives us the identity mapped virtual addresses */
        kernel_start = __pa_symbol(_text);
-       kernel_end = ALIGN(__pa_symbol(_end), PMD_PAGE_SIZE);
+       kernel_end = ALIGN(__pa_symbol(_end), PMD_SIZE);
        kernel_len = kernel_end - kernel_start;
 
        initrd_start = 0;
@@ -355,12 +355,12 @@ void __init sme_encrypt_kernel(struct boot_params *bp)
         *   executable encryption area size:
         *     stack page (PAGE_SIZE)
         *     encryption routine page (PAGE_SIZE)
-        *     intermediate copy buffer (PMD_PAGE_SIZE)
+        *     intermediate copy buffer (PMD_SIZE)
         *   pagetable structures for the encryption of the kernel
         *   pagetable structures for workarea (in case not currently mapped)
         */
        execute_start = workarea_start;
-       execute_end = execute_start + (PAGE_SIZE * 2) + PMD_PAGE_SIZE;
+       execute_end = execute_start + (PAGE_SIZE * 2) + PMD_SIZE;
        execute_len = execute_end - execute_start;
 
        /*
@@ -383,7 +383,7 @@ void __init sme_encrypt_kernel(struct boot_params *bp)
         * before it is mapped.
         */
        workarea_len = execute_len + pgtable_area_len;
-       workarea_end = ALIGN(workarea_start + workarea_len, PMD_PAGE_SIZE);
+       workarea_end = ALIGN(workarea_start + workarea_len, PMD_SIZE);
 
        /*
         * Set the address to the start of where newly created pagetable
index f275605..06eb891 100644 (file)
@@ -743,11 +743,11 @@ phys_addr_t slow_virt_to_phys(void *__virt_addr)
        switch (level) {
        case PG_LEVEL_1G:
                phys_addr = (phys_addr_t)pud_pfn(*(pud_t *)pte) << PAGE_SHIFT;
-               offset = virt_addr & ~PUD_PAGE_MASK;
+               offset = virt_addr & ~PUD_MASK;
                break;
        case PG_LEVEL_2M:
                phys_addr = (phys_addr_t)pmd_pfn(*(pmd_t *)pte) << PAGE_SHIFT;
-               offset = virt_addr & ~PMD_PAGE_MASK;
+               offset = virt_addr & ~PMD_MASK;
                break;
        default:
                phys_addr = (phys_addr_t)pte_pfn(*pte) << PAGE_SHIFT;
@@ -1037,7 +1037,7 @@ __split_large_page(struct cpa_data *cpa, pte_t *kpte, unsigned long address,
        case PG_LEVEL_1G:
                ref_prot = pud_pgprot(*(pud_t *)kpte);
                ref_pfn = pud_pfn(*(pud_t *)kpte);
-               pfninc = PMD_PAGE_SIZE >> PAGE_SHIFT;
+               pfninc = PMD_SIZE >> PAGE_SHIFT;
                lpaddr = address & PUD_MASK;
                lpinc = PMD_SIZE;
                /*
index ffe3b3a..78414c6 100644 (file)
@@ -592,7 +592,7 @@ static void pti_set_kernel_image_nonglobal(void)
         * of the image.
         */
        unsigned long start = PFN_ALIGN(_text);
-       unsigned long end = ALIGN((unsigned long)_end, PMD_PAGE_SIZE);
+       unsigned long end = ALIGN((unsigned long)_end, PMD_SIZE);
 
        /*
         * This clears _PAGE_GLOBAL from the entire kernel image.