The cpu_halt() function is apparently supposed to stop the CPU, for example when a panic occurs - the x64 version is implemented via an infinite loop running the hlt instruction. On ia64 the implementation instead calls efi_reset_system() (http://fxr.watson.org/fxr/source/ia64/ia64/machdep.c?v=FREEBSD10;im=bigexcerpts#L402), which does a warm reboot and is probably not the expected behavior.
Unfortunately, there's not much we can do about this issue now since FreeBSD 10.x, which is the last branch that supported ia64, went out of support a while ago; here's the official deorbit announcement: https://lists.freebsd.org/pipermail/freebsd-ia64/2014-May/004043.html Hence I'm closing this PR.