Merge tag 'riscv-for-linus-6.9-mw2' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-block.git] / arch / riscv / include / asm / pgtable.h
index b2e6965748f214d83531d1d31e315c0c26682c4f..97fcde30e2477d55f8046d844191a1e4b0ba5e1a 100644 (file)
@@ -84,7 +84,7 @@
  * Define vmemmap for pfn_to_page & page_to_pfn calls. Needed if kernel
  * is configured with CONFIG_SPARSEMEM_VMEMMAP enabled.
  */
-#define vmemmap                ((struct page *)VMEMMAP_START)
+#define vmemmap                ((struct page *)VMEMMAP_START - (phys_ram_base >> PAGE_SHIFT))
 
 #define PCI_IO_SIZE      SZ_16M
 #define PCI_IO_END       VMEMMAP_START
@@ -235,7 +235,7 @@ static inline int pmd_bad(pmd_t pmd)
 }
 
 #define pmd_leaf       pmd_leaf
-static inline int pmd_leaf(pmd_t pmd)
+static inline bool pmd_leaf(pmd_t pmd)
 {
        return pmd_present(pmd) && (pmd_val(pmd) & _PAGE_LEAF);
 }
@@ -523,6 +523,8 @@ static inline void __set_pte_at(struct mm_struct *mm, pte_t *ptep, pte_t pteval)
        set_pte(ptep, pteval);
 }
 
+#define PFN_PTE_SHIFT          _PAGE_PFN_SHIFT
+
 static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
                pte_t *ptep, pte_t pteval, unsigned int nr)
 {