sh: Tidy up NEFF-based sign extension for SH-5.
This consolidates all of the NEFF-based sign extension for SH-5. In the future the other SH code will need to make use of this as well, so make it generic in preparation for more 32/64 consolidation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
@@ -56,16 +56,7 @@ inline void __do_tlb_refill(unsigned long address,
|
||||
/*
|
||||
* Set PTEH register
|
||||
*/
|
||||
pteh = address & MMU_VPN_MASK;
|
||||
|
||||
/* Sign extend based on neff. */
|
||||
#if (NEFF == 32)
|
||||
/* Faster sign extension */
|
||||
pteh = (unsigned long long)(signed long long)(signed long)pteh;
|
||||
#else
|
||||
/* General case */
|
||||
pteh = (pteh & NEFF_SIGN) ? (pteh | NEFF_MASK) : pteh;
|
||||
#endif
|
||||
pteh = neff_sign_extend(address & MMU_VPN_MASK);
|
||||
|
||||
/* Set the ASID. */
|
||||
pteh |= get_asid() << PTEH_ASID_SHIFT;
|
||||
|
Reference in New Issue
Block a user