On 05.10.2013 07:56, Ryota Ozaki wrote: > This fixes the following error: > error : nodeGetInfo:933 : this function is not supported > by the connection driver: node info not implemented on this platform > > Mac OS X can use sysctlbyname as same as FreeBSD to get the CPU > frequency. However, the MIB style name is different from FreeBSD's. > And the unit of the return frequency is also different. > > Signed-off-by: Ryota Ozaki <ozaki.ryota@xxxxxxxxx> > --- > src/nodeinfo.c | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/src/nodeinfo.c b/src/nodeinfo.c > index 33a79b7..0c92cfa 100644 > --- a/src/nodeinfo.c > +++ b/src/nodeinfo.c > @@ -38,7 +38,7 @@ > # include <numa.h> > #endif > > -#ifdef __FreeBSD__ > +#if defined(__FreeBSD__) || defined(__APPLE__) > # include <sys/types.h> > # include <sys/sysctl.h> > #endif > @@ -58,7 +58,7 @@ > > #define VIR_FROM_THIS VIR_FROM_NONE > > -#ifdef __FreeBSD__ > +#if defined(__FreeBSD__) || defined(__APPLE__) > static int > freebsdNodeGetCPUCount(void) This function is now called on apple too. I'm renaming it to appleFreebsdNodeGetCPUCount(). > { > @@ -882,7 +882,7 @@ cleanup: > VIR_FORCE_FCLOSE(cpuinfo); > return ret; > } > -#elif defined(__FreeBSD__) > +#elif defined(__FreeBSD__) || defined(__APPLE__) > { > nodeinfo->nodes = 1; > nodeinfo->sockets = 1; > @@ -897,12 +897,21 @@ cleanup: > unsigned long cpu_freq; > size_t cpu_freq_len = sizeof(cpu_freq); > > +#ifdef __FreeBSD__ > if (sysctlbyname("dev.cpu.0.freq", &cpu_freq, &cpu_freq_len, NULL, 0) < 0) { > virReportSystemError(errno, "%s", _("cannot obtain CPU freq")); > return -1; > } > > nodeinfo->mhz = cpu_freq; > +#else > + if (sysctlbyname("hw.cpufrequency", &cpu_freq, &cpu_freq_len, NULL, 0) < 0) { > + virReportSystemError(errno, "%s", _("cannot obtain CPU freq")); > + return -1; > + } > + > + nodeinfo->mhz = cpu_freq / 1000000; > +#endif Again, indentation is off. > > /* get memory information */ > int mib[2] = { CTL_HW, HW_PHYSMEM }; > ACKed, fixed and pushed. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list