RE: Recent fix for pgd_addr_end

From: Luck, Tony <tony.luck_at_intel.com>
Date: 2005-03-18 09:49:32
>  In the recent fix to include/asm-ia64/pgtable.,h, the coode now
>sign-extends the top of the pgdindex into the reserved region.
>
>Are you sure this is correct?  Mosberger+Eranian says that these bits
>must be zero: page 159, end of first paragraph, `What is unusual is
>that the global-directory index is split into a 7-bit low part (pgdi)
>and a 3 bit high part (pgdh) that covers bits 22 to 39 and 61 to 63
>respectively.  Bits 40 to 60 are unused and must be 0.' (Of course the
>bit numbers here are for 8k pages, and have to be adjusted).


I don't have the book handy, but the relevent chapter is online.  I see
it saying: http://www.phptr.com/articles/article.asp?p=29961&seqNum=2

"The unimplemented portion of the virtual address consists of bits
IMPL_VA_MSB + 1 through 60. Even though they are marked as unimplemented,
the architecture requires that the value in these bits match the value
in bit IMPL_VA_MSB. In other words, the unimplemented bits must correspond
to the sign-extended value of the lower portion of the virtual address.
This restriction has been put in place to ensure that software does not
abuse unimplemented bits for purposes such as type tag bits. Otherwise,
such software might break when running on a machine that implements a
larger number of virtual address bits."

Figure 4.13 just below this text shows the hole in the middle
of the region that this creates.

-Tony

-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Thu Mar 17 17:50:04 2005

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:37 EST