[IA64] remove unused PAL_CALL_IC_OFF
Linux maps PAL instructions with an ITR, but uses a DTC for PAL data. Section 11.10.2.1.3, "Making PAL Procedures Calls in Physical or Virtual Mode," of the SDM (rev 2.2), says we must therefore make all PAL calls with PSR.ic = 1 so that Linux can handle any TLB faults. PAL_CALL_IC_OFF is currently unused, and as long as we use the ITR + DTC strategy, we can't use it. So remove it. I also removed the code in ia64_pal_call_static() that conditionally cleared PSR.ic. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
@@ -764,7 +764,7 @@ struct ia64_pal_retval {
|
||||
* (generally 0) MUST be passed. Reserved parameters are not optional
|
||||
* parameters.
|
||||
*/
|
||||
extern struct ia64_pal_retval ia64_pal_call_static (u64, u64, u64, u64, u64);
|
||||
extern struct ia64_pal_retval ia64_pal_call_static (u64, u64, u64, u64);
|
||||
extern struct ia64_pal_retval ia64_pal_call_stacked (u64, u64, u64, u64);
|
||||
extern struct ia64_pal_retval ia64_pal_call_phys_static (u64, u64, u64, u64);
|
||||
extern struct ia64_pal_retval ia64_pal_call_phys_stacked (u64, u64, u64, u64);
|
||||
@@ -774,14 +774,7 @@ extern void ia64_load_scratch_fpregs (struct ia64_fpreg *);
|
||||
#define PAL_CALL(iprv,a0,a1,a2,a3) do { \
|
||||
struct ia64_fpreg fr[6]; \
|
||||
ia64_save_scratch_fpregs(fr); \
|
||||
iprv = ia64_pal_call_static(a0, a1, a2, a3, 0); \
|
||||
ia64_load_scratch_fpregs(fr); \
|
||||
} while (0)
|
||||
|
||||
#define PAL_CALL_IC_OFF(iprv,a0,a1,a2,a3) do { \
|
||||
struct ia64_fpreg fr[6]; \
|
||||
ia64_save_scratch_fpregs(fr); \
|
||||
iprv = ia64_pal_call_static(a0, a1, a2, a3, 1); \
|
||||
iprv = ia64_pal_call_static(a0, a1, a2, a3); \
|
||||
ia64_load_scratch_fpregs(fr); \
|
||||
} while (0)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user