Dear List, I seem have uncovered a bug in the FreeDOS kernel (2040) init processing config.sys.
To reproduce requires both the following conditions : 1- EBDA is relocated by a device driver provided by the user [/not/ the kernel's native relocator]. It is understood such driver does update the BIOS pointers at 40:0Eh and 40:13 properly. 2- A UMB-provider is then loaded as directed by a DEVICE= line - For 1 I used my own mover, and as an alternative, Japheth's movexbda.exe, - for 2 JEMMX or MS EMM386. Bug is fully repeatable : = All combinations work fine in MS-DOS but will crash FreeDOS. = Bug details : device "2" is installed and initialised properly by the Kernel. But thereafter, in installing its own UMB management, FreeDOS messes up, resulting an invalid MCB chain in low memory ending "in free air" at paragraph 9FFF - whitout an MCB here, just random data from the former EBDA. FreeDOS also creates a bogus MCB at the paragraph immediately before where the XBDA /used to be/, and stores the address of that MCB inside its "list of list". However the bogus MCB is not linked. Config.sys processing can continue normally but of course the whole system will go to Catastrophe city° when the kernel does memory block (re)allocation - when trying to load the shell, or even earlier (install=) Without a look at the kernel's code, my guess : Sysinit stored the /initial/ XBDA location once and for all somewhere within /its/ data, and uses /that/ when trying to link UMBs in, instead of consulting the now /current/ XBDA pointers in BIOS data area, as it should. ° note : kernel outputs a diagnostic includng the failed MCB and then halts. A good point. HTH - don't shoot the messenger ;=) -- Czerno ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ Freedos-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freedos-devel
