Re: INIT dumps broken?

From: Christian Hildner <christian.hildner_at_hob.de>
Date: 2004-09-16 16:49:29
Russ Anderson schrieb:

>Correctly understanding the proper way to translate addresses for
>the various regions would be the first step.
>
>The top 3 bits of the virtual address is the virtual region number.  
>
>If it is a region 7 (0xe) address, then masking off the top 3 bits 
>yields the correct physical address.
>
>If it is a region 5 (0xa) address, then a "tpa" instruction (using 
>the TLB) should yield the correct physical address (assuming there is
>a valid TLB entry for that virtual address).
>
>Would that be the correct way to translate the addresses?
>
If you can rely on a working ivt and uncorrupted page tables, yes.

>Are there exceptions, such as region 7 addresses where masking off 
>the top 3 bits would not yield the correct physical address?
>
No. Region 7 is per definition one to one mapped. Because of that the 
kernel went from region 7 (2.4.x) to region 5 (2.6.x) to allow having a 
relocatable kernel at a fixed virtual address.

>How should region 5 addresses without a valid TLB mapping be handled?
>
If you don't accept tlb misses thrown by tpa then you have to first make 
sure that the address is in the page table mapped segment and second 
walk the page tables in physical mode (see ivt.S nested TLB handler).

>Are there any other regions that need handling, and if so, how?
>
There shouldn't be other regions needed. Nevertheless you could also 
walk the page tables for them.

Christian

-
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 Sep 16 02:53:01 2004

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