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

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

To: "xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] Calling __va() in a x86_64 Dom0 module
From: "Puthiyaparambil, Aravindh" <aravindh.puthiyaparambil@xxxxxxxxxx>
Date: Tue, 1 Nov 2005 15:48:53 -0500
Cc: "Forsgren, Garry" <Garry.Forsgren@xxxxxxxxxx>
Delivery-date: Tue, 01 Nov 2005 20:46:03 +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/C5nVw==
Thread-topic: Calling __va() in a x86_64 Dom0 module
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. 

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?

BTW, this module works perfectly under plain vanilla x86_64 Linux.

Thanks,
Aravindh

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

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