Port-sparc archive

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

Re: sun4m cgfourteen sx wscons issues



Hello,

On Wed, 23 Apr 2014 17:26:29 +0200
victor%bubbleverse.eu@localhost wrote:

> On Wed, 23 Apr 2014 04:27:06 -0400
> Michael <macallan%netbsd.org@localhost> wrote:
> 
> > I uploaded a new kernel with a possible fix:
> > ftp://ftp.netbsd.org/pub/NetBSD/misc/macallan/sparc/netbsd.poteen.gz
> > 
> > Background: SX instructions that reference memory are written to a
> > special address space with the same offset as the physical address they
> > reference, so one 32bit write transports effectively two 32bit values.
> > According to the manual the lower 3 bit of the address are ignored and
> > have to be added as an offset to the instruction itself.
> > On mine ( a rev. 25 ) that's exactly what happens, yours seems to
> > ignore instructions written to addresses that aren't 64bit aligned,
> > which would explain why every other column of characters is missing -
> > the font is 12 pixels wide. I bet you'd see either all or no characters
> > missing with an 8 bit wide font.
> > The new kernel just explicitly zeroes those bits.
> 
> My attempts to set a different font failed:
> # wsfontload -N test -e ibm -w 8 -h 8 -v /usr/share/wscons/fonts/vt220l.808
> # wsconsctl -dw font=test
> wsconsctl: WSDISPLAYIO_SFONT: Invalid argument

Yeah, few drivers actually implement that. Some day I'll have to look into it.

> However, the kernel you uploaded produces a correctly working wscons
> screen. X isn't working correctly yet, so i guess the
> xf86-video-suncg14 driver needs similar changes.

I'm sure it does - zeroing those bits is additional work which on my
hardware isn't necessary so I very likely skipped it in most cases.

> Is the manual you are refering to available to the public?

Unfortunately it's not. Registers and most of the instructions are
documented in sys/arch/sparc/dev/sxreg.h though.

have fun
Michael


Home | Main Index | Thread Index | Old Index