91c91
< threadContexts[0]->setMiscRegWithEffect(MISCREG_PSTATE, 0x02);
---
> threadContexts[0]->setMiscReg(MISCREG_PSTATE, 0x02);
94c94
< threadContexts[0]->setMiscReg(MISCREG_FSR, 0);
---
> threadContexts[0]->setMiscRegNoEffect(MISCREG_FSR, 0);
96c96
< threadContexts[0]->setMiscReg(MISCREG_TICK, 0);
---
> threadContexts[0]->setMiscRegNoEffect(MISCREG_TICK, 0);
103c103
< //threadContexts[0]->setMiscReg(MISCREG_OTHERWIN, 0);
---
> //threadContexts[0]->setMiscRegNoEffect(MISCREG_OTHERWIN, 0);
106c106
< //threadContexts[0]->setMiscReg(MISCREG_CANRESTORE, 0);
---
> //threadContexts[0]->setMiscRegNoEffect(MISCREG_CANRESTORE, 0);
109c109
< //threadContexts[0]->setMiscReg(MISCREG_CANSAVE, NWindows - 2);
---
> //threadContexts[0]->setMiscRegNoEffect(MISCREG_CANSAVE, NWindows - 2);
112c112
< //threadContexts[0]->setMiscReg(MISCREG_CLEANWIN, NWindows);
---
> //threadContexts[0]->setMiscRegNoEffect(MISCREG_CLEANWIN, NWindows);
115c115
< threadContexts[0]->setMiscReg(MISCREG_CWP, 0);
---
> threadContexts[0]->setMiscRegNoEffect(MISCREG_CWP, 0);
117c117
< //threadContexts[0]->setMiscReg(MISCREG_WSTATE, 0);
---
> //threadContexts[0]->setMiscRegNoEffect(MISCREG_WSTATE, 0);
120c120
< threadContexts[0]->setMiscReg(MISCREG_TL, 0);
---
> threadContexts[0]->setMiscRegNoEffect(MISCREG_TL, 0);
122c122
< threadContexts[0]->setMiscReg(MISCREG_ASI, ASI_PRIMARY);
---
> threadContexts[0]->setMiscRegNoEffect(MISCREG_ASI, ASI_PRIMARY);
133c133
< threadContexts[0]->setMiscRegWithEffect(MISCREG_PSTATE, 0x02);
---
> threadContexts[0]->setMiscReg(MISCREG_PSTATE, 0x02);
136c136
< threadContexts[0]->setMiscReg(MISCREG_FSR, 0);
---
> threadContexts[0]->setMiscRegNoEffect(MISCREG_FSR, 0);
138c138
< threadContexts[0]->setMiscReg(MISCREG_TICK, 0);
---
> threadContexts[0]->setMiscRegNoEffect(MISCREG_TICK, 0);
145c145
< //threadContexts[0]->setMiscReg(MISCREG_OTHERWIN, 0);
---
> //threadContexts[0]->setMiscRegNoEffect(MISCREG_OTHERWIN, 0);
148c148
< //threadContexts[0]->setMiscReg(MISCREG_CANRESTORE, 0);
---
> //threadContexts[0]->setMiscRegNoEffect(MISCREG_CANRESTORE, 0);
151c151
< //threadContexts[0]->setMiscReg(MISCREG_CANSAVE, NWindows - 2);
---
> //threadContexts[0]->setMiscRegNoEffect(MISCREG_CANSAVE, NWindows - 2);
154c154
< //threadContexts[0]->setMiscReg(MISCREG_CLEANWIN, NWindows);
---
> //threadContexts[0]->setMiscRegNoEffect(MISCREG_CLEANWIN, NWindows);
157c157
< threadContexts[0]->setMiscReg(MISCREG_CWP, 0);
---
> threadContexts[0]->setMiscRegNoEffect(MISCREG_CWP, 0);
159c159
< //threadContexts[0]->setMiscReg(MISCREG_WSTATE, 0);
---
> //threadContexts[0]->setMiscRegNoEffect(MISCREG_WSTATE, 0);
162c162
< threadContexts[0]->setMiscReg(MISCREG_TL, 0);
---
> threadContexts[0]->setMiscRegNoEffect(MISCREG_TL, 0);
164c164
< threadContexts[0]->setMiscReg(MISCREG_ASI, ASI_PRIMARY);
---
> threadContexts[0]->setMiscRegNoEffect(MISCREG_ASI, ASI_PRIMARY);
514,515c514,515
< // The unaccounted for 8 byte 0 at the top of the stack
< int mysterious_size = 8;
---
> // The unaccounted for 0 at the top of the stack
> int mysterious_size = intSize;
530c530
< //The info_block - This seems to need an pad for some reason.
---
> //The info_block
532,533c532
< (mysterious_size +
< file_name_size +
---
> (file_name_size +
535c534
< arg_data_size + intSize);
---
> arg_data_size);
537c536
< //Each auxilliary vector is two 4 byte words
---
> //Each auxilliary vector is two 8 byte words
547c546
< info_block_size +
---
> mysterious_size +
570c569
< uint32_t arg_data_base = stack_base - info_block_size + intSize;
---
> uint32_t arg_data_base = stack_base - info_block_size;
629,630c628,629
< //threadContexts[0]->setIntReg(ArgumentReg0, argc);
< //threadContexts[0]->setIntReg(ArgumentReg1, argv_array_base);
---
> threadContexts[0]->setIntReg(ArgumentReg0, argc);
> threadContexts[0]->setIntReg(ArgumentReg1, argv_array_base);