Re: Re: SixPacks mods for GCIC users

Ivan Warren <[email protected]> Sat, 06 Nov 2010 15:03:58 +0100
Newsgroups gmane.comp.emulators.hercules390.vm
Message-ID <[email protected]>
On 11/6/2010 2:37 PM, kerravon86 wrote:
>>
>> In this case the LM 0,1,0(3) gives erratic results.
>
> Erratic? It should have given a specification
> exception, shouldn't it? 3/4 of the time.
>

No way !

There is no imposed alignment on the LM instruction.

If an unaligned LM gives incorrect results, produces a machine check or 
kills hercules on a host that imposes 32 bit alignments for fetches, 
then it's a hercules issue.

On my own ARM experimentation, I encountered a few of those, but they 
might crept back in due to the fact ARM is seldom used as a hercules host.

The reason for this to happen is because we might - at some point - cast 
an arbitrary storage location to a unsigned 32 bit value - and then the 
optimizer will infer that it *IS* aligned. The issue is that it's 
sometime a bit tricky to track because the cast can be quite far from 
where the issue occurs.

Unfortunately, for the time being, I don't have any ARM setup (although 
I still have the hardware stowed somewhere in a box.. A WRTG54G router) 
- but I'd have to re-install linux on it (I think I should be able to 
use OpenWRT for that).

--Ivan
smime.p7s (application/pkcs7-signature, 5.2 KB) - not displayed