From 6ba9c27971af14037d507633705656d3d3bb2fef Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 27 Jun 2002 21:21:45 +0000 Subject: 2002-06-27 Joel Sherrill * 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. :) --- c/src/exec/score/cpu/hppa1.1/ChangeLog | 6 ++++++ c/src/exec/score/cpu/hppa1.1/Makefile.am | 11 +++++++---- c/src/exec/score/cpu/hppa1.1/cpu.c | 2 +- c/src/exec/score/cpu/hppa1.1/cpu_asm.S | 28 +++++++++++++++++++++++++++- c/src/exec/score/cpu/hppa1.1/rtems.S | 25 +++++++++++++++++++++++++ 5 files changed, 66 insertions(+), 6 deletions(-) (limited to 'c/src') 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 + + * 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 * 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 #include +#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 #include +#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 -- cgit v1.2.3