summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-06-27 21:21:45 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-06-27 21:21:45 +0000
commit6ba9c27971af14037d507633705656d3d3bb2fef (patch)
tree98e4f7d78b28942cab582e540384020bc649f6b6 /c/src/exec/score
parent2002-06-25 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-6ba9c27971af14037d507633705656d3d3bb2fef.tar.bz2
2002-06-27 Joel Sherrill <joel@OARcorp.com>
* Makefile.am, cpu.c, cpu_asm.S, rtems.S: Modified to make this all compile again. It has been a while since we have had a semi-working hppa1.1-rtems cross compiler. :)
Diffstat (limited to 'c/src/exec/score')
-rw-r--r--c/src/exec/score/cpu/hppa1.1/ChangeLog6
-rw-r--r--c/src/exec/score/cpu/hppa1.1/Makefile.am11
-rw-r--r--c/src/exec/score/cpu/hppa1.1/cpu.c2
-rw-r--r--c/src/exec/score/cpu/hppa1.1/cpu_asm.S28
-rw-r--r--c/src/exec/score/cpu/hppa1.1/rtems.S25
5 files changed, 66 insertions, 6 deletions
diff --git a/c/src/exec/score/cpu/hppa1.1/ChangeLog b/c/src/exec/score/cpu/hppa1.1/ChangeLog
index 63eb561124..0ecbae8518 100644
--- a/c/src/exec/score/cpu/hppa1.1/ChangeLog
+++ b/c/src/exec/score/cpu/hppa1.1/ChangeLog
@@ -1,3 +1,9 @@
+2002-06-27 Joel Sherrill <joel@OARcorp.com>
+
+ * Makefile.am, cpu.c, cpu_asm.S, rtems.S: Modified to make
+ this all compile again. It has been a while since we have
+ had a semi-working hppa1.1-rtems cross compiler. :)
+
2002-06-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Add RTEMS_PROG_CCAS
diff --git a/c/src/exec/score/cpu/hppa1.1/Makefile.am b/c/src/exec/score/cpu/hppa1.1/Makefile.am
index df96d5d269..4a049f574a 100644
--- a/c/src/exec/score/cpu/hppa1.1/Makefile.am
+++ b/c/src/exec/score/cpu/hppa1.1/Makefile.am
@@ -20,7 +20,7 @@ $(PROJECT_INCLUDE)/rtems:
$(PROJECT_INCLUDE)/rtems/score:
$(mkinstalldirs) $@
-include_HEADERS= asm.h
+include_HEADERS=
PREINSTALL_FILES = $(PROJECT_INCLUDE) $(include_HEADERS:%=$(PROJECT_INCLUDE)/%)
include_rtems_scoredir = $(includedir)/rtems/score
@@ -33,6 +33,9 @@ include_rtems_score_HEADERS = \
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
$(include_rtems_score_HEADERS:%.h=$(PROJECT_INCLUDE)/%.h)
+$(PROJECT_RELEASE)/lib$(MULTISUBDIR)/rtems$(LIB_VARIANT).o: $(ARCH)/rtems.o
+ $(INSTALL_DATA) $< $@
+
C_FILES = cpu.c
C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.o)
@@ -48,7 +51,7 @@ $(REL): $(rtems_cpu_rel_OBJECTS)
TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib$(MULTISUBDIR)/rtems$(LIB_VARIANT).o
-all-local: $(ARCH) $(rtems_cpu_rel_OBJECTS) $(REL) \
+all-local: $(ARCH) rtems/score/offsets.h $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) \
$(TMPINSTALL_FILES)
.PRECIOUS: $(REL)
@@ -59,8 +62,8 @@ EXTRA_DIST = cpu.c cpu_asm.S rtems.S
GENOFFSETS = $(PROJECT_TOPdir)/tools/cpu/hppa1.1/genoffsets
GENERIC_H_FILES = rtems/score/offsets.h
-rtems/score/offsets.h: $(GENOFFSETS) cpu.h
- @(mkinstalldirs) rtems/score
+rtems/score/offsets.h: $(GENOFFSETS) rtems/score/cpu.h
+ $(mkinstalldirs) rtems/score
$(RM) $@
$(GENOFFSETS) > $@
CLEANFILES = rtems/score/offsets.h
diff --git a/c/src/exec/score/cpu/hppa1.1/cpu.c b/c/src/exec/score/cpu/hppa1.1/cpu.c
index 282e0e53b6..19a5476a79 100644
--- a/c/src/exec/score/cpu/hppa1.1/cpu.c
+++ b/c/src/exec/score/cpu/hppa1.1/cpu.c
@@ -178,7 +178,7 @@ hppa_cpu_halt(unsigned32 the_error)
* XXXXX NOTE: This label is only needed that that when
* the simulator stops, it shows the label name specified
*/
- HPPA_ASM_LABEL("_hppa_cpu_halt");
+ /* HPPA_ASM_LABEL("_asm_hppa_cpu_halt");*/
HPPA_ASM_BREAK(0, 0);
}
diff --git a/c/src/exec/score/cpu/hppa1.1/cpu_asm.S b/c/src/exec/score/cpu/hppa1.1/cpu_asm.S
index 1c6874f8a9..7ad9b39810 100644
--- a/c/src/exec/score/cpu/hppa1.1/cpu_asm.S
+++ b/c/src/exec/score/cpu/hppa1.1/cpu_asm.S
@@ -23,6 +23,29 @@
#include <rtems/score/cpu.h>
#include <rtems/score/offsets.h>
+#if 0
+#define TEXT_SEGMENT \
+ .SPACE $TEXT$ !\
+ .SUBSPA $CODE$
+#define RO_SEGMENT \
+ .SPACE $TEXT$ !\
+ .SUBSPA $lit$
+#define DATA_SEGMENT \
+ .SPACE $PRIVATE$ !\
+ .SUBSPA $data$
+#define BSS_SEGMENT \
+ .SPACE $PRIVATE$ !\
+ .SUBSPA $bss$
+#else
+#define TEXT_SEGMENT .text
+#define RO_SEGMENT .rodata
+#define DATA_SEGMENT .data
+#define BSS_SEGMENT .bss
+#endif
+
+
+
+#if 0
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
@@ -32,6 +55,9 @@
.SPACE $TEXT$
.SUBSPA $CODE$
+#endif
+ TEXT_SEGMENT
+
/*
* Special register usage for context switch and interrupts
* Stay away from %cr28 which is used for TLB misses on 72000
@@ -311,7 +337,7 @@ stack_done:
.import _ISR_Vector_table,data
ldil L%_ISR_Vector_table,%r8
ldo R%_ISR_Vector_table(%r8),%r8
- ldw (%r8),%r8
+ ldw 0(%r8),%r8
ldwx,s %r9(%r8),%r8
/*
diff --git a/c/src/exec/score/cpu/hppa1.1/rtems.S b/c/src/exec/score/cpu/hppa1.1/rtems.S
index a16f57c114..c4f1c91238 100644
--- a/c/src/exec/score/cpu/hppa1.1/rtems.S
+++ b/c/src/exec/score/cpu/hppa1.1/rtems.S
@@ -16,6 +16,28 @@
#include <rtems/score/hppa.h>
#include <rtems/score/cpu_asm.h>
+#if 0
+#define TEXT_SEGMENT \
+ .SPACE $TEXT$ !\
+ .SUBSPA $CODE$
+#define RO_SEGMENT \
+ .SPACE $TEXT$ !\
+ .SUBSPA $lit$
+#define DATA_SEGMENT \
+ .SPACE $PRIVATE$ !\
+ .SUBSPA $data$
+#define BSS_SEGMENT \
+ .SPACE $PRIVATE$ !\
+ .SUBSPA $bss$
+#else
+#define TEXT_SEGMENT .text
+#define RO_SEGMENT .rodata
+#define DATA_SEGMENT .data
+#define BSS_SEGMENT .bss
+#endif
+
+
+#if 0
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
@@ -24,7 +46,9 @@
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
.SPACE $TEXT$
.SUBSPA $CODE$
+#endif
+ TEXT_SEGMENT
.align 32
.EXPORT cpu_jump_to_directive,ENTRY,PRIV_LEV=0
cpu_jump_to_directive
@@ -32,6 +56,7 @@ cpu_jump_to_directive
.CALLINFO FRAME=0,NO_CALLS
.ENTRY
+
# invoke user interrupt handler
# XXX: look at register usage and code