|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] x86-64's contig_initmem_init
Not very long ago there was a change to this function appearantly to
make available the first megabyte of memory. While this is a nice
attempt, I wonder how this worked out for anyone not using shadow mode:
Since the initial allocation is provided as a read-write mapping, the
occasional use of memory from the corresponding physical range to
populate page tables (or descriptor tables) results on BUG_ON-s being
triggered in hypervisor.c because these pages then cannot be pinned
(after converting their phys-to-virt mapping to read-only they still
have the initial mapping left read-write, which prevents the necessary
type transition from happening).
While resolving this I wanted to avoid adding code to
make_page_readonly (much like i386 has a special case already, but
appearantly to deal with a different scenario), I wondered whether one
couldn't make these unused portions of the initial mapping readonly
during early setup; since I wasn't sure whether I'd encounter any
problems with that I didn't attempt to do so, yet, and rather reverted
the original change.
Finally I wonder why this first Mb was taken care about, but the
potentially larger area at the end of the initial allocation (which to
my understanding is currently lost, too) wasn't. And I am having the
understanding that the respective memory ranges for i386 are also lost.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] x86-64's contig_initmem_init,
Jan Beulich <=
|
|
|
|
|