@@ -2175,73 +2175,49 @@ static void xen_leave_lazy_mmu(void)
21752175 preempt_enable ();
21762176}
21772177
2178- static const typeof (pv_ops ) xen_mmu_ops __initconst = {
2179- .mmu = {
2180- .read_cr2 = __PV_IS_CALLEE_SAVE (xen_read_cr2 ),
2181- .write_cr2 = xen_write_cr2 ,
2182-
2183- .read_cr3 = xen_read_cr3 ,
2184- .write_cr3 = xen_write_cr3_init ,
2185-
2186- .flush_tlb_user = xen_flush_tlb ,
2187- .flush_tlb_kernel = xen_flush_tlb ,
2188- .flush_tlb_one_user = xen_flush_tlb_one_user ,
2189- .flush_tlb_multi = xen_flush_tlb_multi ,
2190-
2191- .pgd_alloc = xen_pgd_alloc ,
2192- .pgd_free = xen_pgd_free ,
2193-
2194- .alloc_pte = xen_alloc_pte_init ,
2195- .release_pte = xen_release_pte_init ,
2196- .alloc_pmd = xen_alloc_pmd_init ,
2197- .release_pmd = xen_release_pmd_init ,
2198-
2199- .set_pte = xen_set_pte_init ,
2200- .set_pmd = xen_set_pmd_hyper ,
2201-
2202- .ptep_modify_prot_start = xen_ptep_modify_prot_start ,
2203- .ptep_modify_prot_commit = xen_ptep_modify_prot_commit ,
2204-
2205- .pte_val = PV_CALLEE_SAVE (xen_pte_val ),
2206- .pgd_val = PV_CALLEE_SAVE (xen_pgd_val ),
2207-
2208- .make_pte = PV_CALLEE_SAVE (xen_make_pte_init ),
2209- .make_pgd = PV_CALLEE_SAVE (xen_make_pgd ),
2210-
2211- .set_pud = xen_set_pud_hyper ,
2212-
2213- .make_pmd = PV_CALLEE_SAVE (xen_make_pmd ),
2214- .pmd_val = PV_CALLEE_SAVE (xen_pmd_val ),
2215-
2216- .pud_val = PV_CALLEE_SAVE (xen_pud_val ),
2217- .make_pud = PV_CALLEE_SAVE (xen_make_pud ),
2218- .set_p4d = xen_set_p4d_hyper ,
2219-
2220- .alloc_pud = xen_alloc_pmd_init ,
2221- .release_pud = xen_release_pmd_init ,
2222-
2223- .p4d_val = PV_CALLEE_SAVE (xen_p4d_val ),
2224- .make_p4d = PV_CALLEE_SAVE (xen_make_p4d ),
2225-
2226- .enter_mmap = xen_enter_mmap ,
2227- .exit_mmap = xen_exit_mmap ,
2228-
2229- .lazy_mode = {
2230- .enter = xen_enter_lazy_mmu ,
2231- .leave = xen_leave_lazy_mmu ,
2232- .flush = xen_flush_lazy_mmu ,
2233- },
2234-
2235- .set_fixmap = xen_set_fixmap ,
2236- },
2237- };
2238-
22392178void __init xen_init_mmu_ops (void )
22402179{
22412180 x86_init .paging .pagetable_init = xen_pagetable_init ;
22422181 x86_init .hyper .init_after_bootmem = xen_after_bootmem ;
22432182
2244- pv_ops .mmu = xen_mmu_ops .mmu ;
2183+ pv_ops .mmu .read_cr2 = __PV_IS_CALLEE_SAVE (xen_read_cr2 );
2184+ pv_ops .mmu .write_cr2 = xen_write_cr2 ;
2185+ pv_ops .mmu .read_cr3 = xen_read_cr3 ;
2186+ pv_ops .mmu .write_cr3 = xen_write_cr3_init ;
2187+ pv_ops .mmu .flush_tlb_user = xen_flush_tlb ;
2188+ pv_ops .mmu .flush_tlb_kernel = xen_flush_tlb ;
2189+ pv_ops .mmu .flush_tlb_one_user = xen_flush_tlb_one_user ;
2190+ pv_ops .mmu .flush_tlb_multi = xen_flush_tlb_multi ;
2191+ pv_ops .mmu .pgd_alloc = xen_pgd_alloc ;
2192+ pv_ops .mmu .pgd_free = xen_pgd_free ;
2193+ pv_ops .mmu .alloc_pte = xen_alloc_pte_init ;
2194+ pv_ops .mmu .release_pte = xen_release_pte_init ;
2195+ pv_ops .mmu .alloc_pmd = xen_alloc_pmd_init ;
2196+ pv_ops .mmu .release_pmd = xen_release_pmd_init ;
2197+ pv_ops .mmu .set_pte = xen_set_pte_init ;
2198+ pv_ops .mmu .set_pmd = xen_set_pmd_hyper ;
2199+ pv_ops .mmu .ptep_modify_prot_start = xen_ptep_modify_prot_start ;
2200+ pv_ops .mmu .ptep_modify_prot_commit = xen_ptep_modify_prot_commit ;
2201+ pv_ops .mmu .pte_val = PV_CALLEE_SAVE (xen_pte_val );
2202+ pv_ops .mmu .pgd_val = PV_CALLEE_SAVE (xen_pgd_val );
2203+ pv_ops .mmu .make_pte = PV_CALLEE_SAVE (xen_make_pte_init );
2204+ pv_ops .mmu .make_pgd = PV_CALLEE_SAVE (xen_make_pgd );
2205+ pv_ops .mmu .set_pud = xen_set_pud_hyper ;
2206+ pv_ops .mmu .make_pmd = PV_CALLEE_SAVE (xen_make_pmd );
2207+ pv_ops .mmu .pmd_val = PV_CALLEE_SAVE (xen_pmd_val );
2208+ pv_ops .mmu .pud_val = PV_CALLEE_SAVE (xen_pud_val );
2209+ pv_ops .mmu .make_pud = PV_CALLEE_SAVE (xen_make_pud );
2210+ pv_ops .mmu .set_p4d = xen_set_p4d_hyper ;
2211+ pv_ops .mmu .alloc_pud = xen_alloc_pmd_init ;
2212+ pv_ops .mmu .release_pud = xen_release_pmd_init ;
2213+ pv_ops .mmu .p4d_val = PV_CALLEE_SAVE (xen_p4d_val );
2214+ pv_ops .mmu .make_p4d = PV_CALLEE_SAVE (xen_make_p4d );
2215+ pv_ops .mmu .enter_mmap = xen_enter_mmap ;
2216+ pv_ops .mmu .exit_mmap = xen_exit_mmap ;
2217+ pv_ops .mmu .lazy_mode .enter = xen_enter_lazy_mmu ;
2218+ pv_ops .mmu .lazy_mode .leave = xen_leave_lazy_mmu ;
2219+ pv_ops .mmu .lazy_mode .flush = xen_flush_lazy_mmu ;
2220+ pv_ops .mmu .set_fixmap = xen_set_fixmap ;
22452221
22462222 memset (dummy_mapping , 0xff , PAGE_SIZE );
22472223}
0 commit comments