WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] [PATCH][GFW] fix EFI_SAL_SET_VECTORS

To: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] [PATCH][GFW] fix EFI_SAL_SET_VECTORS
From: tgingold@xxxxxxx
Date: Wed, 10 Sep 2008 12:12:54 +0200
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 10 Sep 2008 03:12:59 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20080910083757.GI4822%yamahata@xxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20080910083757.GI4822%yamahata@xxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Internet Messaging Program (IMP) 3.2.8
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

<Prev in Thread] Current Thread [Next in Thread>