OOPS for the previous mail I guess I goofed up a little. Hi, Guys I am trying to figure out the virtual address map of
linux mips port for the HIGHMEM enabled kernel. I am unable to figure out from which virtual address map is
the HIGHMEM Memory starts. I found in function mem_init() highstart_pfn = (KSEG1 - KSEG0) >> PAGE_SHIFT; high_memory = (void *) __va(max_low_pfn
* PAGE_SIZE); Q1. Also I have
seen in many driver source codes that virt_to_phys(high_memory) has been used, will that mean that virtual address for
HIGHMEM is beginning from 0xa0000000. If that is so then if I want to relocate it to KSEG3 which I
feel will be free how can I do it? I have my SDRAM mapped at 2 locations {virtual addresses}
(0xa0000000 – 0xa3ffffff) and (0x80000000 – 0x83ffffff). Physical
Address is (0x00000000 – 0x03ffffff). I have also physical memory 0x20000000 –
0x23ffffff(physical address) to be used for HIGHMEM. Q2. Why
is highstart_pfn reinitialized in virtual address
space? Regards, Rishabh
|