On Fri, Jan 29, 2010 at 09:04:58AM -0800, Richard Henderson wrote: > On 01/28/2010 05:55 PM, identifier scorpio wrote: > > Your code is more skilled and I learn a lot from it, but I haven't yet > > recognized the key difference between your version and mine. In last > > mail, you've said that "Mainly, tcg_target_long was used places that > > could be holding HOST values, which means that the host values would > > have been truncated to 32 bits.", and I can't fully understand it, may > > you put it more clearly. > > It was a mis-statement made while tired. Of course tcg_target_long is > defined to int64_t when TCG_TARGET_REG_BITS == 64, so there was no > truncation to 32 bits. > > Have you tested of any of the other embedded targets? You may be able > to find the error with one of those easier than finding it emulating > full-scale Windows. See the images at the bottom of the QEMU download page.
Hi, Although I've never hacked on a TCG backend I'd still like to give some advice. >From experience when developing both the CRIS and the MicroBlaze ISA translators I very much suggest getting something very stable to work in linux-user before going further. I used GCC's C torture tests and OpenSSL's bignum tests to verify the ports. In particular, OpenSSL's bignum tests seem to excersice lot's of cornercases. If you pass those, you've come a long way. In general it's much easier to debug a guest testcase (bntest, etc) that fails compared to huge propretiary blob that fails (windows). Just a suggestion, hope it helps. Cheers, Edgar