mips: traps: Set WG bit in EBase register on Octeon

WG (bit 11) needs to be set on Octeon to enable writing bits 63:30 of
the exception base register.

Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
Stefan Roese 2020-05-14 11:59:06 +02:00 committed by Daniel Schwierzeck
parent a414281da4
commit a02bc1f992
2 changed files with 5 additions and 0 deletions

View File

@ -366,6 +366,7 @@
* Bits in the coprocessor 0 EBase register.
*/
#define EBASE_CPUNUM 0x3ff
#define EBASE_WG (_ULCAST_(1) << 11)
/*
* Bits in the coprocessor 0 config register.

View File

@ -108,6 +108,10 @@ void trap_init(ulong reloc_addr)
saved_ebase = read_c0_ebase() & 0xfffff000;
/* Set WG bit on Octeon to enable writing to bits 63:30 */
if (IS_ENABLED(CONFIG_ARCH_OCTEON))
ebase |= EBASE_WG;
write_c0_ebase(ebase);
clear_c0_status(ST0_BEV);
execution_hazard_barrier();