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-devel

RE: [Xen-devel] Calling __va() in a x86_64 Dom0 module

To: "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>, "xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] Calling __va() in a x86_64 Dom0 module
From: "Puthiyaparambil, Aravindh" <aravindh.puthiyaparambil@xxxxxxxxxx>
Date: Wed, 2 Nov 2005 10:59:06 -0500
Cc: "Forsgren, Garry" <Garry.Forsgren@xxxxxxxxxx>
Delivery-date: Wed, 02 Nov 2005 15:56:18 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcXfJauwtSpYwRXYQc+ukrtR/C5nVwAUlD8AABOQ26A=
Thread-topic: [Xen-devel] Calling __va() in a x86_64 Dom0 module
Jun,

The ioremap() function did the trick. 

Thanks,
Aravindh

> -----Original Message-----
> From: Nakajima, Jun [mailto:jun.nakajima@xxxxxxxxx]
> Sent: Wednesday, November 02, 2005 2:17 AM
> To: Puthiyaparambil, Aravindh; xen-devel
> Cc: Forsgren, Garry
> Subject: RE: [Xen-devel] Calling __va() in a x86_64 Dom0 module
> 
> Puthiyaparambil, Aravindh wrote:
> > I am trying to get a module working under x86_64 Dom0. The module is
> > used to communicate between the Linux OS running on the ES7000 and
the
> > external service processor. The module as part of its setup parses
the
> > OEM table to reference some information present there. It gets the
> > address of the OEM table using acpi_get_firmware_table(). Then the
> > address is converted to a virtual address using __va() before it is
> > referenced.
> >
> > When building the module against 2.6.12-dom0, the __va() function
that
> > is called the x86_64 one. When I try accessing the VA of the OEM
> > table, I am getting a page fault. The PA is 0x26e0400.  So I patched
> > the module to use Xen's __va() function. Now the page fault does not
> > happen but when the table is parsed the information I am looking for
> > is not present.
> XenLinux runs on _guest_ (or pseudo) physical. You need to map machine
> physical.
> 
> >
> > Am I doing anything wrong here? Am I not supposed to touch this
region
> > of memory from Dom0? Or is there a hypercall that I should be using?
> You should be able to use ioremap() unless you need to touch the table
> very early at initialization time.
> 
> >
> > BTW, this module works perfectly under plain vanilla x86_64 Linux.
> >
> > Thanks,
> > Aravindh
> >
> 
> Jun
> ---
> Intel Open Source Technology Center

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

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