isa.hh (6336:25635830e33c) isa.hh (6359:1e4908b3e28e)
1/*
2 * Copyright (c) 2009 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;

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

26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * Authors: Gabe Black
29 */
30
31#ifndef __ARCH_X86_ISA_HH__
32#define __ARCH_X86_ISA_HH__
33
1/*
2 * Copyright (c) 2009 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;

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

26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * Authors: Gabe Black
29 */
30
31#ifndef __ARCH_X86_ISA_HH__
32#define __ARCH_X86_ISA_HH__
33
34#include "arch/x86/floatregs.hh"
34#include "arch/x86/miscregs.hh"
35#include "arch/x86/registers.hh"
36#include "base/types.hh"
37
38#include <string>
39#include <iostream>
40
41class Checkpoint;

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

60 }
61
62 MiscReg readMiscRegNoEffect(int miscReg);
63 MiscReg readMiscReg(int miscReg, ThreadContext *tc);
64
65 void setMiscRegNoEffect(int miscReg, MiscReg val);
66 void setMiscReg(int miscReg, MiscReg val, ThreadContext *tc);
67
35#include "arch/x86/miscregs.hh"
36#include "arch/x86/registers.hh"
37#include "base/types.hh"
38
39#include <string>
40#include <iostream>
41
42class Checkpoint;

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

61 }
62
63 MiscReg readMiscRegNoEffect(int miscReg);
64 MiscReg readMiscReg(int miscReg, ThreadContext *tc);
65
66 void setMiscRegNoEffect(int miscReg, MiscReg val);
67 void setMiscReg(int miscReg, MiscReg val, ThreadContext *tc);
68
68 int flattenIntIndex(int reg);
69 int flattenFloatIndex(int reg);
69 int
70 flattenIntIndex(int reg)
71 {
72 return reg & ~(1 << 6);
73 }
70
74
75 int
76 flattenFloatIndex(int reg)
77 {
78 if (reg >= NUM_FLOATREGS) {
79 reg = FLOATREG_STACK(reg - NUM_FLOATREGS,
80 regVal[MISCREG_X87_TOP]);
81 }
82 return reg;
83 }
84
71 void serialize(EventManager *em, std::ostream &os);
72 void unserialize(EventManager *em, Checkpoint *cp,
73 const std::string &section);
74 };
75}
76
77#endif
85 void serialize(EventManager *em, std::ostream &os);
86 void unserialize(EventManager *em, Checkpoint *cp,
87 const std::string &section);
88 };
89}
90
91#endif