ephram@violet.berkeley.edu (Ephram Cohen) (04/27/91)
From: ephram@violet.berkeley.edu (Ephram Cohen) Newsgroups: comp.sys.ibm.pc.programmer Subject: 386 CR0 register References: Sender: Followup-To: Distribution: world Organization: University of California, Berkeley Keywords: Hi, I am in need of ensuring that data I put at a particular linear address is actually at that physical address. This means that the 386 paging must be turned off. I would like to test this by a MOV EAX,CR0 instruction. However I need to switch the processor into 386 mode. This leads to 1) will the BIOS (I have Phoenix V10.10A) switch me into 286 mode or 386 mode? (int 15 func 89) ? 2) How do I switch back? I do not know what privelege level I am going to be at when the switch is made. 3) will the registers be preserved when I switch back? can I ROR EAX,10H and expect that after the switch back AX will have the high 16 bits of the EAX register? 4) Does anyone have some tech doc on the BIOS mentioned above? I have called Phoenix but they are slow getting back to me. The reason for all this is simple. I have a DMA capable board and I want to know what physical address I am placing data at. The DMA needs the _Physical_ address and if the linear address is re-mapped I am USCWOAP. I suspect that the paginf feature of the 386 _is_ used by this BIOS. How can I turn it off (I promise never, never to use relocated BIOS features...)? Any help would be appreciated. -- We must prevent those commies from compromising the integrity of our precious bodily fluids. -Gen. Jack D. Ripper Ephram Cohen ephram@violet.berkeley.edu 466 44th St. #1 3210 Tolman Hall