Hi... I guess freedos-devel would be better than
freedos-user or off-list mails for this... Anyway ;-).

>> In other words, if you have more than 32 MB XMS2...?

> I don't know, once I had found the technical reason for the bug I 
> stopped examine all possible configurations (with the exception of 
> vmware, were I was curious if this emulation indeed somehow is able to 
> "cure" the bug. It isn't.)

Okay... any idea why the limit-to-32-MB-XMS-2 default somehow
blocked the problem?

>> So it is about VCPI allocation? Or EMS?
> Yes, it is a VCPI issue, calling memory functions ax=DE03h ... DE05h in 
> protected mode.

http://www.delorie.com/djgpp/doc/rbinter/id/15/75.html
RBIL 67.de03: get number of free 4k pages
http://www.delorie.com/djgpp/doc/rbinter/id/16/75.html
RBIL 67.de04: allocate a VCPI page
http://www.delorie.com/djgpp/doc/rbinter/id/17/75.html
RBIL 67.de05: free a 4k page

>> And... Is that the actual cause, a stack overflow?

> No, the actual cause is an address context switch (CR3 register is 
> changed) without ensuring that the current stack pointer is valid in 
> this new context.

How can that be fixed? If the stack pointer is in some
page which you are just about to unmap, you cannot just
move the stack pointer to "some" other place... Please
explain in more detail.

>> What is the URL of the Bugzilla entry?
> I dont know, but should be easy to find out for those who are interested.

http://www.freedos.org/bugzilla/cgi-bin/show_bug.cgi?id=1941
... given that you reported the bug and want it to be fixed,
you could be a bit more helpful ;-).

You write:

BEGIN you

The protected-mode VCPI functions 03-05 are good candidates for causing a 
reboot: the VCPI host has switched CR3, but IDT (and stack, GDT, ...) are 
still set to the client's, a hazardous constellation if an exception 
occurs then.

PM_ENTRY PROC
         ...
         mov     ecx,fs:[PAGEDIR]
         mov     cr3,ecx

this switch silently assumes that the host is called with SS:ESP pointing 
to conventional memory (there is no stack switch to the hosts SS:ESP 
between PM_ENTRY and the move to CR3).

END you

As said, sounds reasonable, but how to fix it?

>> What is the DIFF / patch for EMM386 which you used to fix it?
> no DIFF has been created.

We cannot apply your patch unless you submit one!

>> Be more verbose please! (On the list, of course...)

> Hopefully this was enough?

Yes but it was off-list, CCing the list...

Eric


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to