Avoid C2/C3 idle state

Alex
2009-11-24T21:56:37Z

I run Ubuntu 8.04.3 LTS server 32bit in a small low power motherboard (VIA LN10000EG) equipped with VIA C7 1GHz CPU.
Kernel 2.6.24

I've some problems with serial device: sometimes I've overrun errors when receive data through /dev/ttyS0

After some days of hard work I've discovered that when CPU enter in C2 or C3 state and data come in from serial line, I've the overrun.

I've searched for a solution and I've found that kernel parameter "idle=halt" can avoid CPU enter C2/C3 state, but this parameter is now not supported anymore (it was in the past).
So I've completely disabled the ACPI support ("acpi=off" kernel parameter).
But I lack support for power button, poweroff command and so on.
I wish to re-enable ACPI.

The question is: Howto avoid CPU enter C2/C3 state and re-activate ACPI so CPU can go in C1 state ? C1 is better than nothing at all ....

I have no problem to modify kernel source and recompile it.

Thanks fo suggestions