Hi Anton,

> FreeDOS 1.0 gives more debug information on such problem while newer FD1.1 
> just 
> cycle with "Invalid opcode" or reboot.

This can also depend on whether you run EMM386-style drivers or not.
If yes, those can show error messages. If no, either the kernel will
show error messages or you get a crash without messages. Verbosity
of messages can differ between those cases. You should have a choice
of different boot options in both FreeDOS 1.0 and 1.1 which should
lead to the same available cases. However, driver versions of course
will differ for EMM386- and HIMEM-style drivers and caches etc. etc.



> This is kind of memory corruption during moving dos from it's location to 
> HIGH. 
> It's a kernel bug, but I have no idea how to debug it on a real hardware...

If it happens for DOS=HIGH, try using DOS=LOW as explained here:

http://help.fdos.org/en/hhstndrd/cnfigsys/dos.htm

That way, DOS can boot, but you will probably find that software
which uses XMS (for example a cache) will crash then instead. If
that is the case, you do NOT have a kernel bug but a problem in
HMA and XMS access. Very often this is A20 related. Try different
XMS drivers and different A20 methods, they are often configurable
with command line options. Note that JEMMEX has a built-in driver
for XMS and HMA, so it counts for both EMM386- and HIMEM-style at
the same time!



I think you also mentioned using special boot loaders, such as
PXELINUX. Maybe you use it in combination with MEMDISK. Both (!)
parts of that boot load problem are likely to need more memory
than the first megabyte. So they ALSO have built-in drivers to
manipulate A20 and high memory. As has been said in this thread,
maybe you simply have to use a newer version of the boot loader.

It might also be simply impossible to combine all "ingredients"
in the way used by you: XMS / HMA, maybe UMB / EMS drivers, a
network boot loader which may have to be in RAM even after DOS
starts, maybe a virtual boot disk which may also have to stay
in RAM, maybe DOS programs which use extra RAM. If any of them
has weak communication with any other, you easily get a crash.
In that case, try using a simpler construction or other parts.

Finally, I wonder in which sense this is something that AMD or
the FreeDOS kernel can fix, does Intel or another DOS version
avoid the crash if you keep all other parts unchanged, even
all DOS drivers and boot loaders and similar?

Looking forward to hear more about the issue. See also:

https://en.wikipedia.org/wiki/A20_line

https://en.wikipedia.org/wiki/High_memory_area



Examples for A20 configuration options:

- FreeDOS HIMEM64 /METHOD:PORT92 (or KBC, PS2, FAST, BIOS or ALWAYSON)
  (this also has /X and /NOABOVE16 workarounds for weak communication,
  aka problems with reporting of free memory areas by BIOS or loaders)

- XMGR from the UIDE driver suite (RDISK, UHDD, UDVD2, UIDE, XMGR: a
  ramdisk, UDMA driver, ATAPI/SATA CD/DVD/BD driver, cache, "HIMEM")
  has /PA "always use port 92", /PN "never use port 92, use kbc" and
  "never change A20 if it already was on at boot" (this also has the
  /T0 to /T2 options to select workarounds for weak communication...)

- JEMMEX originally understood A20METHOD:PORT92 (or KBC, PS2, FAST,
  BIOS or ALWAYSON) options (and NOE801 and NOE820 for workarounds
  for weak communication) but the syntax may have changed. See docs!

Note that never changing A20 if it already was on can be risky, if
something else switches A20 off again later for any reason! It does
not hurt security-wise to keep checking before each XMS / HMA copy,
but it does hurt performance a bit.

Regards, Eric



PS: A possibly interesting patch from NetBSD vs Opteron vs A20:
http://mail-index.netbsd.org/port-amd64/2011/11/02/msg001520.html
http://mail-index.netbsd.org/port-amd64/2011/11/04/msg001528.html
(switching only works port 92 style on that machine, unexpectedly)



------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to