[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 0/3] Trivial branch patches
From: |
Justin Hibbits |
Subject: |
Re: [Qemu-devel] [PULL 0/3] Trivial branch patches |
Date: |
Wed, 3 Jul 2019 12:09:06 -0500 |
On Wed, 3 Jul 2019 18:12:51 +0200
Laurent Vivier <address@hidden> wrote:
> > Le 3 juil. 2019 à 17:22, Laurent Vivier <address@hidden> a
> > écrit :
> >
> > Le 03/07/2019 à 16:45, Peter Maydell a écrit :
> >> On Tue, 2 Jul 2019 at 13:39, Laurent Vivier <address@hidden>
> >> wrote:
> >>>
> >>> The following changes since commit
> >>> 7d0e02405fc02a181319b1ab8681d2f72246b7c6:
> >>>
> >>> Merge remote-tracking branch
> >>> 'remotes/vivier2/tags/trivial-patches-pull-request' into staging
> >>> (2019-07-01 17:40:32 +0100)
> >>>
> >>> are available in the Git repository at:
> >>>
> >>> git://github.com/vivier/qemu.git tags/trivial-branch-pull-request
> >>>
> >>> for you to fetch changes up to
> >>> 7c955080d40ccc7952a0479bc160f2b048c0af53:
> >>>
> >>> docs/devel/testing: Fix typo in dockerfile path (2019-07-02
> >>> 10:12:32 +0200)
> >>>
> >>> ----------------------------------------------------------------
> >>> Fix typo, fix sys_cache_info() on FreeBSD/powerpc,
> >>> change virtio-rng default to urandom
> >>>
> >>> ----------------------------------------------------------------
> >>
> >> Hi; this makes 'make check' fail on OSX:
> >>
> >> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
> >> tests/test-char -m=quick -k --tap < /dev/null |
> >> ./scripts/tap-driver.pl --test-name="test-char"
> >> Assertion failed: ((isize & (isize - 1)) == 0), function
> >> init_cache_info, file
> >> /Users/pm215/src/qemu-for-merges/util/cacheinfo.c, line 179.
> >>
> >> I guess this is the sys_cache_info change.
> >
> > OK, I will try to reproduce the problem.
> >
> > I think before this patch (regarding the kind of change we have
> > introduced) isize and dsize were always set to 0 and then changed
> > to 16 in fallback_cache_info()... or perhaps MacOS X sysctlbyname()
> > needs a long.
>
> It seems MacOS X (x86_64) needs a long:
>
> #include <stdio.h>
> #include <sys/types.h>
> #include <sys/sysctl.h>
>
> int main(void)
> {
> long size;
> int ret;
> size_t len = sizeof(size);
> ret = sysctlbyname("hw.cachelinesize", &size, &len, NULL, 0);
> printf("ret %d size 0x%lx\n", ret, size);
> return 0;
> }
> $ cc -o cachesize cachesize.c
> $ ./cachesize
> ret 0 size 0x40
>
> #include <stdio.h>
> #include <sys/types.h>
> #include <sys/sysctl.h>
>
> int main(void)
> {
> int size;
> int ret;
> size_t len = sizeof(size);
> ret = sysctlbyname("hw.cachelinesize", &size, &len, NULL, 0);
> printf("ret %d size 0x%x\n", ret, size);
> return 0;
> }
> $ cc -o cachesize cachesize.c
> $ ./cachesize
> ret 0 size 0x1737b1d2
> $ sysctl hw.cachelinesize
> hw.cachelinesize: 64
>
> But man page is not up-to-date:
>
> $ uname -r
> 17.7.0
> $ man sysctl
> SYSCTL(8) BSD System Manager's Manual
> SYSCTL(8) …
> The string and integer information is summarized below. For a
> detailed description of these variable see sysctl(3).
>
> The changeable column indicates whether a process with
> appropriate privi- lege can change the value. String and integer
> values can be set using sysctl.
>
> Name Type
> Changeable …
> hw.cachelinesize integer no
> …
>
> In fact, it is in sysctl(3):
>
> SYSCTL(3) BSD Library Functions Manual
> SYSCTL(3) …
> CTL_HW
> The string and integer information available for the CTL_HW
> level is detailed below. The changeable column shows whether a
> process with appropriate privilege may change the value.
>
> Name Type Changeable
> ...
> hw.cachelinesize int64_t no
>
> I will try to check on MacOS/X ppc and ppc64.
>
> Thanks,
> Laurent
>
It's not listed in the man page for ppc(64), but examining the XNU
source for the version that matches 10.5.8 (last ppc-supporting kernel)
it's a CTLTYPE_INT. So, it may be different depending on arch and/or
OS X version. Does QEmu even support 10.5.x or Mac OS/ppc* anymore? I
had read somewhere that it was unsupported now (2.4.x is the latest one
in Tigerbrew).
- Justin
- [Qemu-devel] [PULL 1/3] Fix cacheline detection on FreeBSD/powerpc., (continued)
- [Qemu-devel] [PULL 1/3] Fix cacheline detection on FreeBSD/powerpc., Laurent Vivier, 2019/07/02
- [Qemu-devel] [PULL 3/3] docs/devel/testing: Fix typo in dockerfile path, Laurent Vivier, 2019/07/02
- [Qemu-devel] [PULL 2/3] VirtIO-RNG: Update default entropy source to `/dev/urandom`, Laurent Vivier, 2019/07/02
- Re: [Qemu-devel] [PULL 0/3] Trivial branch patches, no-reply, 2019/07/02
- Re: [Qemu-devel] [PULL 0/3] Trivial branch patches, Peter Maydell, 2019/07/03