Commit Graph

201614 Commits

Author SHA1 Message Date
des
89be55aaa9 MFH (r293034, r29304): plasma screensaver 2016-01-26 08:55:31 +00:00
des
dd0e351e29 MFH (r293033): ignore unload unless loaded + add a reload target 2016-01-26 08:49:44 +00:00
des
353d701dcd MFH (r291197): markup fixes 2016-01-26 08:46:02 +00:00
des
56367bf679 MFH (r290743): support an exclusion regex, like security/200.chkmounts 2016-01-26 08:45:19 +00:00
des
fa9e1a548c MFH (r290742): don't index /var/db/freebsd-update 2016-01-26 08:44:01 +00:00
ngie
51d2387781 MFC r286652:
r286652 (by jmmv):

Mark usr/include/c++/v1/tr1 as obsolete

The directory usr/include/c++/v1 was marked as obsolete but its tr1 subdir
was not, resulting in a removal error in delete-old.
2016-01-26 07:06:38 +00:00
ngie
d2863e101e MFC r278047:
PR: 206622
Sponsored by: EMC / Isilon Storage Division

r278047 (by amdmi3):

- Remove more files when MK_BSNMP == no
2016-01-26 06:37:21 +00:00
dchagin
1b8c6467ee MFC r294620:
Fix a typo.

MFC r294621:

  Remove obsolete comment.
2016-01-26 06:05:55 +00:00
pfg
be9764f2dc Revert r279010:
tdelete(3): don't delete the node we are about to return.

The original change, from NetBSD, was bogus; introduced a memory
leak and and broke POSIX. By reverting we actually match NetBSD's
latest revision.

This is a direct commit to 10 since this function was rewritten
in 11-current.

Reported by:	Markiyan Kushnir
Obtained from:	NetBSD (CVS rev. 1.7, 1.8)
2016-01-26 04:51:44 +00:00
markj
d8eecc212b MFC r293458:
Prevent cv_waiters wraparound.
2016-01-26 00:22:02 +00:00
bdrewery
7eeb5e4497 MFC r294370:
mkdep: Fix -include not being added for .depend tracking.
2016-01-25 17:38:20 +00:00
smh
c14203d20c MFC r293460:
Switch EFT boot1 to use libstand

This includes a change to the Makefile comment to correct it due to the
lack of arm and i386 support in 10.x.

Sponsored by:	Multiplay
2016-01-25 13:35:28 +00:00
smh
7ececd4d1e MFC r293422 (partial):
Update generated EFI boot image templates.

This is a partial MFC as stable/10 only has EFI boot support for amd64,
and there are no plans to change this, so the other platform images
aren't included.

Sponsored by:	Multiplay
2016-01-25 13:27:49 +00:00
smh
67b9c358f3 MFC r293461:
Remove hidden "Not ufs" printfs from boot code

Sponsored by:	Multiplay
2016-01-25 10:55:52 +00:00
smh
54be78ac69 MFC r293274:
style(9) fixes for EFI boot

Sponsored by:	Multiplay
2016-01-25 10:50:11 +00:00
smh
27cb1558af MFC r281059 (by rpaulo):
boot1 EFI: reset the screen and select the best mode.

Sponsored by:	Multiplay
2016-01-25 10:48:58 +00:00
smh
dbb959f1e6 MFC r293271:
Fix const conversion warning in lz4_decompress

Sponsored by:	Multiplay
2016-01-25 10:45:18 +00:00
smh
c01d1bb4ae MFC r293269:
Fix return from zfs_probe_dev

Sponsored by:	Multiplay
2016-01-25 10:43:44 +00:00
smh
16322e7a2a MFC r293268:
Fix _MSC_EXTENSIONS checks

Sponsored by:	Multiplay
2016-01-25 10:41:23 +00:00
smh
94b1bbbd44 MFC r292074:
Limit stripesize reported from nvd(4) to 4K

Sponsored by:	Multiplay
2016-01-25 09:40:25 +00:00
smh
1645ae3459 MFC r292289:
Prevent g_access calls to bad multipath members

Sponsored by:	Multiplay
2016-01-25 09:29:29 +00:00
smh
bf5976a6a0 MFC r291911, r293659:
Fix panic on shutdown due to iscsi event priority.

Close iSCSI sessions on shutdown.

