[librm] Support userptr_t in 64-bit builds
authorMichael Brown <mcb30@ipxe.org>
Sun, 21 Feb 2016 11:37:37 +0000 (11:37 +0000)
committerMichael Brown <mcb30@ipxe.org>
Sun, 21 Feb 2016 11:37:37 +0000 (11:37 +0000)
commit4c1f2486e664e9c88164cfff917a99bfe6beed52
treea87dfb2423a808d7121fe3dd1c51efa5349976b0
parentb6ebafe1bba5fa841c71a03f1a264e6a17ed8584
[librm] Support userptr_t in 64-bit builds

In a 64-bit build, the entirety of the 32-bit address space is
identity-mapped and so any valid physical address may immediately be
used as a virtual address.  Conversely, a virtual address that is
already within the 32-bit address space may immediately be used as a
physical address.

A valid virtual address that lies outside the 32-bit address space
must be an address within .textdata, and so can be converted to a
physical address by adding virt_offset.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/arch/x86/include/librm.h