All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.