Sponsored by:	Multiplay
2016-01-25 09:26:23 +00:00
des
fb40ebd67a MFH (r291198, r291260, r291261, r291375, r294325, r294335, r294563)
Remove the HPN and None cipher patches.
2016-01-24 22:28:18 +00:00
ian
55146b62a1 MFC r289477:
Fix a strange macro re-definition compile error.  If the VM_MAXUSER_ADDRESS
  value is defined as a config option the definition is emitted into
  opt_global.h which is force-included into everything.  In addition, the
  symbol is emitted by the genassym mechanism, but that by its nature reduces
  the value to a 0xnnnnnnnn number.  When compiling a .S file you end up
  with two different definitions of the macro (they evaluate to the same
  number, but the text is different, upsetting the compiler).
2016-01-24 22:17:05 +00:00
ian
495cfa3822 MFC r293105:
Eliminate code for walking through the early static env data.  This code
  is called from a device attach routine, and thus cannot be called before
  the cutover from static to dynamic kernel env.
2016-01-24 22:14:37 +00:00
ian
d334c66268 MFC r294032:
Fix the handling of the "PDC write transfer length" erratum for at91.  The
  problem affects revision 1xx hardware as well as later versions.  Also, the
  recommended workaround is to set the PDC count register for a 12-byte
  transfer when the actual size is less than that, but there is no need to
  extend or zero-out the data buffer, because the blklen register contains
  the real transfer size and only that many bytes will be transferred.

  Also add a sysctl to turn debugging printfs on or off on the fly.
2016-01-24 22:06:56 +00:00
ian
e24c3b20d0 MFC r293830:
Fix the spelling of fueword* to eliminate compile warnings about mismatched
  begin/end symbols when the warning level is turned up.
2016-01-24 22:05:21 +00:00
ian
650a9addf1 MFC r293053, r293061, r293063, r293064, r293065, r293775, r293792:
Use 64-bit math when finding a block of ram to hold the kernel.  This fixes
  a problem on 32-bit systems which have ram occupying the end of the physical
  address space -- for example, a block of ram at 0x80000000 with a size of
  0x80000000 was overflowing 32 bit math and ending up with a calculated size
  of zero.

  Use 64-bit math when processing the lists of physical and excluded memory
  to generate the phys_avail and dump_avail arrays.

  Work around problems that happen when there is ram at the end of the
  physical address space.

  Cast pointer through uintptr_t on the way to uint64_t to squelch a warning.

  Reword the comment to better describe what I found while researching the
  problem that led to this temporary workaround (and also so I can properly
  cite the PR in the commit this time).

  Cast using uintfptr_t and eliminate the cast to uint64_t which is uneeded
  because rounding down cannot increase the number of bits needed to express
  the result.

  Go back to using uintptr_t, because code that actually compiles is
  infinitely less buggy than code that is theoretically correct in some
  alternate universe.

PR:           201614
2016-01-24 22:00:36 +00:00
ian
33902405d5 MFC r293045, r293046:
Make the 'env' directive described in config(5) work on all architectures,
  providing compiled-in static environment data that is used instead of any
  data passed in from a boot loader.

  Previously 'env' worked only on i386 and arm xscale systems, because it
  required the MD startup code to examine the global envmode variable and
  decide whether to use static_env or an environment obtained from the boot
  loader, and set the global kern_envp accordingly.  Most startup code wasn't
  doing so.  Making things even more complex, some mips startup code uses an
  alternate scheme that involves calling init_static_kenv() to pass an empty
  buffer and its size, then uses a series of kern_setenv() calls to populate
  that buffer.

  Now all MD startup code calls init_static_kenv(), and that routine provides
  a single point where envmode is checked and the decision is made whether to
  use the compiled-in static_kenv or the values provided by the MD code.

  The routine also continues to serve its original purpose for mips; if a
  non-zero buffer size is passed the routine installs the empty buffer ready
  to accept kern_setenv() values.  Now if the size is zero, the provided buffer
  full of existing env data is installed.  A NULL pointer can be passed if the
  boot loader provides no env data; this allows the static env to be installed
  if envmode is set to do so.

  Most of the work here is a near-mechanical change to call the init function
  instead of directly setting kern_envp.  A notable exception is in xen/pv.c;
  that code was originally installing a buffer full of preformatted env data
  along with its non-zero size (like mips code does), which would have allowed
  kern_setenv() calls to wipe out the preformatted data.  Now it passes a zero
  for the size so that the buffer of data it installs is treated as
  non-writeable.

  Also, revert accidental change that snuck into r293045.
2016-01-24 21:04:06 +00:00
ian
de82ecaee5 MFC r290647, r292523, r292891:
ARM: Improve robustness of locore_v6.S and fix errors.
  - boot page table is not allocated in data section, so must be
    cleared before use
  - map only one section (1 MB) for SOCDEV mapping (*)
  - DSB must be used for ensuring of finishing TLB operations
  - Invalidate BTB when appropriate

  Allow armv4/5 kernels to be loaded on any 2MB boundary, like armv6/7.

  This eliminates the reliance on PHYSADDR and KERNPHYSADDR compile-time
  symbols (except when the rom-copy code is enabled) by using the current
  PC and the assumption that the entry-point routine is in the first 1MB
  section of the text segment.

  Other cleanups done:

   - Reduce the initarm() stack size back to 2K.  It got increased to
     4 * 2K when this file was supporting multicore armv6, but that
     support is now in locore-v6.S.

   - When building the temporary startup page tables, map the entire
     4GB address space as VA=PA before mapping the kernel at its loaded
     location.  This allows access to boot parameters stored somewhere
     in ram by the bootloader, regardless of where that may be.

   - When building the page table entry for supporting EARLY_PRINTF, map
     the section as uncached unbuffered, since it is presumably device
     registers.

  Note that this restores the ability to use loader(8)/ubldr on armv4/5
  kernels.  That was broken in r283035, the point at which ubldr started
  loading an arm kernel at any 2MB boundary.

  Also note that after this, there is no reason to set KERNVIRTADDR to
  anything other than 0xc0000000, and no need for PHYSADDR or KERNPHYSADDR
  symbols at all.

  Bring some of the recent locore-v4.S improvements into locore-V6...

   - Map all 4GB as VA=PA so that args passed in from a bootloader can
     be accessed regardless of where they are.
   - Figure out the kernel load address by directly masking the PC rather
     then by doing pc-relative math on the _start symbol.
   - For EARLY_PRINTF support, map device memory as uncacheable (no-op for
     ARM_NEW_PMAP because all TEX types resolve to uncacheable).
2016-01-24 20:15:52 +00:00
ian
899e463756 MFC r277416, r282023, r282024, r282025, r284264:
Remove the SMP code from locore-v4. These will never use the SMP code as
  there is no multi-core hardware prior to ARMv6.

  Remove the armv6 code from locore-v4.S, it's not needed there.

  Fix the style of locore-v4.S and locore-v6.S to help find any common code.

  Cleanup a little more:
   - Remove whitespace at the end of lines
   - Use a tab after instructions, not spaces

  Fix the spelling of __ARM_ARCH >= 6 in sys/arm/arm.
2016-01-24 19:58:58 +00:00
ian
7931527943 MFC r292752:
Enhance rc.d/netwait script to wait for late-attaching interfaces such as
  USB NICs.

  USB network hardware may not be enumerated and available when the rc.d
  networking scripts run. Eventually the USB attachment completes and devd
  events cause the network initialization to happen, but by then other rc.d
  scripts have already failed, because services which depend on NETWORKING
  (such as mountcritremote) may end up running before the network is actually
  ready.

  There is an existing netwait script, but because it is dependent on
  NETWORKING it runs too late to prevent failure of some other rc
  scripts. This change flips the order so that NETWORKING depends on netwait,
  and netwait now depends on devd and routing (the former is needed to make
  interfaces appear, and the latter is needed to run the ping tests in
  netwait).

  The netwait script used to be oriented primarily towards "as soon as any
  host is reachable the network is fully functional", so you gave it a list of
  IPs to try and you could optionally name an interface and it would wait for
  carrier on that interface. That functionality still works the same, but now
  you can provide a list of interfaces to wait for and it waits until each one
  of them is available. The ping logic still completes as soon as the first IP
  on the list responds.

  These changes were submitted by Brenden Molloy <brendan+freebsd@bbqsrc.net>
  in PR 205186, and lightly modified by me to allow a list of interfaces
  instead of just one.

PR:           205186
Relnotes:	yes
2016-01-24 19:41:31 +00:00
ian
bbe1a22899 MFC r292419, r294237:
Fix the clock divisor calc for imx6 sdcard bus speed.

  Quick exit after setting the clock control register.
