Date: Fri, 20 Jun 2014 10:49:39 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Attilio Rao <attilio@freebsd.org> Cc: "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org> Subject: Re: svn commit: r267651 - in head: share/man/man4 sys/dev/cpuctl sys/sys usr.sbin/cpucontrol Message-ID: <20140620074939.GE3991@kib.kiev.ua> In-Reply-To: <CAJ-FndCBNXcfOJg=NBNjacigm57d6ojwJbdt4w5bA-TC5wLRFw@mail.gmail.com> References: <201406192154.s5JLsfed074305@svn.freebsd.org> <20140620040801.GA3991@kib.kiev.ua> <CAJ-FndCBNXcfOJg=NBNjacigm57d6ojwJbdt4w5bA-TC5wLRFw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Fri, Jun 20, 2014 at 08:12:59AM +0200, Attilio Rao wrote: > On Fri, Jun 20, 2014 at 6:08 AM, Konstantin Belousov > <kostikbel@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. No, breaking ABI is not fine at all, be it CURRENT or not. We try to keep the ABI stable, doing costly measures like symbol versioning, where applicable. Since this is a change to ABI for kernel interface, it cannot be covered by symver tricks and must be done in kernel. > 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). Besides the same-world ABI issue, people run jails with lower world version on higher-versioned kernels. [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBAgAGBQJTo+eSAAoJEJDCuSvBvK1BhtkP/3wjtCIEw8Z6uRnqTO2UWw13 i2BcuxRhWbAReZd9SS9I2y6hyu+T0vVKqxvNR4qwUTqBpfMF+kMs0IBt0XfORpph Jg76/gaCqupSFUK5+uhqHRw7oeX/IZyUSUCq9f6Ktmqm7wNs6Q2OuFdpK54ZoVgF /3MredFAbjhsed19lnyKUConGsHSIys34hYQm2S3JWco7jrNXT/tFBwU/qcA238k TaXiRLCFqCjCuYQNECiDlH7cFKuWSLi+Hfsqf3cTLKxe5XmX0ed5TYt77PoNUVNl o4sWNILiH6JJsZoRznnDEGyrwmPFrtPmbsfhLlmVr9Zn2cocpz//PR0K5Z68uEPf k/ehOWu1ROh2KhEQAPN0gvirkUeJt6w4Fy/27ctf1wopUnw6w+7TUCTWG1ZqEvZp kpJ8ooMi1kJQeOSXekG4JbOsAmff4laKOgRJ4kH7yGQkU2O3uyQMfXkx/hD09B8W uYiWj/w0IGjlqgj8TFrh/T7K8yR/UFTghjgWhDqBj3F/JsDnu/dBq/CMEGFmG8QU lJfJ0uJxYLBlDLy6ELSew98jbU8OdCDOCYAoh+g/cM0KuCob5BdbMvTOI3ipzM7Q GSreOpzF1pmUWNiHp8bfyuIgU2t5Yv6vTSjMIPOkkZGutb3ukQCyFB7d7HrqpJ02 wbJGZhpjRyKQ+YJR64Cq =MXxi -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140620074939.GE3991>
