On Tue, 30 Aug 2005, Bang Jun-Young wrote:
On Mon, 29 Aug 2005 17:49:02 +0900, Bang Jun-Young <[EMAIL PROTECTED]> wrote:
I got the following error when I ran XFree86 tagged xf-4_5_99_10 with vesa driver on a VMware virtual machine running NetBSD/i386:

Fatal server error:
xf86MapVidMem: could not mmap /dev/mem [s=ffec0000,a=ffeb9898] (Invalid 
argument)

I have found that this was caused by changes made in helper_exec.c r1.28.
Reverting to r1.27 fixed the problem.

Upon some experiments, I have found that the following code is causing
the problem:

CARD32
x_inl(CARD16 port)
{
   CARD32 val;

   if (port & 0x0003U) {
          UnalignedIO(Int10Current, "read", port, 4);
          if (port & 0x0001U) {
              val = x_inb(port);
              val |= (CARD32)x_inw(port + 1) << 8;
              val |= (CARD32)x_inb(port + 3) << 24;
          } else {
              val = x_inw(port);
              val |= (CARD32)x_inw(port + 2) << 16;
          }
   } ... snipped ...
}

It seems that a unaligned dword-sized IO can't be separated to smaller
word/byte-sized IO's. I'm not sure if this is a bug of VMware virtual
graphics adapter.

It is, one I pointed out to VMWare sometime ago. I'll commit a workaround for this soon. Thanks for reminding me of VMWare's unaligned accesses.

Marc.

+----------------------------------+-----------------------------------+
|  Marc Aurele La France           |  work:   1-780-492-9310           |
|  Academic Information and        |  fax:    1-780-492-1729           |
|    Communications Technologies   |  email:  [EMAIL PROTECTED]          |
|  352 General Services Building   +-----------------------------------+
|  University of Alberta           |                                   |
|  Edmonton, Alberta               |     Standard disclaimers apply    |
|  T6G 2H1                         |                                   |
|  CANADA                          |                                   |
+----------------------------------+-----------------------------------+
XFree86 developer and VP.  ATI driver and X server internals.
_______________________________________________
XFree86 mailing list
XFree86@XFree86.Org
http://XFree86.Org/mailman/listinfo/xfree86

Reply via email to