Mail Archives: djgpp/2002/01/19/03:05:48
Success! Both PMODE 1.3 and CWSDPMI 6b give me full access to my two
512MB PCI cards. Excellent utilities, thank you.
Just for fun, I tried mapping my entire non-DOS memory from 0x00100000
to 0xFFFFFFFF into one segment, and then I peek bytes from various
addresses. PMODE 1.3 works great. CWSDPMI 6b works too if I restrict
my segment to 0x20000000 to 0xFFFFFFFF. For some reason, a wider
segment provokes SIGSEGV when I peek bytes. Oh well, it was just an
experiment.
I'm calling these functions, in this order:
__dpmi_physical_address_mapping()
__dpmi_allocate_ldt_descriptors()
__dpmi_set_segment_base_address()
__dpmi_set_segment_limit()
_farpeekb()
__dpmi_free_ldt_descriptor()
__dpmi_free_physical_address_mapping()
On Fri, 18 Jan 2002 22:53:29 CST, Charles Sandmann
<sandmann AT clio DOT rice DOT edu> wrote:
>> Hi, I'm trying to peak/poke my two custom PCI cards that each occupy
>> 512MB of address space, located at hardware addresses 0xA0000000 and
>> 0xC0000000. Is this possible using DOS, djgpp, and cwsdpmi5?
>
>When you map memory using page tables, each 4Mb takes 4Kb of memory,
>and CWSDPMI puts this in DOS memory. Mapping 1Gb of physical address
>space would take 1Mb of page tables in 640K of DOS memory. So this
>won't work with the "off the shelf" stuff. It can be fixed.
>
>This may work using pmode 1.3, or I believe it may work using the
>CWSDPMI test WIP version I've made available for testing which uses
>4Mb pages.
>
>> getting SIGSEGV errors or "could not allocate page table memory".
>> I can't find any examples of accessing huge areas, so I'm just flailing
>> about with dpmi function calls that I don't fully understand. What's
>> the right approach? What sequence of function calls? Thanks.
>
>If you make your code work properly with a smaller area (say 50Mb) of
>mapped space, first try ftp://clio.rice.edu/djgpp/csdpmi6t.zip and
>see if it works - or PMODE 1.3 in raw (no emm) mode. In any case, bug
>me with email if it doesn't and I'll fix up something that does.
- Raw text -