Re: [PATCH] DevFS support for /dev/cpu/X/(cpuid|msr)

Richard Gooch
2002-01-07T01:41:15Z

H. Peter Anvin writes:
> Richard Gooch wrote:
>
> >
> > So you mean something like this:
> >
> > void devfs_per_cpu_register (const char *leafname, unsigned int flags,
> > unsigned int major, unsigned int minor_start,
> > umode_t mode, void *ops);
> >
> > void devfs_per_cpu_unregister (const char *leafname);
> >
> > with code in the per-cpu boot code to create the /dev/cpu/%d
> > directories.
>
> Yes, that sounds like a good way to do it.

Unfortunately, there doesn't seem to be a really nice place to put
generic SMP startup code. Each arch defines it's own per-cpu startup
code. As Matt asked in a private email, it would require hacks to each
arch to support this (Matt: this is my reply:-). While it would be
fairly simple to add a call to a devfs_cpu_register() function to each
arch, this does seem a bit hackish.

So I'd like to propose a new file (say kernel/smp.c) which has generic
startup code for each CPU. To start with, it can have a
generic_cpu_init() function, which is called by each arch. Note that
this function would be called for the boot CPU too.

Comments?

Regards,

Richard....
Permanent: rgooch@atnf.csiro.au
Current: rgooch@ras.ucalgary.ca