ia64/xen-unstable

view patches/linux-2.6.16.13/xen-hotplug.patch @ 11472:3e31c5e160cf

[HVM] Fix an error when read from APIC registers like IRR, ISR and TMR.
From SDM3 spec, for APIC registers, all 32-bit registers should
be accessed using 128-bit aligned 32bit loads or stores.
And wider registers (64-bit or 256-bit) must be accessed using
multiple 32-bit loads or stores.

In old APIC virtualization code, we use IRR, ISR and TMR which are
256-bit registers as contiguous bit maps other than multiple 32-bit.

So guest always fetch error values.

Original patch was:
* Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com>
* Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
* Signed-off-by: Eddie Dong <eddie.dong@intel.com>

Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Wed Sep 13 15:59:14 2006 +0100 (2006-09-13)
parents c6da0c5b03ff
children
line source
1 --- ../pristine-linux-2.6.16.13/fs/proc/proc_misc.c 2006-05-02 22:38:44.000000000 +0100
2 +++ ./fs/proc/proc_misc.c 2006-05-22 15:29:34.000000000 +0100
3 @@ -433,7 +433,7 @@ static int show_stat(struct seq_file *p,
4 (unsigned long long)cputime64_to_clock_t(irq),
5 (unsigned long long)cputime64_to_clock_t(softirq),
6 (unsigned long long)cputime64_to_clock_t(steal));
7 - for_each_online_cpu(i) {
8 + for_each_cpu(i) {
10 /* Copy values here to work around gcc-2.95.3, gcc-2.96 */
11 user = kstat_cpu(i).cpustat.user;