qemu on alpha

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

qemu on alpha

Gabriele Gorla-2
Hello,
I recently downloaded qemu-0.9.0 and tried to compile
it on alpha.
I was not able to get any target to compile.

I searched the mailing list but I was not able to find
any recent information on the alpha host status.

I am using gcc-3.3.6 on debian stable with upgraded
kernel
2.6.22
I have tried with gcc-3.4 and 4.1 with similar
results.

I patched the line:
#if defined (__x86_64__) || defined(__ia64) ||
defined(__alpha__)
of file dyngen-exec.h to add the alpha to the 64-bit
architectures to prevent redefinition of int64_t and
uint64_t

beside tons of warning about casting pointers to int
of different sizes I get the following two fatal
errors:

qemu-0.9.0/target-i386/ops_template.h:278: warning:
implicit declaration of function `GOTO_LABEL_PARAM'

qemu-0.9.0/target-i386/translate.c:1898: error: too
many arguments to function `gen_op_jnz_T0_label'
qemu-0.9.0/target-i386/translate.c:1900: error: too
many arguments to function `gen_op_jmp_label'

in the translate.c file the function is called with:
        gen_op_jmp_label(l2);

but in gen-op.h it is defined as:
static inline void gen_op_jmp_label(void)
{
    *gen_opc_ptr++ = INDEX_op_jmp_label;
}

same for gen_op_jnz_T0_label


for GOTO_LABEL_PARAM the definition is completely
missing from dyngen-exec.h (it is there for all other
host CPUs except m68k)

Unfortunately my understanding of the code is not
sufficient to do anything useful at this point.
I would really appreciate if someone could give me a
hint.

thanks,
GG






      ____________________________________________________________________________________
Never miss a thing.  Make Yahoo your home page.
http://www.yahoo.com/r/hs


Reply | Threaded
Open this post in threaded view
|

Re: qemu on alpha

Thiemo Seufer
Gabriele Gorla wrote:

> Hello,
> I recently downloaded qemu-0.9.0 and tried to compile
> it on alpha.
> I was not able to get any target to compile.
>
> I searched the mailing list but I was not able to find
> any recent information on the alpha host status.
>
> I am using gcc-3.3.6 on debian stable with upgraded
> kernel
> 2.6.22
> I have tried with gcc-3.4 and 4.1 with similar
> results.
>
> I patched the line:
> #if defined (__x86_64__) || defined(__ia64) ||
> defined(__alpha__)
> of file dyngen-exec.h to add the alpha to the 64-bit
> architectures to prevent redefinition of int64_t and
> uint64_t
>
> beside tons of warning about casting pointers to int
> of different sizes I get the following two fatal
> errors:
>
> qemu-0.9.0/target-i386/ops_template.h:278: warning:
> implicit declaration of function `GOTO_LABEL_PARAM'
>
> qemu-0.9.0/target-i386/translate.c:1898: error: too
> many arguments to function `gen_op_jnz_T0_label'
> qemu-0.9.0/target-i386/translate.c:1900: error: too
> many arguments to function `gen_op_jmp_label'
>
> in the translate.c file the function is called with:
>         gen_op_jmp_label(l2);
>
> but in gen-op.h it is defined as:
> static inline void gen_op_jmp_label(void)
> {
>     *gen_opc_ptr++ = INDEX_op_jmp_label;
> }
>
> same for gen_op_jnz_T0_label
>
>
> for GOTO_LABEL_PARAM the definition is completely
> missing from dyngen-exec.h (it is there for all other
> host CPUs except m68k)
>
> Unfortunately my understanding of the code is not
> sufficient to do anything useful at this point.
> I would really appreciate if someone could give me a
> hint.

Current CVS has probably less broken alpha host support. Still, it is
unlikely to work out of the box, fixing this requires some knowledge
of alpha assembler. (E.g. for implementing a GOTO_LABEL_PARAM for alpha.)


Thiemo