Messages in this thread | | | Date | Sat, 13 Nov 1999 14:13:53 -0500 (EST) | From | "Richard B. Johnson" <> | Subject | Re: Accessing shared physical memory |
| |
On Fri, 12 Nov 1999, Pavel Machek wrote:
> Hi! > > > I am trying to access a board with shared memory at absolute address > > 0xd0000. This is accessible in 'real-mode' on the ISA bus as > > D000:0000. > > Dirty method is ptr = (short *) 0xc00d0000; It is not clean, not > portable, not recommended, but it should work. >
Yes. But this is what I have found on some Gateway Pentiums:
If I access a device that is below 1 megabyte, using a flat-mode (32-bits, starting at 0), segment descriptor, the "below 1 megbyte" address bit, that some use to save bits in the decode, is active so such a device can be accessed. However, if I access it through Linux's segment descriptor, this bit is not set. This means that boards that use this bit in the decode are invisible to Linux unless seen though a segment descriptor that gives 1:1 virtual to physical mapping.
This invisibility is strange because the MMU is supposed to translate to physical regardless of how it was generated.
Cheers, Dick Johnson
Penguin : Linux version 2.3.13 on an i686 machine (400.59 BogoMips). Warning : It's hard to remain at the trailing edge of technology.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |