svn commit: r267651 - in head: share/man/man4 sys/dev/cpuctl sys/sys usr.sbin/cpucontrol
Attilio Rao
attilio at freebsd.org
Fri Jun 20 06:13:02 UTC 2014
On Fri, Jun 20, 2014 at 6:08 AM, Konstantin Belousov
<kostikbel at gmail.com> wrote:
> On Thu, Jun 19, 2014 at 09:54:41PM +0000, Attilio Rao wrote:
>> Author: attilio
>> Date: Thu Jun 19 21:54:41 2014
>> New Revision: 267651
>> URL: http://svnweb.freebsd.org/changeset/base/267651
>>
>> Log:
>> Following comments in r242565 add the possibility to specify ecx when
>> performing cpuid calls.
>> Add also a new way to specify the level type to cpucontrol(8) as
>> reported in the manpage.
>>
>> Sponsored by: EMC / Isilon storage division
>> Reviewed by: bdrewery, gcooper
>> Testerd by: bdrewery
>> Modified: head/sys/sys/cpuctl.h
>> ==============================================================================
>> --- head/sys/sys/cpuctl.h Thu Jun 19 21:05:07 2014 (r267650)
>> +++ head/sys/sys/cpuctl.h Thu Jun 19 21:54:41 2014 (r267651)
>> @@ -35,7 +35,8 @@ typedef struct {
>> } cpuctl_msr_args_t;
>>
>> typedef struct {
>> - int level; /* CPUID level */
>> + int level; /* CPUID level */
>> + int level_type; /* CPUID level type */
>> uint32_t data[4];
>> } cpuctl_cpuid_args_t;
>>
>> @@ -50,5 +51,6 @@ typedef struct {
>> #define CPUCTL_UPDATE _IOWR('c', 4, cpuctl_update_args_t)
>> #define CPUCTL_MSRSBIT _IOWR('c', 5, cpuctl_msr_args_t)
>> #define CPUCTL_MSRCBIT _IOWR('c', 6, cpuctl_msr_args_t)
>> +#define CPUCTL_CPUID_COUNT _IOWR('c', 7, cpuctl_cpuid_args_t)
>>
>> #endif /* _CPUCTL_H_ */
>
> The cpuctl(4) is used by third-party code, and this change breaks its
> ABI. The numeric value for CPUCTL_CPUID is changed, which means that
> old binaries call non-existing ioctl now. This is at least a visible
> breakage, since the argument for the ioctl changed the layout as well.
>
> The following patch restored the CPUCTL_CPUID for me. I considered
> naming its argument differently, instead of renaming the argument
> of CPUCTL_CPUID_COUNT (which you tried to do ?), but decided not,
> to preserve the API as well.
No, breaking the ABI is fine for -CURRENT so I don't see why we need the bloat.
I don't plan on MFC this patch. If I need to (or any user requests
that) I will do with the appropriate ABI-compliant way (ie. adding a
new argument like this one).
Attilio
--
Peace can only be achieved by understanding - A. Einstein
More information about the svn-src-head
mailing list