process.cc (2632:1bb2f91485ea) process.cc (2646:c5f20661d9f3)
1/*
2 * Copyright (c) 2003-2004 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 96 unchanged lines hidden (view full) ---

105void
106SparcLiveProcess::startup()
107{
108 argsInit(MachineBytes, VMPageSize);
109
110 //From the SPARC ABI
111
112 //The process runs in user mode
1/*
2 * Copyright (c) 2003-2004 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 96 unchanged lines hidden (view full) ---

105void
106SparcLiveProcess::startup()
107{
108 argsInit(MachineBytes, VMPageSize);
109
110 //From the SPARC ABI
111
112 //The process runs in user mode
113 execContexts[0]->setMiscRegWithEffect(MISCREG_PSTATE_PRIV, 0);
114 //Interrupts are enabled
115 execContexts[0]->setMiscRegWithEffect(MISCREG_PSTATE_IE, 1);
116 //Round to nearest
117 execContexts[0]->setMiscRegWithEffect(MISCREG_FSR_RD, 0);
118 //Floating point traps are not enabled
119 execContexts[0]->setMiscRegWithEffect(MISCREG_FSR_TEM, 0);
120 //Turn non standard mode off
121 execContexts[0]->setMiscRegWithEffect(MISCREG_FSR_NS, 0);
122 //The floating point queue is empty
123 execContexts[0]->setMiscRegWithEffect(MISCREG_FSR_QNE, 0);
124 //There are no accrued eexecContext[0]eptions
125 execContexts[0]->setMiscRegWithEffect(MISCREG_FSR_AEXC, 0);
126 //There are no current eexecContext[0]eptions
127 execContexts[0]->setMiscRegWithEffect(MISCREG_FSR_CEXC, 0);
113 execContexts[0]->setMiscRegWithEffect(MISCREG_PSTATE, 0x02);
128
114
115 //Setup default FP state
116 execContexts[0]->setMiscReg(MISCREG_FSR, 0);
117
118 execContexts[0]->setMiscReg(MISCREG_TICK, 0);
119 //
129 /*
130 * Register window management registers
131 */
132
133 //No windows contain info from other programs
134 execContexts[0]->setMiscRegWithEffect(MISCREG_OTHERWIN, 0);
135 //There are no windows to pop
136 execContexts[0]->setMiscRegWithEffect(MISCREG_CANRESTORE, 0);

--- 252 unchanged lines hidden ---
120 /*
121 * Register window management registers
122 */
123
124 //No windows contain info from other programs
125 execContexts[0]->setMiscRegWithEffect(MISCREG_OTHERWIN, 0);
126 //There are no windows to pop
127 execContexts[0]->setMiscRegWithEffect(MISCREG_CANRESTORE, 0);

--- 252 unchanged lines hidden ---