[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] Re: [PATCH] Fix mca handler so as not to destroy ar
On Tue, Aug 05, 2008 at 02:19:06PM +0900, Isaku Yamahata wrote: > On Tue, Aug 05, 2008 at 12:37:17PM +0900, Isaku Yamahata wrote: > > > > Hi Kazu. Sorry for late alert. > > VIRTUAL_MODE_ENTER() still refers ar.k6. > > Could you fix it? > > One more. > Before pinning down vpd and vhpt, it's necessary to > make sure that they doesn't overlap with stack like __vmxswitch_rr7() > and ia64_new_rr7(). And more. VIRTUAL_MODE_ENTER() sets gp (r1) to ia64_os_mca_virtual_begin and then call ia64_mca_ucmc_handler(). It this correct? It looks like that accessing global variable in ia64_mca_ucmc_handler() results in rondom place access. Linux has the related fix. What do you think? commit f5a3f3dc189485d607fbd42678cc23958acc0a6e Author: Zou Nan hai <nanhai.zou@xxxxxxxxx> Date: Thu Sep 14 08:25:15 2006 +0800 [IA64] Make gp value point to Region 5 in mca handler MCA dispatch code take physical address of GP passed from SAL, then call DATA_PA_TO_VA twice on GP before call into C code. The first time is in ia64_set_kernel_register, the second time is in VIRTUAL_MODE_ENTER. The gp is changed to a virtual address in region 7 because DATA_PA_TO_VA is implemented by dep instruction. However when notify blocks were called from MCA handler code, because notify blocks are supported by callback function pointers, gp value value was switched to region 5 again. The patch set gp register to kernel gp of region 5 at entry of MCA dispatch. Signed-off-by: Zou Nan hai <nanhai.zou@xxxxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> -- yamahata _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |