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