[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |