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>