qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] qemu on alpha
@ 2007-12-21  8:14 Gabriele Gorla
  2007-12-25  0:29 ` Thiemo Seufer
  0 siblings, 1 reply; 8+ messages in thread
From: Gabriele Gorla @ 2007-12-21  8:14 UTC (permalink / raw)
  To: qemu-devel

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

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: [Qemu-devel] qemu on alpha
@ 2008-02-26  9:36 Gabriele Gorla
  2008-02-26 11:56 ` Thiemo Seufer
  0 siblings, 1 reply; 8+ messages in thread
From: Gabriele Gorla @ 2008-02-26  9:36 UTC (permalink / raw)
  To: qemu-devel

It seems I cannot send email to the mailing list from
my personal email account. Anyway... 
Here is what I discovered debugging the failure.
Is there anyone who can direct me to the next step?

thanks,
GG

> -------- Forwarded Message --------
> From: Gabriele Gorla <gorlik@penguintown.net>
> To: qemu-devel@nongnu.org
> Subject: Re: [Qemu-devel] qemu on alpha
> Date: Sat, 16 Feb 2008 22:11:21 -0800
> 
> Thiemo,
> thanks for your previous reply.
> I finally managed to compile qemu 0.9.1 on my
> machine (alpha ev68).
> 
> I had to add (as you suggested) the definition for
> GOTO_LABEL_PARAM:
> #define GOTO_LABEL_PARAM(n) asm volatile ("jmp
> "ASM_NAME(__op_gen_label)
> #n)
> 
> and I had to remove the -msmall-data option from the
> Makefile.target to
> make qemu link proprely.
> 
> Unfortunately I still can't run anything as qemu
> crashes very quickly
> when trying to execute the generated code.
> 
> Using gdb combined with qemu debug features I was
> able to narrow down
> the crash to the following instruction sequence:
> 
> ----------------
> IN:
> 0x400839f9:  pop    %ebx
> 0x400839fa:  add    $0x1104f,%ebx
> 0x40083a00:  xor    %eax,%eax
> 0x40083a02:  lea    0xfffffdec(%ebp),%edi
> 0x40083a08:  lea    0xfffeefa0(%ebx),%esi
> 0x40083a0e:  sub    0x84(%ebx),%esi
> 0x40083a14:  lea    0xfffffdbc(%ebp),%edx
> 0x40083a1a:  mov    %edx,0xfffffd90(%ebp)
> 0x40083a20:  lea    0xfffffdc0(%ebp),%ecx
> 0x40083a26:  mov    %ecx,0xfffffda0(%ebp)
> 0x40083a2c:  lea    0xfffffdc4(%ebp),%edx
> 0x40083a32:  mov    %edx,0xfffffd9c(%ebp)
> 0x40083a38:  lea    0xfffffdd4(%ebp),%ecx
> 0x40083a3e:  mov    %ecx,0xfffffd94(%ebp)
> 0x40083a44:  mov    %edi,%edx
> 0x40083a46:  movl   $0x0,(%edx,%eax,4)
> 0x40083a4d:  inc    %eax
> 0x40083a4e:  cmp    $0x61,%eax
> 0x40083a51:  jbe    0x40083a46
> 
> OUT: [size=936]
> 0x60589bb0: mov	s4,s2
> 0x60589bb4: zapnot s2,0xf,t0
> 0x60589bb8: ldl	s0,0(t0)
> 0x60589bbc: lda	s4,4(s4)
> 0x60589bc0: stl	s0,12(fp)
> 0x60589bc4: ldah gp,24606
> ...
> ...
> 0x60589e7c: ldah t0,0
> 0x60589e80: lda	t0,16(t0)
> 0x60589e84: mov	t0,t1
> 0x60589e88: stl	t1,48(fp)
> 0x60589e8c: ldl	t1,40(fp)
> 0x60589e90: ldl	t0,44(fp)
> 0x60589e94: addl t0,t1,t0
> 0x60589e98: cmpule t0,t1,t0
> 0x60589e9c: beq	t0,0x60589ea8
> 0x60589ea0: lda	t12,-22256(gp)
> 0x60589ea4: br	0x6071d244     <---- branch to
> uninitialized memory
> 0x60589ea8: ldah gp,24606
> 0x60589eac: lda	gp,-12160(gp)
> 0x60589eb0: ldah t0,24613
> 0x60589eb4: lda	t0,-25936(t0)
> ...
> ...
> 
> given the original instruction sequence I am a bit
> puzzled about the
> source of the offending branch instruction in the
> generated code.
> 
> do you have any suggestion on how to proceed?
> 
> thank,
> GG
> 


      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: [Qemu-devel] qemu on alpha
