1
0
Fork 0

Changed the paging link management

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1505
This commit is contained in:
Sjoerd van der Berg 2003-12-29 22:53:02 +00:00
parent c26a547cde
commit de536dfae0
2 changed files with 12 additions and 20 deletions

View file

@ -69,11 +69,8 @@ static struct MemoryBlock {
class IllegalPageHandler : public PageHandler {
public:
void AddPageLink(Bitu lin_page, Bitu phys_page) {
}
IllegalPageHandler() {
flags=PFLAG_ILLEGAL|PFLAG_NOCODE;
flags=PFLAG_INIT|PFLAG_NOCODE;
}
Bitu readb(PhysPt addr) {
LOG_MSG("Illegal read from %x",addr);
@ -89,13 +86,6 @@ public:
class RAMPageHandler : public PageHandler {
public:
void AddPageLink(Bitu lin_page, Bitu phys_page) {
/* Always clear links in first MB on TLB change */
if (lin_page<LINK_START) return;
if (memory.links.used<MAX_LINKS) {
memory.links.pages[memory.links.used++]=lin_page;
} else E_Exit("MEM:Ran out of page links");
}
RAMPageHandler() {
flags=PFLAG_READABLE|PFLAG_WRITEABLE;
}
@ -154,11 +144,6 @@ void MEM_SetPageHandler(Bitu phys_page,Bitu pages,PageHandler * handler) {
}
}
void MEM_UnlinkPages(void) {
PAGING_ClearTLBEntries(memory.links.used,memory.links.pages);
memory.links.used=0;
}
Bitu mem_strlen(PhysPt pt) {
Bitu x=0;
while (x<1024) {