Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Nov 2000 12:39:32 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        hackers@FreeBSD.org, Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org>
Subject:   RE: PSE/PAE support
Message-ID:  <XFMail.001108123932.jhb@FreeBSD.org>
In-Reply-To: <XFMail.001108120910.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 08-Nov-00 John Baldwin wrote:
> I'm sure Peter can correct this and fill in any holes as well as offer
> guidance to anyone who is masochistic enough^W^Wwilling to work on this.

Well, I didn't get all the facts quite right *sigh*.  The page directory
pointer table actually contains 4 entries which are indexed by the upper 2 bits
of the virtual linear address.  Also, one thing I failed to mention is that the
choice between small and large pages is made via the PS bit in the page
directory table entry that points to either a large page or a page table.  And
my table of page-sizes was a little off, it looks like this:

Page Size Table:
          |  Small Pages | Large Pages
---------------------------------------
Normal    |      4k      |      4k
PSE       |      4k      |      4m
PAE       |      4k      |      2m
PAE + PSE |      4k      |      4m

Now, if we look at how the virtual address is split up when using PAE for a
large page:

31 30 29     21 20                            0
-----------------------------------------------
|    |         |                              |
-----------------------------------------------
  ^       ^                   ^
  |       |                   `----------------- offset within the page
  |       `------------------------------------- index into the page directory
  `--------------------------------------------- index into the page directory
                                                 pointer table

This means that large pages with PAE have a 21-bit offset.  That only allows
for a 2mb offset, so I'm not sure how one goes about addressing the upper 2mb
of a 4mb page then.  *scratches head*

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.001108123932.jhb>