microcode_rom.hh (5666:e7925fa8f0d6) | microcode_rom.hh (7966:0dff1ff293d0) |
---|---|
1/* 2 * Copyright (c) 2008 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; --- 18 unchanged lines hidden (view full) --- 27 * 28 * Authors: Gabe Black 29 */ 30 31#ifndef __ARCH_X86_MICROCODE_ROM_HH__ 32#define __ARCH_X86_MICROCODE_ROM_HH__ 33 34#include "arch/x86/emulenv.hh" | 1/* 2 * Copyright (c) 2008 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; --- 18 unchanged lines hidden (view full) --- 27 * 28 * Authors: Gabe Black 29 */ 30 31#ifndef __ARCH_X86_MICROCODE_ROM_HH__ 32#define __ARCH_X86_MICROCODE_ROM_HH__ 33 34#include "arch/x86/emulenv.hh" |
35#include "arch/x86/insts/badmicroop.hh" |
|
35#include "cpu/static_inst.hh" 36 37namespace X86ISAInst 38{ 39 class MicrocodeRom 40 { 41 protected: 42 --- 12 unchanged lines hidden (view full) --- 55 { 56 delete [] genFuncs; 57 } 58 59 StaticInstPtr 60 fetchMicroop(MicroPC microPC, StaticInstPtr curMacroop) 61 { 62 microPC = normalMicroPC(microPC); | 36#include "cpu/static_inst.hh" 37 38namespace X86ISAInst 39{ 40 class MicrocodeRom 41 { 42 protected: 43 --- 12 unchanged lines hidden (view full) --- 56 { 57 delete [] genFuncs; 58 } 59 60 StaticInstPtr 61 fetchMicroop(MicroPC microPC, StaticInstPtr curMacroop) 62 { 63 microPC = normalMicroPC(microPC); |
63 assert(microPC < numMicroops); 64 return genFuncs[microPC](curMacroop); | 64 if (microPC >= numMicroops) 65 return X86ISA::badMicroop; 66 else 67 return genFuncs[microPC](curMacroop); |
65 } 66 }; 67} 68 69namespace X86ISA 70{ 71 using X86ISAInst::MicrocodeRom; 72} 73 74#endif // __ARCH_X86_MICROCODE_ROM_HH__ | 68 } 69 }; 70} 71 72namespace X86ISA 73{ 74 using X86ISAInst::MicrocodeRom; 75} 76 77#endif // __ARCH_X86_MICROCODE_ROM_HH__ |