delorie.com/archives/browse.cgi | search |
From: | Martin_Czamai AT peak-service DOT com (Martin Czamai) |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Accessing memory above an adress of 1MB |
Date: | Mon, 09 Aug 1999 11:10:10 GMT |
Message-ID: | <37aeb1ba.11535499@NotesXNT> |
X-Newsreader: | Forte Free Agent 1.11/32.235 |
NNTP-Posting-Host: | board-81.darmstadt.netsurf.de |
X-Original-NNTP-Posting-Host: | board-81.darmstadt.netsurf.de |
X-Trace: | 9 Aug 1999 13:11:50 +0200, board-81.darmstadt.netsurf.de |
Organization: | OMNILINK -- your link to the Net |
Lines: | 24 |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
Hello! I want to access the memory space given from a BAR (base adress register) of a PCI controller. (the adress is dynamic allocated by the system) Therefore I wrote a function that returns the (absolute) adress that has to be accessed. Usually it is around 0xFFFFF000 . I used __djgpp_map_physical_memory (mappedBAR, NoBytes, BaseAdr) for mapping the device to a created memory block named 'mappedBAR'; the number of bytes to map (NoBytes) is a multiple of a mem-page found with __dpmi_get_page_size(&NoBytes) (4096 bytes) and the base adress (BaseAdr) is equal the absolute address of the BAR. My problem is, that the __djgpp_map_physical_memory (mappedBAR, NoBytes, BaseAdr) returns EACCES as errno, wich is a rejection of the request to the DPMI server. What does this message exactly mean? Who could help me getting started to access this memory? I am using RHIDE 1.4. Please send your reply to Martin_Czamai AT peak-service DOT com . Thank you!
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |