MIPS: COP2: CPP macro safety fixes.
- Don't pass things to macros that couldn't be dereferences if that macro was actually a function. - Don't use empty function-like macros. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
b10b43ba69
commit
68c77d8a1e
|
@ -16,8 +16,8 @@
|
||||||
extern void octeon_cop2_save(struct octeon_cop2_state *);
|
extern void octeon_cop2_save(struct octeon_cop2_state *);
|
||||||
extern void octeon_cop2_restore(struct octeon_cop2_state *);
|
extern void octeon_cop2_restore(struct octeon_cop2_state *);
|
||||||
|
|
||||||
#define cop2_save(r) octeon_cop2_save(r)
|
#define cop2_save(r) octeon_cop2_save(&(r)->thread.cp2)
|
||||||
#define cop2_restore(r) octeon_cop2_restore(r)
|
#define cop2_restore(r) octeon_cop2_restore(&(r)->thread.cp2)
|
||||||
|
|
||||||
#define cop2_present 1
|
#define cop2_present 1
|
||||||
#define cop2_lazy_restore 1
|
#define cop2_lazy_restore 1
|
||||||
|
@ -26,26 +26,26 @@ extern void octeon_cop2_restore(struct octeon_cop2_state *);
|
||||||
|
|
||||||
extern void nlm_cop2_save(struct nlm_cop2_state *);
|
extern void nlm_cop2_save(struct nlm_cop2_state *);
|
||||||
extern void nlm_cop2_restore(struct nlm_cop2_state *);
|
extern void nlm_cop2_restore(struct nlm_cop2_state *);
|
||||||
#define cop2_save(r) nlm_cop2_save(r)
|
|
||||||
#define cop2_restore(r) nlm_cop2_restore(r)
|
#define cop2_save(r) nlm_cop2_save(&(r)->thread.cp2)
|
||||||
|
#define cop2_restore(r) nlm_cop2_restore(&(r)->thread.cp2)
|
||||||
|
|
||||||
#define cop2_present 1
|
#define cop2_present 1
|
||||||
#define cop2_lazy_restore 0
|
#define cop2_lazy_restore 0
|
||||||
|
|
||||||
#elif defined(CONFIG_CPU_LOONGSON3)
|
#elif defined(CONFIG_CPU_LOONGSON3)
|
||||||
|
|
||||||
#define cop2_save(r)
|
|
||||||
#define cop2_restore(r)
|
|
||||||
|
|
||||||
#define cop2_present 1
|
#define cop2_present 1
|
||||||
#define cop2_lazy_restore 1
|
#define cop2_lazy_restore 1
|
||||||
|
#define cop2_save(r) do { (r); } while (0)
|
||||||
|
#define cop2_restore(r) do { (r); } while (0)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define cop2_present 0
|
#define cop2_present 0
|
||||||
#define cop2_lazy_restore 0
|
#define cop2_lazy_restore 0
|
||||||
#define cop2_save(r)
|
#define cop2_save(r) do { (r); } while (0)
|
||||||
#define cop2_restore(r)
|
#define cop2_restore(r) do { (r); } while (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
enum cu2_ops {
|
enum cu2_ops {
|
||||||
|
|
|
@ -92,7 +92,7 @@ do { \
|
||||||
KSTK_STATUS(prev) &= ~ST0_CU2; \
|
KSTK_STATUS(prev) &= ~ST0_CU2; \
|
||||||
__c0_stat = read_c0_status(); \
|
__c0_stat = read_c0_status(); \
|
||||||
write_c0_status(__c0_stat | ST0_CU2); \
|
write_c0_status(__c0_stat | ST0_CU2); \
|
||||||
cop2_save(&prev->thread.cp2); \
|
cop2_save(prev); \
|
||||||
write_c0_status(__c0_stat & ~ST0_CU2); \
|
write_c0_status(__c0_stat & ~ST0_CU2); \
|
||||||
} \
|
} \
|
||||||
__clear_software_ll_bit(); \
|
__clear_software_ll_bit(); \
|
||||||
|
@ -111,7 +111,7 @@ do { \
|
||||||
(KSTK_STATUS(current) & ST0_CU2)) { \
|
(KSTK_STATUS(current) & ST0_CU2)) { \
|
||||||
__c0_stat = read_c0_status(); \
|
__c0_stat = read_c0_status(); \
|
||||||
write_c0_status(__c0_stat | ST0_CU2); \
|
write_c0_status(__c0_stat | ST0_CU2); \
|
||||||
cop2_restore(¤t->thread.cp2); \
|
cop2_restore(current); \
|
||||||
write_c0_status(__c0_stat & ~ST0_CU2); \
|
write_c0_status(__c0_stat & ~ST0_CU2); \
|
||||||
} \
|
} \
|
||||||
if (cpu_has_dsp) \
|
if (cpu_has_dsp) \
|
||||||
|
|
Loading…
Reference in New Issue