On Thu, Mar 17, 2011 at 7:33 AM, Shane G <[email protected]> wrote:
> And which "real address 0" might that be ?.
> Remembering that most people will be running as a guest under a hipervisor
> (z/VM) running second level under another  hipervisor (PR/SM).

And when?  At any given time, each virtual machine page is either:
 - resident, ie mapped to a page frame in z/VM
 - paged out (either to expanded storage or to DASD)
 - not there (never touched since reset)

So only when pages are resident we could point to the z/VM page frame
that holds it. Since that can change while you're looking, the only
useful interface is when you LOCK the page (and the MAP option shows
you where it got locked).

The Linux kernel does not start at virtual machine page 0 because that
has all kind of hardware architected stuff (it does map the zero page
fields). Current kernels start at 0010 0000 so that we separate SR and
EW portions in separate architectured segments and can share the
kernel in NSS.

To add to the moderately useful confusion, virtual page 0 is kind of
special due to prefixing. IIRC Linux does not use the guest's virtual
page 0 but allocates a prefix page for each virtual CPU.

Since z/VM runs in LPAR, you also have the SIE offset & limit
registers for the LPAR, that map the z/VM page frames on (consecutive)
real memory pages. Beyond that, there's probably something to handle
memory blocks that went AWOL, and with RAIM in the z196 it gets very
hard to point at your data. Good thing is you probably don't care...

| Rob

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390
----------------------------------------------------------------------
For more information on Linux on System z, visit
http://wiki.linuxvm.org/

Reply via email to