[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] [PATCH][GFW] fix EFI_SAL_SET_VECTORS
Hi Isaku, this is OK. Tristan. Quoting Isaku Yamahata <yamahata@xxxxxxxxxxxxx>: > # HG changeset patch > # User Isaku Yamahata <yamahata@xxxxxxxxxxxxx> > # Date 1210731778 -32400 > # Node ID c7e929cfb87aa4c505eecae2746d61e1226d8a90 > # Parent ececa5a5473be16d416cfb675d3a6bf338d7db4c > fix EFI_SAL_SET_VECTORS > > While booting recent Linux kernel under VTi domain with the latest > open gfw, it panics as following. > Linux kernel calls sal call of > (EFI_SAL_SET_VECTORS, EFI_SAL_SET_INIT_VECTOR) and the gfw accesses > the invalid address. > The uncached physical addresses are hard coded, but they aren't > relocated when switching to virtual address mode. > And calling xen sal hypercall looks copy and past typo. > > Unable to handle kernel paging request at virtual address > 80000000ffffff80 > swapper[0]: Oops 8804682956800 [1] > Modules linked in: > > Pid: 0, CPU 0, comm: swapper > psr : 00001010084a2010 ifs : 8000000000001634 ip : > [<e00000000f1479e0>] Not tainted > (2.6.26-rc1xen-ia64-08245-g59409b5-dirt(XEN) paddr_to_maddr: called > with bad memory address: 0x7000000004138100 - iip=a0000001000660c0 > ip is at 0xe00000000f1479e0 > unat: 0000000000000000 pfs : 000000000000091a rsc : 0000000000000003 > rnat: 0000000000000005 bsps: 0000000000000000 pr : 000000000002aa49 > ldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c8a70433f > csd : 0000000000000000 ssd : 0000000000000000 > b0 : a00000010075e3f0 b6 : a000000100052100 b7 : e00000000f147620 > f6 : 000000000000000000000 f7 : 000000000000000000000 > f8 : 000000000000000000000 f9 : 000000000000000000000 > f10 : 000000000000000000000 f11 : 000000000000000000000 > r1 : e00000000f152020 r2 : 0000000000000001 r3 : 000000000000040d > r8 : 0000000000000000 r9 : 000000000000040c r10 : a000000100052100 > r11 : a000000100958708 r12 : a000000100943bd0 r13 : a00000010093c000 > r14 : 80000000ffffff80 r15 : e00000000f152130 r16 : e00000000f152138 > r17 : a000000100731948 r18 : a000000100052100 r19 : a0000001009b23b8 > r20 : a0000001009ed548 r21 : 00000000dead4ead r22 : a000000100958704 > r23 : 0000000000000000 r24 : a000000100a07518 r25 : e00000000f147620 > r26 : a0000001009ee038 r27 : a000000100731948 r28 : a000000100052100 > r29 : a000000100731948 r30 : a000000100052100 r31 : 0000000000000000 > > Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx> > > diff --git a/edk2-sparse/EdkXenPkg/Dxe/XenSal/Sal.c > b/edk2-sparse/EdkXenPkg/Dxe/XenSal/Sal.c > --- a/edk2-sparse/EdkXenPkg/Dxe/XenSal/Sal.c > +++ b/edk2-sparse/EdkXenPkg/Dxe/XenSal/Sal.c > @@ -8,8 +8,8 @@ > UINT64 Gp; > } SalRendezVector; > > -struct Fptr *SalMonarchInitVector = (struct Fptr *)0x80000000ffffff80; > -struct Fptr *SalSlaveInitVector = (struct Fptr *)0x80000000ffffff90 ; > +struct Fptr *SalMonarchInitVector = (struct Fptr *)0xffffff80; > +struct Fptr *SalSlaveInitVector = (struct Fptr *)0xffffff90 ; > > STATIC > EFI_SAL_STATUS > @@ -136,3 +136,23 @@ > } > return (SAL_RETURN_REGS) {status, r9, r10, r11}; > } > + > +VOID > +EFIAPI > +SalProcAddressChangeEvent ( > + IN EFI_EVENT Event, > + IN VOID *Context > + ) > +/*++ > + > +Routine Description: > + > +Arguments: > + > +Returns: > + > +--*/ > +{ > + EfiConvertPointer (0x0, (VOID **) &SalMonarchInitVector); > + EfiConvertPointer (0x0, (VOID **) &SalSlaveInitVector); > +} > diff --git a/edk2-sparse/EdkXenPkg/Dxe/XenSal/XenSal.msa > b/edk2-sparse/EdkXenPkg/Dxe/XenSal/XenSal.msa > --- a/edk2-sparse/EdkXenPkg/Dxe/XenSal/XenSal.msa > +++ b/edk2-sparse/EdkXenPkg/Dxe/XenSal/XenSal.msa > @@ -65,5 +65,8 @@ > <Extern> > <ModuleEntryPoint>XenSalInitialize</ModuleEntryPoint> > </Extern> > + <Extern> > + > <SetVirtualAddressMapCallBack>SalProcAddressChangeEvent</SetVirtualAddressMapCallBack> > + </Extern> > </Externs> > </ModuleSurfaceArea> > \ No newline at end of file > > > -- > yamahata > > _______________________________________________ > Xen-ia64-devel mailing list > Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-ia64-devel > _______________________________________________ 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 |