From owner-svn-src-all@freebsd.org Tue May 3 08:07:41 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E1EBBB295C4; Tue, 3 May 2016 08:07:41 +0000 (UTC) (envelope-from royger@gmail.com) Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 77F941938; Tue, 3 May 2016 08:07:41 +0000 (UTC) (envelope-from royger@gmail.com) Received: by mail-wm0-x242.google.com with SMTP id n129so2337844wmn.1; Tue, 03 May 2016 01:07:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=66zd5Jf7kQ3lbDelOA6rr8pzIKPytvh6J+a87S6qy+Y=; b=zAHCcZ3jVDi8gmG/XwEYwcemA2jGoi8bFf6H/0eZ84sFAK+FmT0S317u6emAU8dvPr EcSf8IwDEeLwDBVZGM5IFyJKfqhfRWADk4pJ215tVrtR5xAn1UqwDcl48iYtFJAnbeBX 3WvLf5XR2+QmcF9tGFnPxLXIhIjGzNuFulmh0UvPUJ51R4Q2IW4DAXdkT4bCFLcm7EmY hwEJhewHitdbBDdtH9+QqIQJGsMMoNEaDPX2fD7rLPxTZNvl8iI6U3OVZweaebRoWNRi 5xoSVw5++BLjxIkbnXIlrcv4L0QbvjNDgM6HO6xkygtomGw10Y1V3W7isoSiXRrcMC5w BbyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=66zd5Jf7kQ3lbDelOA6rr8pzIKPytvh6J+a87S6qy+Y=; b=GVh+8aVDFcigdf3N1uRKy5VP8xL6x0cpfrm2fDZUOdo+kkP4yYNqw0kOnqc/OCu44t +d5G6f/gBMBa2Z4LuwBFpnmo+G+rk0w2P2wO8eqcLTMlteqvyp/HYJpmCE3d6Nm7RtYh 8DUyOiS9AtGI3K7SmjEgeimhF1f4IWjjGxJqs09m7oABpIJPJ1Svg5Px4lY4pUp0Z0hr hnGcbDn/euhkL4p6E3edIdbNwdj70Gdfe1gUlx6lRZHXFPY1ADTA9Bh3NtOcdRCagl2B q0NQ/m+E1DXsRVNemcJbLAL58M/oWi3DnBTOUURRwpqsinYjkhuG49rze8mNP3OpPBCz XK0Q== X-Gm-Message-State: AOPr4FUbdi6RkXMaIVXpBNzoby8L5fK99inAvu+uaODlkkrawq8ebu+QwrraUouqwfrWiw== X-Received: by 10.194.175.168 with SMTP id cb8mr1341704wjc.56.1462262860084; Tue, 03 May 2016 01:07:40 -0700 (PDT) Received: from localhost (172.red-83-45-36.dynamicip.rima-tde.net. [83.45.36.172]) by smtp.gmail.com with ESMTPSA id o73sm23214942wme.16.2016.05.03.01.07.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 03 May 2016 01:07:39 -0700 (PDT) Sender: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= Date: Tue, 3 May 2016 10:07:33 +0200 From: Roger Pau =?iso-8859-1?Q?Monn=E9?= To: "Ngie Cooper (yaneurabeya)" Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r298929 - head/sys/dev/xen/timer Message-ID: <20160503080733.gs3jkxysf7zntnno@mac> References: <201605021615.u42GFSeR052375@repo.freebsd.org> <337D6745-6821-4035-B1CB-F22C6A96E568@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <337D6745-6821-4035-B1CB-F22C6A96E568@gmail.com> User-Agent: Mutt/1.6.0-neo (2016-04-07) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 May 2016 08:07:42 -0000 On Mon, May 02, 2016 at 11:46:31AM -0700, Ngie Cooper (yaneurabeya) wrote: > > > On May 2, 2016, at 09:15, Roger Pau Monné wrote: > > > > Author: royger > > Date: Mon May 2 16:15:28 2016 > > New Revision: 298929 > > URL: https://svnweb.freebsd.org/changeset/base/298929 > > > > Log: > > xen/time: allow Dom0 to set the host time > > > > Dom0 should be able to set the host time. This is implemented by first > > writing to the RTC (as would be done on bare metal), and then using the > > XENPF_settime64 hypercall in order to force Xen to update the wallclock > > shared page of all domains. > > > > Sponsored by: Citrix Systems R&D > > > > Modified: > > head/sys/dev/xen/timer/timer.c > > > > Modified: head/sys/dev/xen/timer/timer.c > > ============================================================================== > > --- head/sys/dev/xen/timer/timer.c Mon May 2 16:14:55 2016 (r298928) > > +++ head/sys/dev/xen/timer/timer.c Mon May 2 16:15:28 2016 (r298929) > > @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); > > #include > > #include > > #include > > +#include > > > > #include > > #include > > @@ -63,6 +64,8 @@ __FBSDID("$FreeBSD$"); > > > > #include > > > > +#include > > + > > #include "clock_if.h" > > > > static devclass_t xentimer_devclass; > > @@ -211,11 +214,32 @@ xen_fetch_uptime(struct timespec *ts) > > static int > > xentimer_settime(device_t dev __unused, struct timespec *ts) > > { > > + struct xen_platform_op settime; > > + int ret; > > + > > /* > > * Don't return EINVAL here; just silently fail if the domain isn't > > * privileged enough to set the TOD. > > */ > > - return (0); > > + if (!xen_initial_domain()) > > + return (0); > > + > > + /* Set the native RTC. */ > > + atrtc_set(ts); > > + > > + settime.cmd = XENPF_settime64; > > + settime.u.settime64.mbz = 0; > > + settime.u.settime64.secs = ts->tv_sec; > > + settime.u.settime64.nsecs = ts->tv_nsec; > > + settime.u.settime64.system_time = > > + xen_fetch_vcpu_time(DPCPU_GET(vcpu_info)); > > + > > + ret = HYPERVISOR_platform_op(&settime); > > + ret = ret != 0 ? xen_translate_error(ret) : 0; > > + if (ret != 0 && bootverbose) > > + device_printf(dev, "failed to set Xen PV clock: %d\n", ret); > > + > > + return (ret); > > } > > This broke the build on i386 with clang: https://jenkins.freebsd.org/job/FreeBSD_HEAD_i386/3028/ Should be fixed in 298971. Roger.