mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
Cleanup some leftover para-virtualization pieces
-----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJd5/h/AAoJEKurIx+X31iBmkQQAKir8H4eAzsZbhGWc4KYL/f9 uCzSYCehgcZrR3dvf/vVrK0lKDvR0G1mho3gYTxpANhCwdEdACOZaKyF9On+w3Go iBdO0XSxxz2A7TX3BznDu55crD98961mP6vKSodAQRjIEWRyw9WE6wpJpuEOeooh 2NMhcflM2HYK1Ygfxxl343dJbkaUy0ZPl7oGNKECBhyyCt36kzK5+7KJi9R4zqxu pFnGRFt3cxLREp4dl3tmXDLhYr21rMWkKu4rHCojic+lrWmxb2aftQuHoSDcWuix o/X4XQrlqu1nE2VaxUFdQ3FphVJFOhwUkx4pUt24aG2fqrSdPZwIHmDgw9rg1mJx ga4SSASDLfFuZy7yLjm0oe3np2WJwPXAR3CG/7LEd7kA1/wgaSA97LYOoHU9duz+ /XbpWFeNP1IJHu09hdnkRIPbeEH3ur+AzY9cAmt8FscGi/QN7dK341Lr3hCyd71K rI4+bz9XJQsUQ06eTtkFHgiSyPTpaqCbdwfWuo6ujrtiB45PQt6hAT4apMbxhrlP 0Tialx9bG8QvcfeNF0Da1IZYj/lgN5fSzCYKqRX75ZG8U4vER1zhSVrG1ZgeerY8 dTX8ts0HEJKRgAYQata2j7fHD00BJc4V72blPZM7DzNPOmtHN2edlA0QuQZAmJKt JEkdWyA0XmnH2HLV6Ej9 =dKZ1 -----END PGP SIGNATURE----- Merge tag 'please-pull-misc-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux Pull ia64 update from Tony Luck: "Cleanup some leftover para-virtualization pieces" * tag 'please-pull-misc-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: ia64: remove stale paravirt leftovers
This commit is contained in:
commit
ef66f6b8e3
@ -36,11 +36,7 @@ static inline void arch_maybe_save_ip(unsigned long flags)
|
||||
static inline unsigned long arch_local_save_flags(void)
|
||||
{
|
||||
ia64_stop();
|
||||
#ifdef CONFIG_PARAVIRT
|
||||
return ia64_get_psr_i();
|
||||
#else
|
||||
return ia64_getreg(_IA64_REG_PSR);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline unsigned long arch_local_irq_save(void)
|
||||
|
@ -31,7 +31,7 @@ extern void ia64_bad_param_for_setreg (void);
|
||||
extern void ia64_bad_param_for_getreg (void);
|
||||
|
||||
|
||||
#define ia64_native_setreg(regnum, val) \
|
||||
#define ia64_setreg(regnum, val) \
|
||||
({ \
|
||||
switch (regnum) { \
|
||||
case _IA64_REG_PSR_L: \
|
||||
@ -60,7 +60,7 @@ extern void ia64_bad_param_for_getreg (void);
|
||||
} \
|
||||
})
|
||||
|
||||
#define ia64_native_getreg(regnum) \
|
||||
#define ia64_getreg(regnum) \
|
||||
({ \
|
||||
__u64 ia64_intri_res; \
|
||||
\
|
||||
@ -384,7 +384,7 @@ extern void ia64_bad_param_for_getreg (void);
|
||||
|
||||
#define ia64_invala() asm volatile ("invala" ::: "memory")
|
||||
|
||||
#define ia64_native_thash(addr) \
|
||||
#define ia64_thash(addr) \
|
||||
({ \
|
||||
unsigned long ia64_intri_res; \
|
||||
asm volatile ("thash %0=%1" : "=r"(ia64_intri_res) : "r" (addr)); \
|
||||
@ -437,10 +437,10 @@ extern void ia64_bad_param_for_getreg (void);
|
||||
#define ia64_set_pmd(index, val) \
|
||||
asm volatile ("mov pmd[%0]=%1" :: "r"(index), "r"(val) : "memory")
|
||||
|
||||
#define ia64_native_set_rr(index, val) \
|
||||
#define ia64_set_rr(index, val) \
|
||||
asm volatile ("mov rr[%0]=%1" :: "r"(index), "r"(val) : "memory");
|
||||
|
||||
#define ia64_native_get_cpuid(index) \
|
||||
#define ia64_get_cpuid(index) \
|
||||
({ \
|
||||
unsigned long ia64_intri_res; \
|
||||
asm volatile ("mov %0=cpuid[%r1]" : "=r"(ia64_intri_res) : "rO"(index)); \
|
||||
@ -476,33 +476,33 @@ extern void ia64_bad_param_for_getreg (void);
|
||||
})
|
||||
|
||||
|
||||
#define ia64_native_get_pmd(index) \
|
||||
#define ia64_get_pmd(index) \
|
||||
({ \
|
||||
unsigned long ia64_intri_res; \
|
||||
asm volatile ("mov %0=pmd[%1]" : "=r"(ia64_intri_res) : "r"(index)); \
|
||||
ia64_intri_res; \
|
||||
})
|
||||
|
||||
#define ia64_native_get_rr(index) \
|
||||
#define ia64_get_rr(index) \
|
||||
({ \
|
||||
unsigned long ia64_intri_res; \
|
||||
asm volatile ("mov %0=rr[%1]" : "=r"(ia64_intri_res) : "r" (index)); \
|
||||
ia64_intri_res; \
|
||||
})
|
||||
|
||||
#define ia64_native_fc(addr) asm volatile ("fc %0" :: "r"(addr) : "memory")
|
||||
#define ia64_fc(addr) asm volatile ("fc %0" :: "r"(addr) : "memory")
|
||||
|
||||
|
||||
#define ia64_sync_i() asm volatile (";; sync.i" ::: "memory")
|
||||
|
||||
#define ia64_native_ssm(mask) asm volatile ("ssm %0":: "i"((mask)) : "memory")
|
||||
#define ia64_native_rsm(mask) asm volatile ("rsm %0":: "i"((mask)) : "memory")
|
||||
#define ia64_ssm(mask) asm volatile ("ssm %0":: "i"((mask)) : "memory")
|
||||
#define ia64_rsm(mask) asm volatile ("rsm %0":: "i"((mask)) : "memory")
|
||||
#define ia64_sum(mask) asm volatile ("sum %0":: "i"((mask)) : "memory")
|
||||
#define ia64_rum(mask) asm volatile ("rum %0":: "i"((mask)) : "memory")
|
||||
|
||||
#define ia64_ptce(addr) asm volatile ("ptc.e %0" :: "r"(addr))
|
||||
|
||||
#define ia64_native_ptcga(addr, size) \
|
||||
#define ia64_ptcga(addr, size) \
|
||||
do { \
|
||||
asm volatile ("ptc.ga %0,%1" :: "r"(addr), "r"(size) : "memory"); \
|
||||
ia64_dv_serialize_data(); \
|
||||
@ -607,7 +607,7 @@ do { \
|
||||
} \
|
||||
})
|
||||
|
||||
#define ia64_native_intrin_local_irq_restore(x) \
|
||||
#define ia64_intrin_local_irq_restore(x) \
|
||||
do { \
|
||||
asm volatile (";; cmp.ne p6,p7=%0,r0;;" \
|
||||
"(p6) ssm psr.i;" \
|
||||
|
@ -17,8 +17,8 @@
|
||||
* intrinsic
|
||||
*/
|
||||
|
||||
#define ia64_native_getreg __getReg
|
||||
#define ia64_native_setreg __setReg
|
||||
#define ia64_getreg __getReg
|
||||
#define ia64_setreg __setReg
|
||||
|
||||
#define ia64_hint __hint
|
||||
#define ia64_hint_pause __hint_pause
|
||||
@ -40,10 +40,10 @@
|
||||
#define ia64_invala_fr __invala_fr
|
||||
#define ia64_nop __nop
|
||||
#define ia64_sum __sum
|
||||
#define ia64_native_ssm __ssm
|
||||
#define ia64_ssm __ssm
|
||||
#define ia64_rum __rum
|
||||
#define ia64_native_rsm __rsm
|
||||
#define ia64_native_fc __fc
|
||||
#define ia64_rsm __rsm
|
||||
#define ia64_fc __fc
|
||||
|
||||
#define ia64_ldfs __ldfs
|
||||
#define ia64_ldfd __ldfd
|
||||
@ -89,17 +89,17 @@
|
||||
__setIndReg(_IA64_REG_INDR_PMC, index, val)
|
||||
#define ia64_set_pmd(index, val) \
|
||||
__setIndReg(_IA64_REG_INDR_PMD, index, val)
|
||||
#define ia64_native_set_rr(index, val) \
|
||||
#define ia64_set_rr(index, val) \
|
||||
__setIndReg(_IA64_REG_INDR_RR, index, val)
|
||||
|
||||
#define ia64_native_get_cpuid(index) \
|
||||
#define ia64_get_cpuid(index) \
|
||||
__getIndReg(_IA64_REG_INDR_CPUID, index)
|
||||
#define __ia64_get_dbr(index) __getIndReg(_IA64_REG_INDR_DBR, index)
|
||||
#define ia64_get_ibr(index) __getIndReg(_IA64_REG_INDR_IBR, index)
|
||||
#define ia64_get_pkr(index) __getIndReg(_IA64_REG_INDR_PKR, index)
|
||||
#define ia64_get_pmc(index) __getIndReg(_IA64_REG_INDR_PMC, index)
|
||||
#define ia64_native_get_pmd(index) __getIndReg(_IA64_REG_INDR_PMD, index)
|
||||
#define ia64_native_get_rr(index) __getIndReg(_IA64_REG_INDR_RR, index)
|
||||
#define ia64_get_pmd(index) __getIndReg(_IA64_REG_INDR_PMD, index)
|
||||
#define ia64_get_rr(index) __getIndReg(_IA64_REG_INDR_RR, index)
|
||||
|
||||
#define ia64_srlz_d __dsrlz
|
||||
#define ia64_srlz_i __isrlz
|
||||
@ -121,16 +121,16 @@
|
||||
#define ia64_ld8_acq __ld8_acq
|
||||
|
||||
#define ia64_sync_i __synci
|
||||
#define ia64_native_thash __thash
|
||||
#define ia64_native_ttag __ttag
|
||||
#define ia64_thash __thash
|
||||
#define ia64_ttag __ttag
|
||||
#define ia64_itcd __itcd
|
||||
#define ia64_itci __itci
|
||||
#define ia64_itrd __itrd
|
||||
#define ia64_itri __itri
|
||||
#define ia64_ptce __ptce
|
||||
#define ia64_ptcl __ptcl
|
||||
#define ia64_native_ptcg __ptcg
|
||||
#define ia64_native_ptcga __ptcga
|
||||
#define ia64_ptcg __ptcg
|
||||
#define ia64_ptcga __ptcga
|
||||
#define ia64_ptri __ptri
|
||||
#define ia64_ptrd __ptrd
|
||||
#define ia64_dep_mi _m64_dep_mi
|
||||
@ -147,13 +147,13 @@
|
||||
#define ia64_lfetch_fault __lfetch_fault
|
||||
#define ia64_lfetch_fault_excl __lfetch_fault_excl
|
||||
|
||||
#define ia64_native_intrin_local_irq_restore(x) \
|
||||
#define ia64_intrin_local_irq_restore(x) \
|
||||
do { \
|
||||
if ((x) != 0) { \
|
||||
ia64_native_ssm(IA64_PSR_I); \
|
||||
ia64_ssm(IA64_PSR_I); \
|
||||
ia64_srlz_d(); \
|
||||
} else { \
|
||||
ia64_native_rsm(IA64_PSR_I); \
|
||||
ia64_rsm(IA64_PSR_I); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
|
@ -21,15 +21,13 @@
|
||||
#endif
|
||||
#include <asm/cmpxchg.h>
|
||||
|
||||
#define ia64_native_get_psr_i() (ia64_native_getreg(_IA64_REG_PSR) & IA64_PSR_I)
|
||||
|
||||
#define ia64_native_set_rr0_to_rr4(val0, val1, val2, val3, val4) \
|
||||
#define ia64_set_rr0_to_rr4(val0, val1, val2, val3, val4) \
|
||||
do { \
|
||||
ia64_native_set_rr(0x0000000000000000UL, (val0)); \
|
||||
ia64_native_set_rr(0x2000000000000000UL, (val1)); \
|
||||
ia64_native_set_rr(0x4000000000000000UL, (val2)); \
|
||||
ia64_native_set_rr(0x6000000000000000UL, (val3)); \
|
||||
ia64_native_set_rr(0x8000000000000000UL, (val4)); \
|
||||
ia64_set_rr(0x0000000000000000UL, (val0)); \
|
||||
ia64_set_rr(0x2000000000000000UL, (val1)); \
|
||||
ia64_set_rr(0x4000000000000000UL, (val2)); \
|
||||
ia64_set_rr(0x6000000000000000UL, (val3)); \
|
||||
ia64_set_rr(0x8000000000000000UL, (val4)); \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
@ -85,41 +83,4 @@ extern unsigned long __bad_increment_for_ia64_fetch_and_add (void);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
#define IA64_INTRINSIC_API(name) ia64_native_ ## name
|
||||
#define IA64_INTRINSIC_MACRO(name) ia64_native_ ## name
|
||||
|
||||
|
||||
/************************************************/
|
||||
/* Instructions paravirtualized for correctness */
|
||||
/************************************************/
|
||||
/* fc, thash, get_cpuid, get_pmd, get_eflags, set_eflags */
|
||||
/* Note that "ttag" and "cover" are also privilege-sensitive; "ttag"
|
||||
* is not currently used (though it may be in a long-format VHPT system!)
|
||||
*/
|
||||
#define ia64_fc IA64_INTRINSIC_API(fc)
|
||||
#define ia64_thash IA64_INTRINSIC_API(thash)
|
||||
#define ia64_get_cpuid IA64_INTRINSIC_API(get_cpuid)
|
||||
#define ia64_get_pmd IA64_INTRINSIC_API(get_pmd)
|
||||
|
||||
|
||||
/************************************************/
|
||||
/* Instructions paravirtualized for performance */
|
||||
/************************************************/
|
||||
#define ia64_ssm IA64_INTRINSIC_MACRO(ssm)
|
||||
#define ia64_rsm IA64_INTRINSIC_MACRO(rsm)
|
||||
#define ia64_getreg IA64_INTRINSIC_MACRO(getreg)
|
||||
#define ia64_setreg IA64_INTRINSIC_API(setreg)
|
||||
#define ia64_set_rr IA64_INTRINSIC_API(set_rr)
|
||||
#define ia64_get_rr IA64_INTRINSIC_API(get_rr)
|
||||
#define ia64_ptcga IA64_INTRINSIC_API(ptcga)
|
||||
#define ia64_get_psr_i IA64_INTRINSIC_API(get_psr_i)
|
||||
#define ia64_intrin_local_irq_restore \
|
||||
IA64_INTRINSIC_API(intrin_local_irq_restore)
|
||||
#define ia64_set_rr0_to_rr4 IA64_INTRINSIC_API(set_rr0_to_rr4)
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
#endif /* _UAPI_ASM_IA64_INTRINSICS_H */
|
||||
|
Loading…
Reference in New Issue
Block a user