Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Sep 2006 09:57:15 +0400
From:      Ruslan Ermilov <ru@freebsd.org>
To:        Marius Strobl <marius@alchemy.franken.de>
Cc:        cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org, Maksim Yevmenkin <maksim.yevmenkin@gmail.com>
Subject:   Re: cvs commit: src/sys/dev/kbdmux kbdmux.c
Message-ID:  <20060920055715.GA81843@rambler-co.ru>
In-Reply-To: <20060919221404.GT94944@alchemy.franken.de>
References:  <200609191303.k8JD3AHl050783@repoman.freebsd.org> <bb4a86c70609190944o2438a4a4vae7b3bb2332522ee@mail.gmail.com> <20060919190645.GA23068@rambler-co.ru> <bb4a86c70609191236j13fe1563w123cb046261ee129@mail.gmail.com> <20060919194819.GA23360@rambler-co.ru> <bb4a86c70609191300t3bea8380qa1898d1a89b6fc27@mail.gmail.com> <20060919203608.GE23360@rambler-co.ru> <bb4a86c70609191415m59a9ef89x91f25e6912339390@mail.gmail.com> <20060919215605.GB44298@rambler-co.ru> <20060919221404.GT94944@alchemy.franken.de>

next in thread | previous in thread | raw e-mail | index | archive | help

--PNTmBPCT7hxwcZjr
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 20, 2006 at 12:14:04AM +0200, Marius Strobl wrote:
> On Wed, Sep 20, 2006 at 01:56:05AM +0400, Ruslan Ermilov wrote:
> >=20
> > The proper fix would be to fix the kernel to pass an argument by
> > value, like the userland does.  But from the practical point of
> > view, it may make sense to change the API and say that these
> > IOCTLs now take a pointer type argument.  I'm not sure.  If you
> > know of any applications (mine test util not counting :-) that
> > use KDSKBMODE/KDSETLED/KDSKBSTATE, then we should probably fix
> > the kernel callers.
>=20
> XFree86/Xorg use KDSKBMODE and KDSETLED, see f.e. the Xorg
> "kbd" driver:
> http://webcvs.freedesktop.org/xorg/xserver/xorg/hw/xfree86/os-support/bsd=
/bsd_kbd.c?revision=3D1.8&view=3Dmarkup
>=20
Hmm, but they don't work on sparc64.  How X.Org ever works then?
I remember installing it on my sparc64 laptop...

: # uname -p
: sparc64
: # cat a.c
: #include <sys/kbio.h>
: #include <sys/ioctl.h>
: #include <err.h>
: #include <stdio.h>
: #include <stdlib.h>
:=20
: int
: main(void)
: {
:         int mode;
:=20
:         mode =3D K_CODE;
:         if (ioctl(0, KDSKBMODE, mode) =3D=3D -1)
:                 err(1, "ioctl(KDSKBMODE)");
:=20
:         if (ioctl(0, KDGKBMODE, &mode) =3D=3D -1)
:                 err(1, "ioctl(KDGKBMODE)");
:         printf("current mode =3D %d, should be %d\n", mode, K_CODE);
:=20
:         exit (0);
: }
: # ./a < /dev/vkbdctl0
: current mode =3D 0, should be 2
: #=20


Cheers,
--=20
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer

--PNTmBPCT7hxwcZjr
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (FreeBSD)

iD8DBQFFENg6qRfpzJluFF4RAifJAKCAbHS+S90lv2uNuQtTGnLrHx2SggCfWuow
thiqXpTnObCPAO+PAh5ncVE=
=ntqJ
-----END PGP SIGNATURE-----

--PNTmBPCT7hxwcZjr--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060920055715.GA81843>