@@ -160,8 +160,6 @@ static inline void wbinvd(void)
160160 PVOP_VCALL0 (cpu .wbinvd );
161161}
162162
163- #define get_kernel_rpl () (pv_info.kernel_rpl)
164-
165163static inline u64 paravirt_read_msr (unsigned msr )
166164{
167165 return PVOP_CALL1 (u64 , cpu .read_msr , msr );
@@ -277,12 +275,10 @@ static inline void load_TLS(struct thread_struct *t, unsigned cpu)
277275 PVOP_VCALL2 (cpu .load_tls , t , cpu );
278276}
279277
280- #ifdef CONFIG_X86_64
281278static inline void load_gs_index (unsigned int gs )
282279{
283280 PVOP_VCALL1 (cpu .load_gs_index , gs );
284281}
285- #endif
286282
287283static inline void write_ldt_entry (struct desc_struct * dt , int entry ,
288284 const void * desc )
@@ -375,52 +371,22 @@ static inline void paravirt_release_p4d(unsigned long pfn)
375371
376372static inline pte_t __pte (pteval_t val )
377373{
378- pteval_t ret ;
379-
380- if (sizeof (pteval_t ) > sizeof (long ))
381- ret = PVOP_CALLEE2 (pteval_t , mmu .make_pte , val , (u64 )val >> 32 );
382- else
383- ret = PVOP_CALLEE1 (pteval_t , mmu .make_pte , val );
384-
385- return (pte_t ) { .pte = ret };
374+ return (pte_t ) { PVOP_CALLEE1 (pteval_t , mmu .make_pte , val ) };
386375}
387376
388377static inline pteval_t pte_val (pte_t pte )
389378{
390- pteval_t ret ;
391-
392- if (sizeof (pteval_t ) > sizeof (long ))
393- ret = PVOP_CALLEE2 (pteval_t , mmu .pte_val ,
394- pte .pte , (u64 )pte .pte >> 32 );
395- else
396- ret = PVOP_CALLEE1 (pteval_t , mmu .pte_val , pte .pte );
397-
398- return ret ;
379+ return PVOP_CALLEE1 (pteval_t , mmu .pte_val , pte .pte );
399380}
400381
401382static inline pgd_t __pgd (pgdval_t val )
402383{
403- pgdval_t ret ;
404-
405- if (sizeof (pgdval_t ) > sizeof (long ))
406- ret = PVOP_CALLEE2 (pgdval_t , mmu .make_pgd , val , (u64 )val >> 32 );
407- else
408- ret = PVOP_CALLEE1 (pgdval_t , mmu .make_pgd , val );
409-
410- return (pgd_t ) { ret };
384+ return (pgd_t ) { PVOP_CALLEE1 (pgdval_t , mmu .make_pgd , val ) };
411385}
412386
413387static inline pgdval_t pgd_val (pgd_t pgd )
414388{
415- pgdval_t ret ;
416-
417- if (sizeof (pgdval_t ) > sizeof (long ))
418- ret = PVOP_CALLEE2 (pgdval_t , mmu .pgd_val ,
419- pgd .pgd , (u64 )pgd .pgd >> 32 );
420- else
421- ret = PVOP_CALLEE1 (pgdval_t , mmu .pgd_val , pgd .pgd );
422-
423- return ret ;
389+ return PVOP_CALLEE1 (pgdval_t , mmu .pgd_val , pgd .pgd );
424390}
425391
426392#define __HAVE_ARCH_PTEP_MODIFY_PROT_TRANSACTION
@@ -438,78 +404,40 @@ static inline void ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned
438404 pte_t * ptep , pte_t old_pte , pte_t pte )
439405{
440406
441- if (sizeof (pteval_t ) > sizeof (long ))
442- /* 5 arg words */
443- pv_ops .mmu .ptep_modify_prot_commit (vma , addr , ptep , pte );
444- else
445- PVOP_VCALL4 (mmu .ptep_modify_prot_commit ,
446- vma , addr , ptep , pte .pte );
407+ PVOP_VCALL4 (mmu .ptep_modify_prot_commit , vma , addr , ptep , pte .pte );
447408}
448409
449410static inline void set_pte (pte_t * ptep , pte_t pte )
450411{
451- if (sizeof (pteval_t ) > sizeof (long ))
452- PVOP_VCALL3 (mmu .set_pte , ptep , pte .pte , (u64 )pte .pte >> 32 );
453- else
454- PVOP_VCALL2 (mmu .set_pte , ptep , pte .pte );
412+ PVOP_VCALL2 (mmu .set_pte , ptep , pte .pte );
455413}
456414
457415static inline void set_pte_at (struct mm_struct * mm , unsigned long addr ,
458416 pte_t * ptep , pte_t pte )
459417{
460- if (sizeof (pteval_t ) > sizeof (long ))
461- /* 5 arg words */
462- pv_ops .mmu .set_pte_at (mm , addr , ptep , pte );
463- else
464- PVOP_VCALL4 (mmu .set_pte_at , mm , addr , ptep , pte .pte );
418+ PVOP_VCALL4 (mmu .set_pte_at , mm , addr , ptep , pte .pte );
465419}
466420
467421static inline void set_pmd (pmd_t * pmdp , pmd_t pmd )
468422{
469- pmdval_t val = native_pmd_val (pmd );
470-
471- if (sizeof (pmdval_t ) > sizeof (long ))
472- PVOP_VCALL3 (mmu .set_pmd , pmdp , val , (u64 )val >> 32 );
473- else
474- PVOP_VCALL2 (mmu .set_pmd , pmdp , val );
423+ PVOP_VCALL2 (mmu .set_pmd , pmdp , native_pmd_val (pmd ));
475424}
476425
477- #if CONFIG_PGTABLE_LEVELS >= 3
478426static inline pmd_t __pmd (pmdval_t val )
479427{
480- pmdval_t ret ;
481-
482- if (sizeof (pmdval_t ) > sizeof (long ))
483- ret = PVOP_CALLEE2 (pmdval_t , mmu .make_pmd , val , (u64 )val >> 32 );
484- else
485- ret = PVOP_CALLEE1 (pmdval_t , mmu .make_pmd , val );
486-
487- return (pmd_t ) { ret };
428+ return (pmd_t ) { PVOP_CALLEE1 (pmdval_t , mmu .make_pmd , val ) };
488429}
489430
490431static inline pmdval_t pmd_val (pmd_t pmd )
491432{
492- pmdval_t ret ;
493-
494- if (sizeof (pmdval_t ) > sizeof (long ))
495- ret = PVOP_CALLEE2 (pmdval_t , mmu .pmd_val ,
496- pmd .pmd , (u64 )pmd .pmd >> 32 );
497- else
498- ret = PVOP_CALLEE1 (pmdval_t , mmu .pmd_val , pmd .pmd );
499-
500- return ret ;
433+ return PVOP_CALLEE1 (pmdval_t , mmu .pmd_val , pmd .pmd );
501434}
502435
503436static inline void set_pud (pud_t * pudp , pud_t pud )
504437{
505- pudval_t val = native_pud_val (pud );
506-
507- if (sizeof (pudval_t ) > sizeof (long ))
508- PVOP_VCALL3 (mmu .set_pud , pudp , val , (u64 )val >> 32 );
509- else
510- PVOP_VCALL2 (mmu .set_pud , pudp , val );
438+ PVOP_VCALL2 (mmu .set_pud , pudp , native_pud_val (pud ));
511439}
512- #if CONFIG_PGTABLE_LEVELS >= 4
440+
513441static inline pud_t __pud (pudval_t val )
514442{
515443 pudval_t ret ;
@@ -574,29 +502,6 @@ static inline void p4d_clear(p4d_t *p4dp)
574502 set_p4d (p4dp , __p4d (0 ));
575503}
576504
577- #endif /* CONFIG_PGTABLE_LEVELS == 4 */
578-
579- #endif /* CONFIG_PGTABLE_LEVELS >= 3 */
580-
581- #ifdef CONFIG_X86_PAE
582- /* Special-case pte-setting operations for PAE, which can't update a
583- 64-bit pte atomically */
584- static inline void set_pte_atomic (pte_t * ptep , pte_t pte )
585- {
586- PVOP_VCALL3 (mmu .set_pte_atomic , ptep , pte .pte , pte .pte >> 32 );
587- }
588-
589- static inline void pte_clear (struct mm_struct * mm , unsigned long addr ,
590- pte_t * ptep )
591- {
592- PVOP_VCALL3 (mmu .pte_clear , mm , addr , ptep );
593- }
594-
595- static inline void pmd_clear (pmd_t * pmdp )
596- {
597- PVOP_VCALL1 (mmu .pmd_clear , pmdp );
598- }
599- #else /* !CONFIG_X86_PAE */
600505static inline void set_pte_atomic (pte_t * ptep , pte_t pte )
601506{
602507 set_pte (ptep , pte );
@@ -612,7 +517,6 @@ static inline void pmd_clear(pmd_t *pmdp)
612517{
613518 set_pmd (pmdp , __pmd (0 ));
614519}
615- #endif /* CONFIG_X86_PAE */
616520
617521#define __HAVE_ARCH_START_CONTEXT_SWITCH
618522static inline void arch_start_context_switch (struct task_struct * prev )
0 commit comments