qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] S/390 host fixed


From: Ulrich Hecht
Subject: Re: [Qemu-devel] [PATCH] S/390 host fixed
Date: Wed, 1 Aug 2007 15:44:43 +0200
User-agent: KMail/1.9.5

On Wednesday 01 August 2007 01:59, Thiemo Seufer wrote:
> > -    AIOLIBS="-lrt"
> > +    AIOLIBS="-lrt -lpthread"
>
> Why is this needed? Linux toolchains should add -lpthread implicitly.

Our SLES9 toolchain seems not to. It's a near-cosmetic change.

> > +#ifdef __s390__
> > +    retaddr = (void*)((unsigned long)retaddr & 0x7fffffffUL);
> > +#endif
>
> All of those look weird. Is this a null-extension vs. sign-extension
> issue?

S/390 has a 31 (thirty-one) bit address space; the MSB of the PSW is not 
part of the address and must be masked out. This is simply part of the 
architecture, there's no way around it.

> > +#ifdef __s390__
> > +            func = NULL; /* does not work on S/390 for unknown
> > reasons */ +#else
> >              func = gen_jcc_sub[s->cc_op - CC_OP_SUBB][jcc_op];
> > +#endif
>
> Hum. It wold be good to know what happens here.

Indeed. :)

> > +#ifdef __s390__
> > +    if(!T1)
> > +        T0 = (int32_t)env->fcr0;
> > +    else if(T1 == 25)
[...]
>
> I guess this breaks when you _breathe_ at the compiler.

Probably, but that is true for a significant part of the QEMU codebase...

CU
Uli

-- 
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)




reply via email to

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