2016-01-24 19:36:49 +00:00
ian
d712f850e6 MFC r291149, r291367:
Update the imx5/imx6 cpu_reset() implementation based on a new understanding
  of the SRS (software reset) bit in the watchdog control register.  Despite
  what the manual seems to imply, this bit DOES trigger an immediate reset, as
  opposed to simply flagging the type of reset as software-triggered.

  Rename sysctl node hw.imx6 to hw.imx.  Move its definition to imx_machdep.c
  so that code shared between imx5 and imx6 can work with OIDs under that node.

  Add last_reset_status (integer) and last_reset_reason (string) OIDs that
  provide info about the last chip reset (power-on, software reset, watchdog
  timeout).
2016-01-24 19:34:05 +00:00
ian
6e826779c7 MFC r289618, r290316:
Fix printf format to allow for bus_size_t not being u_long on all platforms.

  Fix an alignment check that is wrong in half the busdma implementations.
  This will enable the elimination of a workaround in the USB driver that
  artifically allocates buffers twice as big as they need to be (which
  actually saves memory for very small buffers on the buggy platforms).

  When deciding how to allocate a dma buffer, armv4, armv6, mips, and
  x86/iommu all correctly check for the tag alignment <= maxsize as enabling
  simple uma/malloc based allocation.  Powerpc, sparc64, x86/bounce, and
  arm64/bounce were all checking for alignment < maxsize; on those platforms
  when alignment was equal to the max size it would fall back to page-based
  allocators even for very small buffers.

  This change makes all platforms use the <= check.  It should be noted that
  on all platforms other than arm[v6] and mips, this check is relying on
  undocumented behavior in malloc(9) that if you allocate a block of a given
  size it will be aligned to the next larger power-of-2 boundary.  There is
  nothing in the malloc(9) man page that makes that explicit promise (but the
  busdma code has been relying on this behavior all along so I guess it works).

  Arm and mips code uses the allocator in kern/subr_busdma_buffalloc.c, which
  does explicitly implement this promise about size and alignment.  Other
  platforms probably should switch to the aligned allocator.
2016-01-24 19:21:53 +00:00
ian
89f44178f6 MFC r289727:
Add FDT compatibility to the icee driver.

  The FDT bindings for eeprom parts don't include any metadata about the
  device other than the part name encoded in the compatible property.
  Instead, a driver is required to have a compiled-in table of information
  about the various parts (page size, device capacity, addressing scheme).  So
  much for FDT being an abstract description of hardware characteristics, huh?

  In addition to the FDT-specific changes, this also switches to using the
  newer iicbus_transfer_excl() mechanism which holds bus ownership for the
  duration of the transfer.  Previously this code held the bus across all
  the transfers needed to complete the user's IO request, which could be
  up to 128KB of data which might occupy the bus for 10-20 seconds.  Now the
  bus will be released and re-aquired between every page-sized (8-256 byte)
  transfer, making this driver a much nicer citizen on the i2c bus.

  The hint-based configuration mechanism is still in place for non-FDT systems.
2016-01-24 18:54:55 +00:00
ian
6e1c6c6f92 MFC r289726:
Add iicbus_transfer_excl(), a helper routine to do an i2c bus transaction
  while holding exclusive ownership of the bus.  This is the routine most
  slave drivers should use unless they have a need to acquire and hold the
  bus across a series of related operations that involves multiple transfers.
2016-01-24 18:54:11 +00:00
ian
375d176b91 MFC r289704:
Fix parsing of I2C addresses properties in fdt data.  I2C address is
  represented in 7-bits format in DT files, but system expect it in 8-bit
  format.  Also, fix two drivers that locally hack around this bug.

  This includes a direct-commit change to the beaglebone dts data in the
  10-stable branch to adjust the i2c slave addresses directly.  In -current
  the equivelent change happened with a switch from homegrown to standard
  fdt data.
2016-01-24 18:50:37 +00:00
ian
543007eb97 MFC r289619:
Follow the advice of the misplaced comment and don't access the map struct
  after freeing it.  Remove the comment whose uselessness has been revealed.
2016-01-24 18:25:37 +00:00
des
58256dbc0b MFH (r263234, r263691, r266465, r290671, r290672, r290673, r290674,
r294320, r294322, r294324, r294330, r294469, r294494, r294466)

