On 28 December 2010 22:00, Bob Supnik <[email protected]> wrote:
> Jason Stevens wrote: > > You didn't build it with -O2 on linux did you? There is some weird > things with GCC and SIMH's VAX... I can only speak to 4.X BSD, but I > was able to identify two procedures that when optimized with -O2 break > 4BSD on SIMH.... > > I kind of detailed it here: > > http://www.mail-archive.com/[email protected]/msg00463.html > > And the procedures in question were: > > op_ldpctx > op_mtpr > > --- > > Interestingly, those routines are the ONLY places in the VAX simulator > where these macros are used: > > /* Machine specific reserved operand tests (all NOPs) */ > > #define ML_PA_TEST(r) > #define ML_LR_TEST(r) > #define ML_SBR_TEST(r) > #define ML_PXBR_TEST(r) > #define LP_AST_TEST(r) > #define LP_MBZ84_TEST(r) > #define LP_MBZ92_TEST(r) > > On the 780, they are real tests: > > /* Machine specific reserved operand tests */ > > #define ML_LR_TEST(r) if ((uint32)((r)& 0xFFFFFF)> 0x200000) > RSVD_OPND_FAULT > #define ML_PXBR_TEST(r) if ((((r)& 0x80000000) == 0) || \ > ((r)& 0x00000003)) RSVD_OPND_FAULT > #define ML_SBR_TEST(r) if ((r)& 0x00000003) RSVD_OPND_FAULT > #define ML_PA_TEST(r) if ((r)& 0x00000003) RSVD_OPND_FAULT > #define LP_AST_TEST(r) if ((r)> AST_MAX) RSVD_OPND_FAULT > #define LP_MBZ84_TEST(r) if ((r)& 0xF8C00000) RSVD_OPND_FAULT > #define LP_MBZ92_TEST(r) if ((r)& 0x7FC00000) RSVD_OPND_FAULT > > --- > > One (or more) of those six tests is the smoking gun, and if I had to put my > money on it, I think it's this one: > > #define ML_LR_TEST(r) if ((uint32)((r)& 0xFFFFFF)> 0x200000) > RSVD_OPND_FAULT > > Try adding an extra level of parentheses: > > if (((uint32)((r)& 0xFFFFFF))> 0x200000) RSVD_OPND_FAULT > > > just to be sure that the uint32 cast isn't be applied to the whole > comparison, instead of just the first term. > > If that fails to get it running, then try "no-oping" all of the macros to > see if VMS 4.6 will boot. If it does, then enable each of the macros in > turn, to see where the simulator fails. > > /Bob > > >
_______________________________________________ Simh mailing list [email protected] http://mailman.trailing-edge.com/mailman/listinfo/simh
