MIPS: OCTEON: Save/Restore wider multiply registers in OCTEON III CPUs
The wide multiplier is twice as wide, so we need to save twice as much state. Detect the multiplier type (CPU type) at start up and install model specific handlers. [aleksey.makarov@auriga.com: conflict resolution, support for old compilers] Signed-off-by: David Daney <david.daney@cavium.com> Signed-off-by: Leonid Rosenboim <lrosenboim@caviumnetworks.com> Signed-off-by: Aleksey Makarov <aleksey.makarov@auriga.com> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/8933/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:

committed by
Ralf Baechle

parent
9d6b80faf9
commit
ac655fb762
@@ -229,6 +229,19 @@ static inline void octeon_npi_write32(uint64_t address, uint32_t val)
|
||||
cvmx_read64_uint32(address ^ 4);
|
||||
}
|
||||
|
||||
/* Octeon multiplier save/restore routines from octeon_switch.S */
|
||||
void octeon_mult_save(void);
|
||||
void octeon_mult_restore(void);
|
||||
void octeon_mult_save_end(void);
|
||||
void octeon_mult_restore_end(void);
|
||||
void octeon_mult_save3(void);
|
||||
void octeon_mult_save3_end(void);
|
||||
void octeon_mult_save2(void);
|
||||
void octeon_mult_save2_end(void);
|
||||
void octeon_mult_restore3(void);
|
||||
void octeon_mult_restore3_end(void);
|
||||
void octeon_mult_restore2(void);
|
||||
void octeon_mult_restore2_end(void);
|
||||
|
||||
/**
|
||||
* Read a 32bit value from the Octeon NPI register space
|
||||
|
Reference in New Issue
Block a user