Port-sparc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD/sparc running on qemu



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

On Jan 15, 2010, at 9:24 PM, Izumi Tsutsui wrote:

BTW, IIRC -current has some problem on qemu around TCX wscons driver.

Like what exactly?

The first problem is genfb(4) matches first and
it doesn't print any characters.

That should be trivial to fix.

Once I fixed tcxmatch() to return >1 value, the kernel panics
by invalid pointer access in tcxattach(), IIRC.
Registers are not mapped properly in 8bit only TCX case?

The only registers we map belong to the DAC. My best guess is this - the S24 has two blit spaces and two stipple spaces ( basically, you do a 64bit write to copy up to 32 pixels or to draw up to 32 pixels ) - one that influences the S24's control planes and one that doesn't. Since the tcx doesn't have any control bits ( on S24 they're poor man's WIDs - you can have 8bit, 24bit with or without two different gamma correction algorithms ) so the driver probably tries to map a blit- or stipple space that doesn't exist on tcx.

Look for this in tcx.c:
        /* RBLIT space */
        if (sbus_bus_map(sa->sa_bustag,
                 sc->sc_physaddr[TCX_REG_RBLIT].oa_space,
                 sc->sc_physaddr[TCX_REG_RBLIT].oa_base,
                         8 * 1024 * 1024,
                         BUS_SPACE_MAP_LINEAR | BUS_SPACE_MAP_LARGE,
                         &bh) != 0) {
                printf("tcxattach: cannot map RBLIT space\n");
                return;

and s/RBLIT/BLIT, then do the same for RSTIP->STIP

I used the RSTIP space in order to force the pixels drawn to 8 bit and RBLIT to nicely scroll out any artifacts that X or whatever may leave in the control planes. If tcx doesn't have them we shouldn't use them - - what little documentation I had was unclear on the subject but seemed to indicate that tcx has both space and it doesn't make a difference which one we use.

have fun
Michael

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iQEVAwUBS1EmSMpnzkX8Yg2nAQLNbggAhDdgyieUKuByjYBTh5elT+/YabR/O27D
D5UJUgsAxwFh2F7J6p8nxbkn0j7VKyEZX0PyusSuyIOhMJvZ1ttxEuxTOzorTL+E
yyekOC3HYSWFUa4g1iFtXyAEZDz8pWJbZ28q/J97g7pu754X1wXNb/pSKxEgs2aB
0v/r4gOrPaF+gox9TV5KuX/hliVKgs0hmmxA6JirUviC/5Ed6K5QI0CaDLUMFpjj
rdvexFCwN7FD+UVFNtMox/qwls+dFlr8xtUM/F2WK6MDuTqSsQVYZHgCqh1nWW/3
8Brt/s8k8ldLuTzJ8yF6Wf5BT6f+DHJoflcvSsNi0IulvEubWEKVlA==
=tGCu
-----END PGP SIGNATURE-----


Home | Main Index | Thread Index | Old Index