|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [Xen-devel] bogus HPET initialization order on x86
To: |
"Wei, Gang" <gang.wei@xxxxxxxxx>, Jan Beulich <JBeulich@xxxxxxxxxx> |
Subject: |
RE: [Xen-devel] bogus HPET initialization order on x86 |
From: |
"Wei, Gang" <gang.wei@xxxxxxxxx> |
Date: |
Fri, 11 Mar 2011 18:40:35 +0800 |
Accept-language: |
zh-CN, en-US |
Acceptlanguage: |
zh-CN, en-US |
Cc: |
"keir.xen@xxxxxxxxx" <keir.xen@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Yu, Ke" <ke.yu@xxxxxxxxx>, "Wei, Gang" <gang.wei@xxxxxxxxx> |
Delivery-date: |
Fri, 11 Mar 2011 02:42:35 -0800 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<F26D193E20BBDC42A43B611D1BDEDE7125F7800CBF@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> |
List-help: |
<mailto:xen-devel-request@lists.xensource.com?subject=help> |
List-id: |
Xen developer discussion <xen-devel.lists.xensource.com> |
List-post: |
<mailto:xen-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |
References: |
<4D7933EE020000780006C4B6@xxxxxxxxxxxxxxxxxx> <F26D193E20BBDC42A43B611D1BDEDE7125F7800936@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4D79EC8C0200007800035C08@xxxxxxxxxxxxxxxxxx> <F26D193E20BBDC42A43B611D1BDEDE7125F7800CBF@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
Thread-index: |
AcvfxvXZjA7eog86Qney/7Bho4kbewACrhqgAAFp3kA= |
Thread-topic: |
[Xen-devel] bogus HPET initialization order on x86 |
Wei, Gang wrote on 2011-03-11:
>>> Further, it would be better if we could disable PIT interrupt
>>> before calling hpet_broadcast_init(), and re-enable PIT interrupt
>>> only while PIT broadcast is needed.
>>
>> But I'll leave that part to you.
>
> I will send a patch for this.
Just recalled one point so that we may not have to do this. The HPET device was
configured as legacy mode before we try to initialize the hpet channel 0 as the
legacy_hpet_event.
cfg = hpet_read32(HPET_CFG);
cfg |= HPET_CFG_LEGACY;
hpet_write32(cfg, HPET_CFG);
Once HPET device was configured as legacy mode, the platform timer interrupt
source was shifted to hpet channel 0 by chipset, and PIT can never trig a
interrupt after that. HPET spec can tell details.
Jimmy
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|