From b1ccfa05fad760f2d24bf59232450d257852f863 Mon Sep 17 00:00:00 2001 From: Erik Walthinsen Date: Wed, 5 Sep 2001 21:50:43 +0000 Subject: [PATCH] Added HP-PA for the heck of it. Totally untested, of course. Original commit message from CVS: Added HP-PA for the heck of it. Totally untested, of course. --- configure.base | 2 ++ gst/gstarch.h | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/configure.base b/configure.base index 1720bd6ad0..c7e9dcf4be 100644 --- a/configure.base +++ b/configure.base @@ -141,6 +141,8 @@ case "x${target_cpu}" in AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a PPC]) ;; xmips*) HAVE_CPU_MIPS=yes AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;; + xhppa*) HAVE_CPU_HPPA=yes + AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;; esac dnl Determine endianness diff --git a/gst/gstarch.h b/gst/gstarch.h index 7634819dc5..82b1cc8638 100644 --- a/gst/gstarch.h +++ b/gst/gstarch.h @@ -144,6 +144,22 @@ struct minimal_stackframe { +/***** HP-PA *****/ +#elif defined(HAVE_CPU_HPPA) + +#define GST_ARCH_SET_SP(stackpointer) \ + __asm__("copy %0,%%sp\n\t" : : "r"(stackpointer)); + +#define GST_ARCH_CALL(target) \ + __asm__("copy $1,%%r22\n\t" // set call address \ + ".CALL\n\t" // call pseudo insn (why?) \ + "bl $$dyncall,%%r31\n\t" : : "r"(target)); + +// assume stackframe is 16 bytes +#define GST_ARCH_SETUP_STACK(sp) sp -= 4 + + + #else #error Need to know about this architecture, or have a generic implementation #endif -- 2.34.1