2003-02-05 Chris Demetriou <cgd@broadcom.com>
* mips/cfe.c (hardware_hazard_hook): Move... * mips/cfe_prestart.S (hardware_hazard_hook): To here, and translate into assembly.
This commit is contained in:
parent
5017a3dafa
commit
3a357eadba
|
@ -1,14 +1,20 @@
|
||||||
2002-01-08 Richard Sandiford <rsandifo@redhat.com
|
2003-02-05 Chris Demetriou <cgd@broadcom.com>
|
||||||
|
|
||||||
|
* mips/cfe.c (hardware_hazard_hook): Move...
|
||||||
|
* mips/cfe_prestart.S (hardware_hazard_hook): To here,
|
||||||
|
and translate into assembly.
|
||||||
|
|
||||||
|
2003-01-08 Richard Sandiford <rsandifo@redhat.com
|
||||||
|
|
||||||
* mips/crt0.S (_start): Allocate 64 bytes of stack instead of 32.
|
* mips/crt0.S (_start): Allocate 64 bytes of stack instead of 32.
|
||||||
Pass an empty argv and envp to main().
|
Pass an empty argv and envp to main().
|
||||||
|
|
||||||
2002-01-08 Richard Sandiford <rsandifo@redhat.com
|
2003-01-08 Richard Sandiford <rsandifo@redhat.com
|
||||||
|
|
||||||
* mips/configure.in (mips64vr-elf, mips64vrel-elf): New config.
|
* mips/configure.in (mips64vr-elf, mips64vrel-elf): New config.
|
||||||
* mips/configure: Regenerate.
|
* mips/configure: Regenerate.
|
||||||
|
|
||||||
2002-01-07 Chris Demetriou <cgd@broadcom.com>
|
2003-01-07 Chris Demetriou <cgd@broadcom.com>
|
||||||
|
|
||||||
* crt0.S: Check for definition of __mips64 rather than
|
* crt0.S: Check for definition of __mips64 rather than
|
||||||
checking (__mips < 3).
|
checking (__mips < 3).
|
||||||
|
|
|
@ -96,23 +96,6 @@ hardware_init_hook(void)
|
||||||
cfe_conshandle = cfe_getstdhandle(CFE_STDHANDLE_CONSOLE);
|
cfe_conshandle = cfe_getstdhandle(CFE_STDHANDLE_CONSOLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Avoid worst-case execution hazards. This is targetted at the SB-1
|
|
||||||
pipe, and is much worse than it needs to be (not even counting
|
|
||||||
the subroutine call and return). */
|
|
||||||
void
|
|
||||||
hardware_hazard_hook(void)
|
|
||||||
{
|
|
||||||
__asm__ __volatile__ (" .set push \n"
|
|
||||||
" .set mips32 \n"
|
|
||||||
" .set noreorder \n"
|
|
||||||
" ssnop \n"
|
|
||||||
" ssnop \n"
|
|
||||||
" ssnop \n"
|
|
||||||
" bnel $0, $0, .+4 \n"
|
|
||||||
" ssnop \n"
|
|
||||||
" .set pop \n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Exit back to monitor, with the given status code. */
|
/* Exit back to monitor, with the given status code. */
|
||||||
void
|
void
|
||||||
hardware_exit_hook (int status)
|
hardware_exit_hook (int status)
|
||||||
|
|
|
@ -64,3 +64,23 @@ _prestart:
|
||||||
jr v0
|
jr v0
|
||||||
nop
|
nop
|
||||||
.end _prestart
|
.end _prestart
|
||||||
|
|
||||||
|
|
||||||
|
/* Avoid worst-case execution hazards. This is targetted at the SB-1
|
||||||
|
pipe, and is much worse than it needs to be (not even counting
|
||||||
|
the subroutine call and return). */
|
||||||
|
.globl hardware_hazard_hook
|
||||||
|
.ent hardware_hazard_hook
|
||||||
|
hardware_hazard_hook:
|
||||||
|
.set push
|
||||||
|
.set mips32
|
||||||
|
.set noreorder
|
||||||
|
ssnop
|
||||||
|
ssnop
|
||||||
|
ssnop
|
||||||
|
bnel $0, $0, .+4
|
||||||
|
ssnop
|
||||||
|
j ra
|
||||||
|
nop
|
||||||
|
.set pop
|
||||||
|
.end hardware_hazard_hook
|
||||||
|
|
Loading…
Reference in New Issue