Reduce diffs to head in preparation for removing HPN and None.
2016-01-24 15:44:57 +00:00
ngie
4aca574c5a MFC r293073:
- Use attach_md instead of hardcoding md(4) provider unit numbers
- Implement a gmirror_test_cleanup function, which in turn calls
  geom_test_cleanup to clean up all md(4) providers allocated in the test
  run.
- Remove duplicate logic in test scripts for removing md(4) providers.
- Don't create files in /tmp (outside the kyua sandbox); use the current
  directory instead
2016-01-24 06:19:49 +00:00
vangyzen
78461d0975 MFC r293860
bsdinstall: Suggest the GPT+Active workaround on Dell T5810

The Dell Precision Tower 5810 fails to boot from GPT in Legacy/BIOS mode
without the Active flag in the Protective MBR.  Suggest the workaround
during installation.

Since an increasing number of Dell systems exhibit this behavior,
I imagine all Dells past a certain date will do so.  I would like
to suggest the workaround for all Dells with a BIOS date of, say,
2014 or later, but I would need to test a variety of systems before
committing such a change.

Relnotes:   We should probably suggest using GPT+Active on "recent" Dells.
Sponsored by:   Dell Inc.
2016-01-24 02:10:05 +00:00
allanjude
339b899e2c MFC: r285732
Add the Dell E7240 laptop and Intel DP965LT motherboard to the list for the GPT active workaround

MFC: r287843
  Add the HP ProBook 4330s, Intel DP965LT, D510MO, and Acer Veriton M6630G to the GPT workaround list

Sponsored by:	ScaleEngine Inc.
2016-01-23 22:13:31 +00:00
ngie
e184c2b973 MFC r294125:
Test for EPROTOTYPE not EPROTONOSUPPORT

- `SOCK_RAW` is the implied supported type parameter for socket(2) per route(4)
- localsw in `sys/kern/uipc_usrreq.c` doesn't have an entry for `SOCK_RAW`, so
  the prototype is invalid (this isn't explicitly documented anywhere I could
  find)
2016-01-23 21:04:34 +00:00
vangyzen
dab5810197 MFC r293858
libthr: const-ify two variables

Make the default umutex and urwlock initializers const,
because they can be, and as a microoptimization.

Sponsored by:	Dell Inc.
2016-01-23 20:49:52 +00:00
ian
49868192d4 MFC r294235:
Make PPS ASSERT/CLEAR events match the RS-232 signal levels as per RFC 2783.
  Previously the polarity was for TTL levels, which are the reverse of RS-232.

  Also add handling of the UART_PPS_INVERT_PULSE option bit in the sysctl
  value, the same as was recently added to uart(4), so that people using TTL
  level connections can request a logical inverting of the signal.

  Use the named constants from the new dev/uart/uart_ppstypes.h for the pps
  capture modes and option bits.
2016-01-23 19:13:48 +00:00
jhb
3c1c5bc607 MFC 294366:
Initialize vm_page_prot to VM_MEMATTR_DEFAULT instead of 0.

If a driver's Linux mmap callback passed vm_page_prot through unchanged,
then linux_dev_mmap_single() would try to apply whatever VM_MEMATTR_xxx
value 0 is to the mapping.  On x86, VM_MEMATTR_DEFAULT is the PAT value
for write-back (WB) which is 6, while 0 maps to the PAT value for
uncacheable (UC).  Thus, any mmap request that did not explicitly set
page_prot was tried to map memory as UC triggering the warning in
sg_pager_getpages().

Sponsored by:	Chelsio Communications
2016-01-23 17:08:17 +00:00
trasz
13c803f307 MFC r289453:
Add -w flag to iscsictl(8) utility, to make it wait for successfull
session establishment.  Scripting is kind of hard without it.

Sponsored by:	The FreeBSD Foundation
2016-01-23 15:48:14 +00:00
kib
7908c6241f MFC r294137:
Do not panic when the filesystem which carries the audit files, is unmounted
and audit is active.  Do not write to the suspended fs.
2016-01-23 07:35:29 +00:00
kib
00ce898270 MFC r293059:
Hide transient EBADF errors caused by the parallel revoke(2) or forced
unmount of devfs mounts, by restarting the failed syscall.
2016-01-23 07:33:02 +00:00