doscmd under 8-stable, anyone?

Joerg Wunsch freebsd-stable at
Wed Jun 15 13:57:06 UTC 2011

When trying to use doscmd on 8-stable, all I get is:

Error mapping HMA, HMA disabled: : Invalid argument
Segmentation fault (core dumped)

The segfault happens at the end of mem_init(), when the allocated DOS
memory (which is located at virtual address 0) is attempted to be
written to.  Apparently, the mmap() failure that causes the "HMA
disabled" message is actually a fatal error rather than a benign one
the could be ignored, as it results in no valid DOS memory allocation
at all.

Right now, the only older system I could test it against uses FreeBSD
5.x, where the mmap() works as expected.  So does anyone have an idea
why this mmap() call:

    if (mmap((caddr_t)0x000000, 0x100000,
                   PROT_EXEC | PROT_READ | PROT_WRITE,
                   MAP_ANON | MAP_FIXED | MAP_SHARED,
                   -1, 0) == MAP_FAILED) {
        perror("Error mapping HMA, HMA disabled: ");
        HMA_a20 = -1;

yields an EINVAL now under 8-stable?

cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)

More information about the freebsd-stable mailing list