Dimitry Andric [Fri, 28 Feb 2014 17:12:31 +0000 (17:12 +0000)]
Pull in r196874 from upstream llvm trunk:
Fix a crash that occurs when PWD is invalid.
MCJIT needs to be able to run in hostile environments, even when PWD
is invalid. There's no need to crash MCJIT in this case.
The obvious fix is to simply leave MCContext's CompilationDir empty
when PWD can't be determined. This way, MCJIT clients,
and other clients that link with LLVM don't need a valid working directory.
If we do want to guarantee valid CompilationDir, that should be done
only for clients of getCompilationDir(). This is as simple as checking
for an empty string.
The only current use of getCompilationDir is EmitGenDwarfInfo, which
won't conceivably run with an invalid working dir. However, in the
purely hypothetically and untestable case that this happens, the
AT_comp_dir will be omitted from the compilation_unit DIE.
This should help fix assertions occurring with ports-mgmt/tinderbox,
when it is using jails, and sometimes invalidates clang's current
working directory.
Warner Losh [Fri, 28 Feb 2014 02:38:04 +0000 (02:38 +0000)]
Add fdt binding for nand for Atmel parts. This does little more than
match the device. Pinctrl will need to be added before this will work,
in addition to migrating the current board_foo.c method of configuring
these pins to something else. Non-FDT systems won't be affected, yet.
Ian Lepore [Fri, 28 Feb 2014 00:41:55 +0000 (00:41 +0000)]
Add an armv7 implementation of cpu_sleep(). The arm11/armv6 implementation
we've been using was actually just spinning due to ARM having redefined
the old 'wait for interrupt' operation via the system coprocessor as a nop
and replacing it with a WFI instruction.
Ian Lepore [Fri, 28 Feb 2014 00:26:57 +0000 (00:26 +0000)]
Add some rudimentary voltage control to go with the rudimentary frequency
control. If we have to scale back the frequency due to temperature, it
will help to lower the voltage as well.
Ian Lepore [Fri, 28 Feb 2014 00:23:04 +0000 (00:23 +0000)]
Supply a DELAY() implementation via weak linkage, so that SoC-specific
code can supply a better implementation. A SoC with variable CPU frequency
is likely to use a fixed-frequency timer for DELAY() (but still use the
mpcore private timers as eventtimers).
Also remove spaces from the eventtimer and timecounter names.
Warner Losh [Thu, 27 Feb 2014 19:39:44 +0000 (19:39 +0000)]
Bring in Ian Campbell's pruned dts repo.
From git://xenbits.xen.org/people/ianc/device-tree-rebasing.git
commit efa963ec806366c9628dfd1269316bb93b7ecb15
Merge: a72ba09459c249
Author: Ian Campbell <ian.campbell@citrix.com>
Date: Wed Feb 26 08:39:16 2014 +0000
Ian Lepore [Wed, 26 Feb 2014 22:06:10 +0000 (22:06 +0000)]
Replace many pasted identical definitions of cpu_initclocks() with a common
implementation in arm/machdep.c. Most arm platforms either don't need to
do anything, or just need to call the standard eventtimer init routines.
A generic implementation that does that is now provided via weak linkage.
Any platform that needs to do something different can provide a its own
implementation to override the generic one.
Ian Lepore [Wed, 26 Feb 2014 18:29:14 +0000 (18:29 +0000)]
Minor tweaks to the imx GPT timer...
- Don't use spaces or dots in the eventtimer or timecounter names.
They turn into sysctl node names, and it's just confusing.
- Use comparator #3 instead of #1 for one-shot events. There's an
extra 1-cycle penalty in the hardware for accessing the registers
for comparator 1, no point in paying that penalty.
- Lower the quality of the eventtimer from 1000 to 800, because the
device can't support PERCPU timers and some other device in the system
may be able to provide that.
There is no need to prevent iscsictl from adding iSER session when there
is no iSER support in ctld and/or kernel; should the user make that mistake,
the output from "iscsictl -L" is enough to determine what the problem is.
Neel Natu [Wed, 26 Feb 2014 00:52:05 +0000 (00:52 +0000)]
Queue pending exceptions in the 'struct vcpu' instead of directly updating the
processor-specific VMCS or VMCB. The pending exception will be delivered right
before entering the guest.
The order of event injection into the guest is:
- hardware exception
- NMI
- maskable interrupt
In the Intel VT-x case, a pending NMI or interrupt will enable the interrupt
window-exiting and inject it as soon as possible after the hardware exception
is injected. Also since interrupts are inherently asynchronous, injecting
them after the hardware exception should not affect correctness from the
guest perspective.
Rename the unused ioctl VM_INJECT_EVENT to VM_INJECT_EXCEPTION and restrict
it to only deliver x86 hardware exceptions. This new ioctl is now used to
inject a protection fault when the guest accesses an unimplemented MSR.
Xin LI [Tue, 25 Feb 2014 23:03:48 +0000 (23:03 +0000)]
Refresh our implementation of OpenBSD's Blowfish password format.
Notable changes:
- Support of $2b$ password format to address a problem where very
long passwords (more than 256 characters, when an integer
overflow would happen and cause the length to wrap at 256).
- Updated pseudo code in comments to reflect the reality.
- Removed our local shortcut of processing magic string and rely
on the centralized and tigntened validation.
- Diff reduction from upstream.
For now we are still generating the older $02a$ format of password
but we will migrate to the new format once the format is formally
finalized.
Glen Barber [Tue, 25 Feb 2014 22:13:48 +0000 (22:13 +0000)]
release.sh:
- Add a VCSCMD variable that defaults to 'svn checkout',
and update places 'svn co' is used directly.
- After sourcing a configuration file, prefix SRCBRANCH,
PORTBRANCH, and DOCBRANCH with the SVNROOT.
- Properly capitalize 'FreeBSD.org' in the default SVNROOT.
- Update Copyright.
release.conf.sample:
- Add an example to use git instead of svn, by nullifying
SVNROOT, and setting SRCBRANCH, DOCBRANCH, and PORTBRANCH
to the URL fo a git repository.
release.7:
- Document VCSCMD.
Submitted by: Rick Miller (based on)
Sponsored by: The FreeBSD Foundation
John Baldwin [Tue, 25 Feb 2014 18:44:33 +0000 (18:44 +0000)]
Remove more constants related to static sysctl nodes. The MAXID constants
were primarily used to size the sysctl name list macros that were removed
in r254295. A few other constants either did not have an associated
sysctl node, or the associated node used OID_AUTO instead.
Ruslan Bukin [Tue, 25 Feb 2014 17:02:11 +0000 (17:02 +0000)]
- Pin configuration is a complete iomux register now and includes
drive strength, pull mode, mux mode, speed, etc.
- Add i2c devices to the tree
- Add IPG clock
Ian Lepore [Tue, 25 Feb 2014 15:22:40 +0000 (15:22 +0000)]
Invalidate the SCU cache tag ram on all 4 cores, not just 1-3. I misread
Juergen's original code, it was doing all 4 cores. Also remove the L2
cache invalidate operation, this code runs before L2 is activated.
1) Add support for page back/forward.
2) While doing HOR scrolling, disable VER scrolling.
3) Checking dx_sum and dy_sum before emulate right button, this can
avoids unexpected right button press.
4) Fix stable pointer operation when emulating middle button.
Dimitry Andric [Tue, 25 Feb 2014 07:28:51 +0000 (07:28 +0000)]
In sys/sparc64/sparc64/spitfire.c, prevent signed shift overflow by
casting to the appropriate type. (Note this fix cannot be done in
sys/sparc64/sparc64/spitfire.c, since that file is also included by
assembly source files.)
Mark Johnston [Tue, 25 Feb 2014 02:58:11 +0000 (02:58 +0000)]
Make all 8 syscall arguments available to syscall probes in the same way
that this is done for SDT probes. This fixes the syscall/tst.args.d test,
which was failing because mmap(2)'s sixth argument wasn't available to the
probe.
Robert Watson [Mon, 24 Feb 2014 18:44:22 +0000 (18:44 +0000)]
Build FICL support into little-endian 64-bit MIPS boot-loader fragments;
while this won't actually be used for anything (yet), it doesn't hurt to
ensure it is exposed to the tinderbox.
Robert Watson [Mon, 24 Feb 2014 18:44:03 +0000 (18:44 +0000)]
Build 64-bit ELF support into little-endian 64-bit MIPS boot-loader
fragments; while this won't actually be used for anything (yet), it
doesn't hurt to ensure it is exposed to the tinderbox.