Subject: Re: microcode driver for ia-32
To: None <tech-kern@netbsd.org>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-kern
Date: 08/06/2004 09:38:07
--OXfL5xGRrasGEqWY
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Aug 06, 2004 at 04:13:58PM +0100, phlox wrote:
> Greetings.
> I'm developing a character device driver for NetBSD that will allow the
> microcode update in the IA-32 architecture, but I have some design questi=
ons
> that I would like to clarify:
>     * What devices should I use for SMP machines ? Should I create only
>       /dev/microcodei (and then use ioctl() to select the CPU)=20
>       or /dev/microcode[0-3] (for a 4-way SMP system) ?=20
>       (I think the last follows UNIX semantics better).

I'd say just one device will be fine. The important thing is that you=20
won't have concurrent, multi-user access to the different devices; they=20
aren't tty's that folks are logged-onto. Also, once you've done the=20
update, you don't need the devices anymore.

Further, there are systems out there with much more than 4 CPUs on them.=20
Higher-end iron can have 16 or 64 heads, and really-high end stuff can=20
have 512 or 1024 heads. It would be really really messy to have to have a=
=20
node for each one.

>     * I've been seeing the lkm code and I found that the loaded lkm list =
is an
>       array (lkmods[MAXLKMS]). Why isn't it a linked list, since this wou=
ld
>       allow better cleanness ?

Laziness probably.

Take care,

Bill

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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)

iD8DBQFBE7PvWz+3JHUci9cRAsBJAJ99oGsEeRf2PktEzVPOiA/kfBCipQCePmtg
1LIMkoDnOHe2uc7ZLyJ5VvQ=
=9j/O
-----END PGP SIGNATURE-----

--OXfL5xGRrasGEqWY--