Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2003-02-05 20:01:33 +0300
committerJeff Johnston <jjohnstn@redhat.com>2003-02-05 20:01:33 +0300
commit3a357eadbac77f2847d2aea7b228fca5a1406cb3 (patch)
treece224a9356fad9927bd5315fed281df743de8082
parent5017a3dafa5d01d47b74872600524f1559973c26 (diff)
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.
-rw-r--r--libgloss/ChangeLog12
-rw-r--r--libgloss/mips/cfe.c17
-rw-r--r--libgloss/mips/cfe_prestart.S20
3 files changed, 29 insertions, 20 deletions
diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog
index 7c03dfeea..754992a34 100644
--- a/libgloss/ChangeLog
+++ b/libgloss/ChangeLog
@@ -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.
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: 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
checking (__mips < 3).
diff --git a/libgloss/mips/cfe.c b/libgloss/mips/cfe.c
index 6efd57d1f..f5e1e54be 100644
--- a/libgloss/mips/cfe.c
+++ b/libgloss/mips/cfe.c
@@ -96,23 +96,6 @@ hardware_init_hook(void)
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. */
void
hardware_exit_hook (int status)
diff --git a/libgloss/mips/cfe_prestart.S b/libgloss/mips/cfe_prestart.S
index 4a1db5392..8548c1e47 100644
--- a/libgloss/mips/cfe_prestart.S
+++ b/libgloss/mips/cfe_prestart.S
@@ -64,3 +64,23 @@ _prestart:
jr v0
nop
.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