@ 2008-01-12  2:48 Gabriele Gorla
  0 siblings, 0 replies; 8+ messages in thread
From: Gabriele Gorla @ 2008-01-12  2:48 UTC (permalink / raw)
  To: qemu-devel

Thiemo wrote:
> 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.
> > 
> > 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,
thanks for your reply.

I downloaded the latest CVS snapshot. It seems to be
slightly better as I do not have to patch for 64-bit
datatypes any longer.
However it still complains about gen_op_jnz_T0_label
and gen_op_jmp_label.

I am willing to spend time trying to figure out what
is wrong but I really need a little help to understand
where to look.

thanks,
GG 


      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [Qemu-devel] QEMU on Alpha
@ 2004-07-20  7:39 Alex Melnikov
  2004-07-20 22:19 ` Falk Hueffner
  0 siblings, 1 reply; 8+ messages in thread
From: Alex Melnikov @ 2004-07-20  7:39 UTC (permalink / raw)
  To: qemu-devel

Hello!

What are the status of the Alpha host port?

I tryed 0.6.0 (i386-user and i386-softmmu targets), here is results:

i386-user:

Will not compile at default, because of redefinition problem in dyngen-exec.h (as 
mentioned by Falk Hueffner in http://lists.gnu.org/archive/html/qemu-devel/2004-
02/msg00080.html).

After commenting it (define uint64) - the i386-user target compiled ok (but with tons 
of warnings), but not works ok. I got gnemul libs and wine from main qemu site, but 
somehow wine can't run wineserver itself (all path, LD_LIBRARY_PATH, wine-setup.sh and 
so on - OK), need to run "wineserver -p" separately, but even after that, wine not run 
ok (it gives Unaligned access into /var/log/messages), and dont get any result when 
runned with "wine <any win32 binary>" (no error, just nothnig, and process qemu-i386 
wine just utilises about 0% of cpu), moreover "wine --help" gives error, 
but "wineserver --help" works normal (shows it help into stdout).

I tryed to run rar_static (x86 linux binary) - with this compiled qemu-i386, it only 
shows rar_help in stdout, but when i tryed to unpack rar archive with it - it gives 
error something like "can't seek in file test.rar".

i386-softmmu:

Seems broken? (no cpu_get_ticks form alpha, "unsupported cpu error" in vl.c)

Does anybody tryed current QEMU on Alpha Linux? Is the support of Alpha host is broken?


PS I use RedHat 7.2 with updated binutils-2.15.90 and gcc-3.3.4.

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [Qemu-devel] QEMU 0.2 is out
@ 2003-05-28  0:58 Fabrice Bellard
  2003-06-01 18:19 ` Falk Hueffner
  0 siblings, 1 reply; 8+ messages in thread
From: Fabrice Bellard @ 2003-05-28  0:58 UTC (permalink / raw)
  To: qemu-devel


Most of the QEMU architecture is now finished. There are still 
complicated issues regarding thread locking. My main issue is that I 
would like to avoid locking the cpu emulator while doing 'tb_find()'.

DOSEMU is now working better (I was able to launch DOS Navigator and a 
small VGA demonstration). The speed seems reasonnable althought QEMU has 
to emulate both the DOS code _and_ the dosemu code itself !

About the Sparc code: is it possible to move the prolog and epilog 
generation from dyngen_code() to the cpu main loop ? It would ease a lot 
the precise exception handling and the direct block chaining.

For Alpha and Sparc, if someone has an account that I can use, I could 
make some debug to fix the last issues.

Fabrice.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-02-26 11:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-21  8:14 [Qemu-devel] qemu on alpha Gabriele Gorla
2007-12-25  0:29 ` Thiemo Seufer
  -- strict thread matches above, loose matches on Subject: below --
2008-02-26  9:36 Gabriele Gorla
2008-02-26 11:56 ` Thiemo Seufer
2008-01-12  2:48 Gabriele Gorla
2004-07-20  7:39 [Qemu-devel] QEMU on Alpha Alex Melnikov
2004-07-20 22:19 ` Falk Hueffner
2003-05-28  0:58 [Qemu-devel] QEMU 0.2 is out Fabrice Bellard
2003-06-01 18:19 ` Falk Hueffner
2003-06-02 22:52   ` Fabrice Bellard
2003-06-02 23:20     ` Falk Hueffner
2003-06-03  0:49       ` Fabrice Bellard
2003-06-03 13:18         ` Falk Hueffner
2003-06-05  1:12           ` [Qemu-devel] QEMU on Alpha Fabrice Bellard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).