On Tue, 14 Sep 2004 10:30:44 -0500 (CDT), Russ Anderson <rja@sgi.com> wrote: >Thanks for the response. Some comments below... >Takao Indoh wrote: >> BTW, I used tpa to get physical address, but I am not sure TLB is valid >> in the OS_INIT. tpa is available? > >There may not be a valid TLB. That's why DATA_VA_TO_PA() cannot be used >in the OS_MCA path. LOAD_PHYSICAL() is used instead (in the original MCA code). >I'm not sure if LOAD_PHYSICAL() is sufficient either in this context (but that >may just be my lack of understanding). LOAD_PHYSICAL() only works for physically unique addresses (one to one mapping from virtual to physical address at load time), it does not work for replicated areas like the per cpu data area. As Russ has said, tpa is not reliable in MCA/INIT paths, one of the possible reasons for taking an MCA is an invalid tlb load :(. Which means that we need a second data area which contains the physical addresses of each of the per cpu data areas. MCA/INIT can do a LOAD_PHYSICAL() on the start of that table, then index by cpu to get the physical address of the local per cpu table. - 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.htmlReceived on Tue Sep 14 21:33:25 2004
This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:30 EST