pseudo_inst.cc (13613:a19963be12ca) pseudo_inst.cc (14010:0e1e887507c0)
1/*
2 * Copyright (c) 2014 Advanced Micro Devices, Inc.
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;

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

68
69 Process *p = tc->getProcessPtr();
70 if (!p->fixupStackFault(tc->readMiscReg(MISCREG_CR2))) {
71 SETranslatingPortProxy proxy = tc->getMemProxy();
72 // at this point we should have 6 values on the interrupt stack
73 int size = 6;
74 uint64_t is[size];
75 // reading the interrupt handler stack
1/*
2 * Copyright (c) 2014 Advanced Micro Devices, Inc.
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;

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

68
69 Process *p = tc->getProcessPtr();
70 if (!p->fixupStackFault(tc->readMiscReg(MISCREG_CR2))) {
71 SETranslatingPortProxy proxy = tc->getMemProxy();
72 // at this point we should have 6 values on the interrupt stack
73 int size = 6;
74 uint64_t is[size];
75 // reading the interrupt handler stack
76 proxy.readBlob(ISTVirtAddr + PageBytes - size*sizeof(uint64_t),
77 (uint8_t *)&is, sizeof(is));
76 proxy.readBlob(ISTVirtAddr + PageBytes - size * sizeof(uint64_t),
77 &is, sizeof(is));
78 panic("Page fault at addr %#x\n\tInterrupt handler stack:\n"
79 "\tss: %#x\n"
80 "\trsp: %#x\n"
81 "\trflags: %#x\n"
82 "\tcs: %#x\n"
83 "\trip: %#x\n"
84 "\terr_code: %#x\n",
85 tc->readMiscReg(MISCREG_CR2),
86 is[5], is[4], is[3], is[2], is[1], is[0]);
87 }
88}
89
90} // namespace X86ISA
78 panic("Page fault at addr %#x\n\tInterrupt handler stack:\n"
79 "\tss: %#x\n"
80 "\trsp: %#x\n"
81 "\trflags: %#x\n"
82 "\tcs: %#x\n"
83 "\trip: %#x\n"
84 "\terr_code: %#x\n",
85 tc->readMiscReg(MISCREG_CR2),
86 is[5], is[4], is[3], is[2], is[1], is[0]);
87 }
88}
89
90} // namespace X86ISA