Community
cancel
Showing results for 
Search instead for 
Did you mean: 
zvivered
Beginner
40 Views

Core2Duo: What timer is ticking under C4 ?

Hello,

I'm working with Core2Duo (ICH8 as south bridge).

I want to do the following steps:

Step 1: Do some calculations,
Step 2: Arm the timer for few seconds
Step 3:Get into C4 using the following code.
Step 4: Get an interruptwhen thetimer reaches 0
Step 5: Go back to Step 1

The code used to move to C4 is:

mov EAX, 0x30 (Bits 0-3 define C4 sub state. What sub state shoud I use ?)
mov ECX, 0x0 (Should I use 0x1 ?)
mwait

When I ran cpuid with EAX=5I got:
ECX=3 :
Bit 00: Enumeration of Monitor-Mwait extensions (beyond EAX and EBX registers) supported
Bit 01: Supports treating interrupts as break-event for MWAIT, even when interrupts disabled
EDX=0x22220:
Bits 03 - 00: Number of C0 sub C-states supported using MWAIT
Bits 07 - 04: Number of C1 sub C-states supported using MWAIT
Bits 11 - 08: Number of C2 sub C-states supported using MWAIT
Bits 15 - 12: Number of C3 sub C-states supported using MWAIT
Bits 19 - 16: Number of C4 sub C-states supported using MWAIT

So the timer I will use has to generate an interrupt after TBD seconds and also must keep working under C4.

Can you help ?

Thanks.
0 Kudos
2 Replies
Aubrey_W_
New Contributor I
40 Views

Hello,

I moved this thread to the Intel AVX and CPU Instructions forum, which is for general CPUinstructions as well as AVX. I'll see if I can find someone to answer your question.

Best regards,
==
Aubrey W.
Intel Software Network Support

zvivered
Beginner
40 Views

Hi Andrew,

Thank you for your cooperation.

Looking forward to hearing from you soon.

Thanks,
Zvika.