/* Caller disables interrupt before call and enables interrupt after return.  */
static void acpi_idle_do_entry(struct acpi_processor_cx *cx)
/* Caller disables interrupt before call and enables interrupt after return.  */
static void acpi_idle_do_entry(struct acpi_processor_cx *cx)
{
	stop_critical_timings();
	if (cx->entry_method == ACPI_CSTATE_FFH) {
		acpi_processor_ffh_cstate_enter(cx);
	} else if (cx->entry_method == ACPI_CSTATE_HALT) {
		acpi_safe_halt();
	} else {
		int unused;
		inb(cx->address);
		unused = inl(acpi_gbl_FADT.xpm_timer_block.address);
	}
	start_critical_timings();
}