首页 > 代码库 > XEN的启动信息输出到“Platform timer is 14.318MHz HPET”就暂停接收的解决办法

XEN的启动信息输出到“Platform timer is 14.318MHz HPET”就暂停接收的解决办法

使用Serial Over Lan(SOL)来双机调试 XEN,在 XEN 启动时,引导信息输出到以下这一句时,就不再发送调试信息了:

...
(XEN) Intel machine check reporting enabled(XEN) I/O virtualisation disabled(XEN) Enabled directed EOI with ioapic_ack_old on!(XEN) ENABLING IO-APIC IRQs(XEN) -> Using old ACK method(XEN) ..TIMER: vector
=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1(XEN) Platform timer is 14.318MHz HPET(

相当奇怪,输出到上文的“(”时就不再有调试信息了,只有当 XEN 所在的 Linux 关机时,断电的瞬间才把剩下的所有调试信息一下子发送到接收端。后来查了相关信息,原来是因为 XEN 异步输出信息时会与 Intel AMT 相冲突。解决办法很简单,在 grub 中的“kernel”那一行中增加一个参数即可:“sync_console”:

title CentOS (3.1.2-xen-SOL)    root(hd0,0)    kernel /xen.gz dom0_mem=512M loglvl=all guest_loglvl=all sync_console console_to_ring console=vga,com1 com1=115200,8n1,0x1808,17    module /vmlinuz-3.1.2 ro root=/dev/mapper/vg_livecd-lv_root console=hvc0 console=tty0 earlyprintk=xen    module /initramfs-3.1.2.img

这时再重启查看调试信息,问题就解决了,同时XEN的调试信息中也给出了提醒:

(XEN) **********************************************(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS(XEN) ******* This option is intended to aid debugging of Xen by ensuring(XEN) ******* that all output is synchronously delivered on the serial line.(XEN) ******* However it can introduce SIGNIFICANT latencies and affect(XEN) ******* timekeeping. It is NOT recommended for production use!(XEN) **********************************************(XEN) 3... 2... 1... 

大概意思就是为了调试方便可以添加这一项,但是在生成产品时要把这参数去掉,否则会影响性能。