FreeBSD src
Go to file
Adrian Chadd fd27593538 Fix the Xen TOD update when the hypervisor wall clock is nudged.
The "wall clock" in the current code is actually the hypervisor start time.
The time of day is the "start time" plus the hypervisor "uptime".

Large enough bumps in the dom0 clock lead to a hypervisor "bump" which is
implemented as a bump in the start time, not the uptime. The clock.c routines
were reading in the hypervisor start time and then using this as the TOD.
This meant that any hypervisor time bump would cause the FreeBSD DomU to
set its TOD to the hypervisor start time, rather than the actual TOD.

This fix is a bit hacky and some reshuffling should be done later on
to clarify what is going on. I've left the wall clock code alone.
(The code which updates shadow_tv and shadow_tv_version.)
A new routine adds the uptime to the shadow_tv, which is then used to
update the TOD.

I've included some debugging so it is obvious when the clock is nudged.

PR:	135008
2009-05-29 13:43:21 +00:00
bin Fix various cases with 3 or 4 parameters in test(1) to be POSIX compliant. 2009-05-26 22:33:10 +00:00
cddl Fix lockstat breakage to arm/powerpc buildworld. 2009-05-27 22:41:28 +00:00
contrib Add an EXIT STATUS section to the manual page. Currently, nc(1) 2009-05-29 07:18:31 +00:00
crypto Upgrade to OpenSSH 5.2p1. 2009-05-22 18:46:28 +00:00
etc Update this script so that it handles different ruleset failures 2009-05-28 07:43:06 +00:00
games Too good to pass. 2009-03-06 13:24:54 +00:00
gnu Change the internal buffer used to store input lines from a static buffer 2009-05-08 02:18:46 +00:00
include Delete the old USB stack. The new stack has settled in and has all the 2009-05-27 16:16:56 +00:00
kerberos5 Add strndup(3) prototype to string.h. 2008-12-08 21:04:24 +00:00
lib Document how to enable strict RFC 1034 enforcements. 2009-05-29 07:55:44 +00:00
libexec Increase the size of the static TLS area slightly (required for the NVidia's 2009-05-27 18:54:31 +00:00
release nge(4) should work on all archs now. 2009-05-21 10:04:51 +00:00
rescue Add zfs/zpool to rescue programs 2009-05-23 00:47:23 +00:00
sbin Make dump -W show the level correctly. 2009-05-29 07:26:44 +00:00
secure Upgrade to OpenSSH 5.2p1. 2009-05-22 18:46:28 +00:00
share Make the rmlock(9) interface a bit more like the rwlock(9) interface: 2009-05-29 10:52:37 +00:00
sys Fix the Xen TOD update when the hypervisor wall clock is nudged. 2009-05-29 13:43:21 +00:00
tools Add a regression test for multiple threads of the same process acquiring the same fcntl lock. 2009-05-28 02:39:07 +00:00
usr.bin Use prototype for usage(). This makes perror(1) WARNS=6 clean. 2009-05-28 21:37:40 +00:00
usr.sbin Change the "-4" argument for nfsd and mountd to "-e" to avoid 2009-05-28 20:28:13 +00:00
COPYRIGHT Bump the odometer of the years. A little early this year for 7.1R. 2008-12-30 04:46:25 +00:00
LOCKS Update LOCKS syntax. 2008-06-05 19:47:58 +00:00
MAINTAINERS Replace anholt with myself as drm maintainer. 2009-03-20 18:51:13 +00:00
Makefile Add a new world named 'mips' to our universe. 2009-04-01 17:11:50 +00:00
Makefile.inc1 Revert c190007 at the request of Ruslan. It was not correct because 2009-04-05 00:24:49 +00:00
ObsoleteFiles.inc Rename the queue macros I introduced last year. 2009-05-27 19:28:04 +00:00
README Simply running ``make world'' will bomb unless you dig up the 2006-06-07 03:33:48 +00:00
UPDATING Reverse the logic for ADAPTIVE_SX option and enable it by default. 2009-05-29 01:49:27 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel, the kernel-modules and the contents of /etc.  The ``world''
target should only be used in cases where the source tree has not
changed from the currently running version.  See:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
for more information, including setting make(1) variables.

The ``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  Please see the top of
the Makefile in this directory for more information on the
standard build targets and compile-time flags.

Building a kernel is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you might need to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/<arch>/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


Source Roadmap:
---------------
bin		System/user commands.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/synching.html