qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/3] Add FreeBSD/ppc host ppc_init_cacheline_siz


From: Juergen Lock
Subject: Re: [Qemu-devel] [PATCH 1/3] Add FreeBSD/ppc host ppc_init_cacheline_sizes() implementation.
Date: Mon, 15 Feb 2010 23:45:06 +0100
User-agent: Mutt/1.5.20 (2009-06-14)

On Mon, Feb 15, 2010 at 06:15:41AM +0300, malc wrote:
> On Sun, 14 Feb 2010, Juergen Lock wrote:
> 
> > Submitted by: Andreas Tobler <address@hidden>
> > 
> > Signed-off-by: Juergen Lock <address@hidden>
> > 
> > --- a/cache-utils.c
> > +++ b/cache-utils.c
> > @@ -57,6 +57,23 @@
> >  }
> >  #endif
> >  
> > +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
> > +#include <stdio.h>
> > +#include <sys/types.h>
> > +#include <sys/sysctl.h>
> > +
> > +static void ppc_init_cacheline_sizes(void)
> > +{
> > +    size_t len = 4;
> > +    unsigned cacheline;
> > +
> > +    sysctlbyname ("machdep.cacheline_size", &cacheline, &len, NULL, 0);
> 
> Error handling missing.

Mmh I suspect thats a sysctl that simply can't fail but of course checking
still doesn't hurt:

Submitted by: Andreas Tobler <address@hidden>

Signed-off-by: Juergen Lock <address@hidden>

--- a/cache-utils.c
+++ b/cache-utils.c
@@ -57,6 +57,27 @@ static void ppc_init_cacheline_sizes(voi
 }
 #endif
 
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/sysctl.h>
+
+static void ppc_init_cacheline_sizes(void)
+{
+    size_t len = 4;
+    unsigned cacheline;
+
+    if (sysctlbyname ("machdep.cacheline_size", &cacheline, &len, NULL, 0)) {
+        fprintf(stderr, "sysctlbyname machdep.cacheline_size failed: %s\n",
+                strerror(errno));
+        exit(1);
+    }
+
+    qemu_cache_conf.dcache_bsize = cacheline;
+    qemu_cache_conf.icache_bsize = cacheline;
+}
+#endif    
+
 #ifdef __linux__
 void qemu_cache_utils_init(char **envp)
 {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]