About ioremap() and L2-Cache

Para Group (para@sun670.sebuaa.ac.cn)
Tue, 22 Jul 1997 22:06:06 +0900


Hi, every one
I read the ioremap source of Linux-2.1.x and find the kernel doesn't care about the Pentium new bit setting PWT ( page cache write through ) and PCD ( page cache disable ), only PCD is defined but never used in the kernel source. We also read the FreeBSD 2.1.5 kernel source. In that source code, the pmap_mapdev() setup the page table entry with the PCD and PWT bits set. In Linux2.1.x, I can not find the bit set, if the L1-Cache or L2-Cache cache the I/O address space memory, how the device driver communicates with the device.
I also write a pseudo device driver in Solaris2.x, Solaris2.x DDI/DKI provide the device access attributes which can inform kernel whether the I/O space address memory can be cached or not. The default attribute is without cache enabled. But I wonder why when I disable L2-Cache from BIOS settings there is still a slowing down of my test program. Who can tell me how the BIOS do with L2-Cache and the principle of PC main-board.

thank a lot

Michael L.
07/21/97