cpuctl(formely devcpu) patch test request

Peter Jeremy peterjeremy at optushome.com.au
Thu Jun 5 23:14:17 UTC 2008


On 2008-Jun-06 02:09:27 +0400, Stanislav Sedov <stas at freebsd.org> wrote:
>> 2) in cpuctl_modevent(): perhaps it's better to return ENOMEM instead of
>> ENOSYS if malloc() fails and ENXIO instead of ENOSYS if MSR functionality is
>> not present
>
>I fully agree on ENOMEM (thanks for noticing that), while I think that
>returning ENOSYS for MSR-less systems is more correct, as it states that
>required functionality isn't implemented for this hardware.

ENOSYS generally means "system call not implemented".  You need a response
implying that the requested operation isn't supported on the hardware.
IMHO, ENODEV comes closest to that.

I also agree with phk@ that serious thought needs to be given to the
foot-shooting capability offered by this patch before it is implemented.
Maybe add a sysctl to enable the write (at least) functionality - eg
hw.cpuctl.wrmsr_enable and hw.cpuctl.update_enable (both defaulting to
disabled).  This at least adds a safety catch.  I'm not sure if RDMSR
is dangerous - if so, possibly there should be an enable for it as well.

-- 
Peter Jeremy
Please excuse any delays as the result of my ISP's inability to implement
an MTA that is either RFC2821-compliant or matches their claimed behaviour.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20080605/3c0ae9d8/attachment.pgp


More information about the freebsd-current mailing list