Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Jun 2020 23:32:26 +0000 (UTC)
From:      Brandon Bergren <bdragon@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org
Subject:   svn commit: r537979 - in branches/2020Q2/emulators/qemu40: . files
Message-ID:  <202006042332.054NWQQZ088488@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdragon (src committer)
Date: Thu Jun  4 23:32:26 2020
New Revision: 537979
URL: https://svnweb.freebsd.org/changeset/ports/537979

Log:
  MFH: r537912
  
  emulators/qemu40: Apply upstream fix for cacheline detection on big endian
  
  Backport qemu 5ca156cfde0f3821f15988619e51cf3cda99aaa6, which fixes
  cacheline detection on big-endian to use the correct sized variable to
  store the sysctl result.
  
  Fixes "Assertion failed: ((isize & (isize - 1)) == 0)" on BE platforms.
  
  Reviewed by:	bofh, pkubaj
  Approved by:	pkubaj
  Obtained from:	qemu
  Differential Revision:	https://reviews.freebsd.org/D23246
  
  Approved by:	ports-secteam (joneum)

Added:
  branches/2020Q2/emulators/qemu40/files/patch-util-cacheinfo.c
     - copied unchanged from r537912, head/emulators/qemu40/files/patch-util-cacheinfo.c
Modified:
  branches/2020Q2/emulators/qemu40/Makefile
Directory Properties:
  branches/2020Q2/   (props changed)

Modified: branches/2020Q2/emulators/qemu40/Makefile
==============================================================================
--- branches/2020Q2/emulators/qemu40/Makefile	Thu Jun  4 23:31:29 2020	(r537978)
+++ branches/2020Q2/emulators/qemu40/Makefile	Thu Jun  4 23:32:26 2020	(r537979)
@@ -3,6 +3,7 @@
 
 PORTNAME=	qemu
 PORTVERSION=	4.0.1
+PORTREVISION=	1
 CATEGORIES=	emulators
 MASTER_SITES=	https://download.qemu.org/
 PKGNAMESUFFIX=	40

Copied: branches/2020Q2/emulators/qemu40/files/patch-util-cacheinfo.c (from r537912, head/emulators/qemu40/files/patch-util-cacheinfo.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2020Q2/emulators/qemu40/files/patch-util-cacheinfo.c	Thu Jun  4 23:32:26 2020	(r537979, copy of r537912, head/emulators/qemu40/files/patch-util-cacheinfo.c)
@@ -0,0 +1,41 @@
+--- util/cacheinfo.c.orig	2019-10-17 15:17:44.000000000 -0500
++++ util/cacheinfo.c	2020-01-17 21:13:29.459470000 -0600
+@@ -65,25 +65,28 @@ static void sys_cache_info(int *isize, int *dsize)
+     g_free(buf);
+ }
+ 
+-#elif defined(__APPLE__) \
+-      || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++#elif defined(__APPLE__)
+ # include <sys/sysctl.h>
+-# if defined(__APPLE__)
+-#  define SYSCTL_CACHELINE_NAME "hw.cachelinesize"
+-# else
+-#  define SYSCTL_CACHELINE_NAME "machdep.cacheline_size"
+-# endif
+-
+ static void sys_cache_info(int *isize, int *dsize)
+ {
+     /* There's only a single sysctl for both I/D cache line sizes.  */
+     long size;
+     size_t len = sizeof(size);
+-    if (!sysctlbyname(SYSCTL_CACHELINE_NAME, &size, &len, NULL, 0)) {
++    if (!sysctlbyname("hw.cachelinesize", &size, &len, NULL, 0)) {
+         *isize = *dsize = size;
+     }
+ }
+-
++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++# include <sys/sysctl.h>
++static void sys_cache_info(int *isize, int *dsize)
++{
++    /* There's only a single sysctl for both I/D cache line sizes.  */
++    int size;
++    size_t len = sizeof(size);
++    if (!sysctlbyname("machdep.cacheline_size", &size, &len, NULL, 0)) {
++        *isize = *dsize = size;
++    }
++}
+ #else
+ /* POSIX */
+ 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006042332.054NWQQZ088488>