3c3
< // Copyright (c) 2011-2013, 2016-2017 ARM Limited
---
> // Copyright (c) 2011-2013, 2016-2018 ARM Limited
176a177,195
>
> hltCode = '''
> ThreadContext *tc = xc->tcBase();
> if (ArmSystem::haveSemihosting(tc) && bits(machInst, 20, 5) == 0xF000) {
> X0 = ArmSystem::callSemihosting64(tc, X0 & mask(32), X1);
> } else {
> // HLT instructions aren't implemented, so treat them as undefined
> // instructions.
> fault = std::make_shared<UndefinedInstruction>(
> machInst, false, mnemonic);
> }
>
> '''
>
> hltIop = InstObjParams("hlt", "Hlt64", "ArmStaticInst",
> hltCode, ["IsNonSpeculative"])
> header_output += BasicDeclare.subst(hltIop)
> decoder_output += BasicConstructor64.subst(hltIop)
> exec_output += BasicExecute.subst(hltIop)