qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Missing op on SPARC


From: Blue Swirl
Subject: Re: [Qemu-devel] Missing op on SPARC
Date: Fri, 25 Feb 2011 18:45:44 +0200

On Thu, Feb 24, 2011 at 11:12 AM, 陳韋任 <address@hidden> wrote:
> Hi, all
>
>  I have a Linux/SPARC machine and want to run QEMU on it.
> Here is the system information.
>
> ----------------------------------------------------------
> $ uname -a
> Linux sparc 2.6.37-rc5-git #1 SMP Tue Dec 21 17:03:53 CST 2010 sparc64 sun4v 
> UltraSparc T2 (Niagara2) GNU/Linux
> $ gcc --version
> gcc (Gentoo 4.3.4 p1.0, pie-10.1.5) 4.3.4
> ----------------------------------------------------------
>
>  QEMU is configured with "--sparc_cpu=v8plus". QEMU report
> there are some missing op definitions. See below,
>
> ----------------------------------------------------------
> $ qemu-sparc hello
> Missing op definition for qemu_ld64
> Missing op definition for qemu_st64
> /tmp/chenwj/qemu-0.14.0/tcg/tcg.c:1116: tcg fatal error
> Aborted
> ----------------------------------------------------------
>
>  Is it possible to fix it? If so, how?

Yes, the place is in tcg/sparc/tcg-target.[ch].  Sparc generator for
TCG only implements the functions qemu_ld64/st64 on V9 (full 64 bit).
These should be implemented also for v8plus.

This can be implemented by adding a helper function to call the V9
versions of tcg_out_qemu_ld/st. One problem is that v8plus gives few
64 bit registers, %g1 to %g7, so addr_reg should probably be set up to
%g1 and data_reg to %g2 in the v8plus helper. Data and address must be
moved to/from these registers from/to 32 bit registers allocated by
TCG.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]