Date: Sun, 15 Nov 1998 13:30:17 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: Shawn Hargreaves cc: djgpp AT delorie DOT com Subject: Re: Disable DPMI memory caching? In-Reply-To: <+M9M3kANnJT2EwOV@talula.demon.co.uk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com On Fri, 13 Nov 1998, Shawn Hargreaves wrote: > with the use of memory-mapped IO registers that are located in the low > megabyte of physical memory (0xB8000). At the moment the CPU is caching > any writes to these registers, which obviously causes the hardware to > miss a lot of commands! Does this happen on several types of motherboards? It surely seems as a chipset bug to me! The motherboard should have no business caching memory regions mapped into peripheral devices, ever. > Is there any way to disable caching for a range of conventional memory > addresses? I can't find any mention of this in the DPMI spec This is not a DPMI issue, so the DPMI spec is IMHO the wrong place to look for a solution. Many motherboards have a BIOS setup program that allows to enable/disable caching of specific memory address regions. Maybe somebody has set that machine to cache those areas? If such an option is available, you could use it to explicitly disable caching. Another possibility might be that some memory manager shadows the B800 region, and the caching actually happens in the remapped addresses. To see whether this is the cause, boot into plain-vanilla DOS configuration (empty CONFIG.SYS and AUTOEXEC.BAT) and see if the problem goes away. If it does, fiddling with the memory manager command line should do the trick. Shadowing is also sometimes controlled from the BIOS setup, so looking there might also provide some hints. Finally, I think I saw a long time ago some command (like a write to some port?) that would cause a chipset to disable caching a givent memory region. If my memory doesn't fool me, you should be able to find the details in the data sheets of the Intel chips used in chipsets (I think everybody else mimics them).