Hi,
I need help in running CPU with HIGH_MEM.
Below is the processor memory map .. It is base on MIPS64K Core.
0x0000_0000 -- 0x07FF_FFFF -> RAM (Region 1)
0x0800_0000 -- 0x0FFF_FFFF -> PCI BUS 1
0x2000_0000 -- 0x2FFF_FFFF -> Flash Region
0x4000_0000 -- 0x47FF_FFFF -> PCI BUS 2
0x8000_0000 -- 0xCFFF_FFFF -> RAM (Region 2) the first 128MB is remapped
into 0x8000_0000 ..
The system has 256MB of PHYSICAL RAM ..
I configured TLB's and added memory regions. The system boots up correctly ..
If I show cat /proc/meminfo it shows 256MB , it could allocate memory ( I
verified with a simple program allocating the memory and writing some data)
There is a PCI MAC device on PCI BUS 2. The CPU is not able to perform DMA
to/from device.
The MAC driver is allocating DMA buffers using the following code ..
{
phy = virt_to_bus(high_memory); << Resulting in 0xa000_0000;
virt = ioremap(pbase);
}
The Linux configuration has no ZONE_DMA configuration ..
Few questions ..
A) HIGH_MEMORY START Address is configured to 0x2000_0000 , is it correct
value.
B) Are there any data which can be dumped to know more information ?
C) Do I need to enable MEMORY Discontinuous Config also ? ( As I did not see
a reason to enable this as memory in Region 2 is contiguous)
D) I read in some articles on internet that if HIGH_MEM is used,PCI bounce
buffers needs to be used ? Can some body point me how to set this up ?
Thanks & Regards,
Ramgopal Kota
|