Can you try building a kernel with the attached diff?

Index: vgafb.c
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/dev/vgafb.c,v
retrieving revision 1.52
diff -u -p -r1.52 vgafb.c
--- vgafb.c     23 Mar 2008 12:10:53 -0000      1.52
+++ vgafb.c     4 Aug 2008 22:07:27 -0000
@@ -412,13 +412,13 @@ vgafb_mmap(v, off, prot)
                if (sc->sc_mmio_size == 0)
                        return (-1);
 
-               if (off >= sc->sc_mem_addr &&
+               if (off >= (sc->sc_mem_addr & ~PGOFSET) &&
                    off < (sc->sc_mem_addr + sc->sc_mem_size))
                        return (bus_space_mmap(sc->sc_mem_t,
                            sc->sc_mem_addr, off - sc->sc_mem_addr,
                            prot, BUS_SPACE_MAP_LINEAR));
 
-               if (off >= sc->sc_mmio_addr &&
+               if (off >= (sc->sc_mmio_addr & ~PGOFSET) &&
                    off < (sc->sc_mmio_addr + sc->sc_mmio_size))
                        return (bus_space_mmap(sc->sc_mem_t,
                            sc->sc_mmio_addr, off - sc->sc_mmio_addr,

Reply via email to