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