xen-devel
[Xen-devel] Re: [RFC PATCH 07/35] Make LOAD_OFFSET defined by subarch
Chris Wright wrote:
Change LOAD_OFFSET so that the kernel has virtual addresses in the elf header
fields.
Unlike bare metal kernels, Xen kernels start with virtual address
management turned on and thus the addresses to load to should be
virtual addresses.
Rather than changing LOAD_OFFSET in Linux, why not leave this alone and
change the Xen domain builder to properly interpret the ELF program
header fields?
i.e. with this change, we'd have
p_paddr = __PAGE_OFFSET + segment_offset
p_vaddr = __PAGE_OFFSET + segment_offset
VIRT_BASE = __PAGE_OFFSET
where, the VA mapping p_paddr -> (p_paddr-VIRT_BASE) is established by
the domain builder.
Instead, why not drop this patch, and the VIRT_BASE portion of the
__xen_guest section, and instead change Xen's domain builder to treat
p_paddr and p_vaddr in a more standard way? Since Xen starts the domain
with virtual address management enabled, it makes sense for it to use
p_vaddr to determine the virtual address to load the kernel to. Then,
p_paddr could be used to determine which pseudo-physical pages back that
virtual address range.
i.e. use, just like vanilla linux:
p_paddr = segment_offset
p_vaddr = __PAGE_OFFSET + segment_offset
so these two fields directly indicate the same mapping as before, but
now in terms of p_vaddr -> p_paddr, which makes sense, and no need for
the extra VIRT_BASE attribute in the __xen_guest section.
Dan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|