Subject: Linux-mips port: HIGHMEM Address map

From: <[email-masked]>
Date: Tue, 8 Feb 2005 15:18:23 +0530

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()

                        high_memory = (KSEG1 - KSEG0) >> PAGE_SHIFT;

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.

Regards,

Rishabh

The information contained in this e-mail message and in any annexure is
confidential to the  recipient and may contain privileged information. If you are not
the intended recipient, please notify the sender and delete the message along with
any annexure. You should not disclose, copy or otherwise use the information contained
in the message or any annexure. Any views expressed in this e-mail are those of the
individual sender except where the sender specifically states them to be the views of
SoCrates Software India Pvt Ltd., Bangalore.

---

From: <[email-masked]>
Date: Tue, 8 Feb 2005 15:22:43 +0530

OOPS for the previous mail I guess I goofed up a little.
Hi,

                        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.

Q2.       Why is highstart_pfn reinitialized in virtual address space?
Regards,

Rishabh