- Use proper include path for dtc as well as cpp.
- Call cpp with -P to avoid printing line markings.
- Allow FDT_DTS_FILE to be a list, either in the makedtb target, or in a
kernel config file.
- Add the dts include directory to the -I list when doing arm builds.
- Invoke make_dtb with MACHINE defined for cross building friendliness.
- Allow the make_dtb script to work outside of a "make buildkernel"
context by setting MACHINE from uname -m if it's not set already.
- Use sh -c '...' to launch the dtb build scripts with env prepended,
otherwise it tries to treat the env var stuff as a script file name.
ian [Sun, 26 Oct 2014 23:39:15 +0000 (23:39 +0000)]
MFC 271140:
Delete old arm dts tree. This was created by cherry picking from a
full vendor tree. This worked great until it was time to update, but
now it is time to update. Hit the rest button by removing this branch
and re-adding it by a full copy of whatever is in the vendor tree.
gjb [Sun, 26 Oct 2014 17:14:57 +0000 (17:14 +0000)]
MFC r273653:
Fix a few issues with creating VOLUME_LABEL for the
installation ISOs:
- TYPE, BRANCH, and REVISION are only defined if
OSRELEASE is not defined, so in situations where
one might set OSRELEASE for an in-house ISO build,
VOLUME_LABEL would be empty.
- makefs(8) limits the volume label to 32 characters,
which for the powerpc64 case, OSRELEASE expands to
FreeBSD-11.0-CURRENT-powerpc-powerpc64. Even with
removing the prefixing 'FreeBSD-', the string is 30
characters long, leaving zero room for suffixing the
type of ISO media (BO for bootonly, CD for cdrom, and
DVD for dvdrom).
Resolve these by defining VOLUME_LABEL when defining
OSRELEASE if unset. If OSRELEASE is defined by the
builder, use the OSRELEASE from that definition as the
VOLUME_LABEL.
In addition, for cases where both TARGET and TARGET_ARCH
are used for the VOLUME_LABEL, use TARGET_ARCH if it
differs from TARGET.
There are probably a few sharp edges here yet, but these
problems are going to affect the powerpc/powerpc64 builds
for 10.1-RELEASE, so the immediate concern is fixing the
underlying problem at hand quickly, and less so about the
elegance of the fix.
Insta-MFC ok: re (kib)
Sponsored by: The FreeBSD Foundation
ian [Sun, 26 Oct 2014 04:13:08 +0000 (04:13 +0000)]
MFC r273298:
The U-Boot README says fdt_addr_r is the right env var for fdt data
loaded into ram, but vendors also use fdtaddr and fdt_addr. Check the
recommended variable first and fall back to the others.
ian [Sun, 26 Oct 2014 04:11:32 +0000 (04:11 +0000)]
MFC r273283:
Attach this driver during BUS_PASS_BUS and move the cpu init code to a
bus_new_pass() handler so it doesn't happen until BUS_PASS_CPU. This allows
the anatop driver to outbid the generic simplebus driver (which the FDT
data describes as compatible).
ian [Sun, 26 Oct 2014 04:08:34 +0000 (04:08 +0000)]
MFC r272334, r273004:
Return the actual baud rate programmed in the hardware rather than 115200.
This allows the "3wire" entry in /etc/ttys (with no speed specified) to work.
Use the FIFOs in the imx5/imx6 uart hardware instead of interrupting on
each byte sent or received.
ian [Sun, 26 Oct 2014 04:01:57 +0000 (04:01 +0000)]
MFC r272109, r272181:
Replace multiple nearly-identical copies of code to walk through an FDT
node's interrupts=<...> property creating resource list entries with a
single common implementation. This change makes ofw_bus_intr_to_rl() the
one true copy of that code and removes the copies of it from other places.
This also adds handling of the interrupts-extended property.
ian [Sun, 26 Oct 2014 03:52:45 +0000 (03:52 +0000)]
MFC r271595, r271601, r271607, r271630:
Add compat strings for all the flavors of GIC this driver should support.
Also allow the driver to attach to ofwbus as well as simplebus, some FDT
data puts the root interrupt controller on the root bus.
Add a common routine for parsing FDT data describing an ARM GIC interrupt.
Use gic_decode_fdt() rather than a local routine to parse fdt interrupt
properties. Move fdt_pic_table and fdt_fixup_table into imx6_machdep.c,
which means imx6 doesn't need imx_common.c anymore.
The private peripheral interrupts start at offset 16, not 0. Also, use
names rather than inline mystery constants for these offsets.
ian [Sun, 26 Oct 2014 02:44:41 +0000 (02:44 +0000)]
MFC r271097, r271100, r271101, r271102, r271124:
- Add a basic iomux driver for imx6.
- Implement the same public interface in imx51 and imx6 iomux
- The iomux driver is no longer optional, remove it from kernel configs.
- Implement the imx_iomux_get/set_gpr() interface for imx6.
- Stop setting the iomux device status to disabled, now that we have a driver.
ian [Sun, 26 Oct 2014 02:37:42 +0000 (02:37 +0000)]
MFC r268834, r268835:
o Enable GPIO device driver for i.MX6.
It was originally written for i.MX5 and compatible with newer chip.
o Extend device tree information
o style(9) fixes
o Rename gpio driver file.
ian [Sun, 26 Oct 2014 02:25:34 +0000 (02:25 +0000)]
MFC r271055, r271084, r271094:
Add a function to get the frequency of the AHB bus. Another stopgap
function until we have full clock support for imx6.
The imx5x and imx6 chips have an onboard IOMUX device which also contains a
few "general purpose registers" whose values control chip behavior in ways
that have nothing to do with IO pin mux control. Define a simple API that
other soc-specific code can use to read and write the registers, and provide
the imx51 implementation of them.
Create a mechanism for looking up a device_t associated with an ofw/fdt
xref handle, and for registering that association. Also use the same data
for faster translations between node and xref handles.
Add OF_xref_from_device() so that there's no need to have an intermediate
call to ofw_bus_get_node() to lookup info that's already in the xreflist.
When registering an association between a device and an xref phandle, create
an entry in the xref list if one doesn't already exist for the given handle.
ian [Sun, 26 Oct 2014 01:15:16 +0000 (01:15 +0000)]
MFC r257200, r259121, r261410, r265853:
- Remove #include <machine/frame.h>.
- Add gpio parse routines according to sys/boot/fdt/dts/bindings-gpio.txt.
- Follow r261352 by updating all drivers which are children of simplebus
to check the status property in their probe routines.
- Rename platform_gpio_init to be SoC specific, and make it static as it's
only called from this file.
This is mostly catching up on some old MFCs that were done before this file
existed in the 10 branch.
ian [Sat, 25 Oct 2014 20:34:10 +0000 (20:34 +0000)]
MFC r268633, r271046:
Fixes and enhancements for the if_cgem driver...
- miibus fixes as suggested by Yonghyeon Pyun.
- enable VLAN MTU support.
- fix a few WITNESS complaints in cgem_attach().
- have cgem_attach() properly init the ifnet struct before calling
mii_attach() to fix panic when using e1000phy.
- fix ethernet address changing.
- fix transmit queue overflow handling.
- tweak receive queue handling to reduce receive overflows.
- bring out MAC statistic counters to sysctls.
- add e1000phy to config file.
- implement receive hang work-around described in reference guide.
- change device name from if_cgem to cgem to be consistent with other
interfaces.
Fix the Zedboard/Zynq ethernet driver to handle media speed changes so
that it can connect to switches at speeds other than 1gb.
rpaulo [Sat, 25 Oct 2014 02:05:21 +0000 (02:05 +0000)]
MFC r273257:
Add a driver for the TI watchdog.
The TI watchdog timer is present on BeagleBone's. Since 2014, U-Boot
has been booting the BeagleBone with the watchdog enabled. We need
to
disable it on boot to avoid a spurious reset.
The timer isn't exactly precise, but it will do as a watchdog. This
is also a reflection of the watchdog(9) API.
In the future, we could handle interrupts, but the watchdog(9) API
needs to be a bit smarter before that can happen.
delphij [Thu, 23 Oct 2014 01:36:43 +0000 (01:36 +0000)]
MFC r272806: MFV r272802:
- Limit ARC for zdb at 256MB. zdb do not typically revisit data
in the ARC.
- Increase default max_inflight from 200 to 1000 (can be overriden
by -I) so we can queue more I/Os when doing scrubbing.
- Print status while loading meataslabs for leak detection.
Illumos issues:
5169 zdb should limit its ARC size
5170 zdb -c should create more scrub i/os by default
5171 zdb should print status while loading metaslabs for leak detection
ngie [Thu, 23 Oct 2014 01:06:00 +0000 (01:06 +0000)]
MFC r272053:
Have distrib-dirs, distribution, hier, hierarchy, redistribute, and reinstall
depend on the .MAKE special target
This will allow users to do something like the following to print out the
results of the running the simulated make target with bmake, like some of the
other top-level make targets in Makefile.inc1:
% make -f Makefile.inc1 -n distribution TARGET=i386 TARGET_ARCH=i386
ngie [Thu, 23 Oct 2014 00:54:52 +0000 (00:54 +0000)]
MFC r272055:
Improve bsd.progs.mk compatibility with bsd.prog.mk
1. Do not install FILES/SCRIPTS multiple times if PROGS is specified; this is
already handled via bsd.prog.mk when it's called recursively (PR: 191055,
191955).
2. Some variables, like BINDIR and PROGNAME, default to a value if unset
whereas others get appended to, like CFLAGS. Add support for the former case
(PR: 191056)
3. Make "checkdpadd" and "clean" available targets for recursive execution.
ngie [Thu, 23 Oct 2014 00:51:52 +0000 (00:51 +0000)]
MFC r271365:
Remove many false positives with make checkdpadd
- Reduce DPADD and LDADD in checkdpadd to -l<foo>
- Skip over -Wl,[es]*-group because -Wl,--end-group and
-Wl,--start-group might be required to properly link objects (see
usr.bin/clang/lldb as an example)
This caveat has been present for a while with some components of
the build. However, these false positives were made more more apparent
after r269648.
andrew [Wed, 22 Oct 2014 13:50:38 +0000 (13:50 +0000)]
MFC r273088:
Add support for the __aeabi_c*cmp* functions. These are similar to the
existing functions with the exception they use the condition flags to
store the result.
kib [Wed, 22 Oct 2014 09:06:36 +0000 (09:06 +0000)]
MFC r273130:
Change the deadfs poll VOP to return POLLIN|POLLRDNORM if the caller
is interested in i/o state. Return POLLNVAL for invalid bits, similar
to poll_no_poll().
bryanv [Wed, 22 Oct 2014 04:09:47 +0000 (04:09 +0000)]
MFC r272573:
Change the UMA mutex into a rwlock
Acquire the lock in read mode when just needed to ensure the stability
of the keg list. The UMA lock may be held for a long time (relatively
speaking) in uma_reclaim() on machines with lots of zones/kegs. If the
uma_timeout() would fire during that period, subsequent callouts on that
CPU may be significantly delayed.
bryanv [Wed, 22 Oct 2014 04:01:27 +0000 (04:01 +0000)]
MFC r272796:
Add M_FLOWID to M_COPYFLAGS
The M_FLOWID flag should be propagated to the new mbuf pkthdr in
m_move_pkthdr() and m_dup_pkthdr(). The new mbuf already got the
existing flowid value, but would be ignored since the flag was
not set.
gjb [Tue, 21 Oct 2014 21:27:13 +0000 (21:27 +0000)]
MFC r273402:
Fix an issue where a FreeBSD virtual machine provisioned in
the Microsoft Azure service does not recognize the second
attached disk on the system.
PR: 194376
Insta-MFC OK: re (rodrigc)
Sponsored by: The FreeBSD Foundation
yongari [Tue, 21 Oct 2014 04:48:49 +0000 (04:48 +0000)]
MFC r272730,273018:
Add support for QAC AR816x/AR817x Gigabit/Fast Ethernet controllers.
These controllers seem to have the same feature of AR813x/AR815x and
improved RSS support(4 TX queues and 8 RX queues). alc(4) supports
all hardware features except RSS. I didn't implement RX checksum
offloading for AR816x/AR817x just because I couldn't get
confirmation from the Vendor whether AR816x/AR817x corrected its
predecessor's RX checksum offloading bug on fragmented packets.
This change adds supports for the following controllers.
o AR8161 PCIe Gigabit Ethernet controller
o AR8162 PCIe Fast Ethernet controller
o AR8171 PCIe Gigabit Ethernet controller
o AR8172 PCIe Fast Ethernet controller
o Killer E2200 Gigabit Ethernet controller
yongari [Tue, 21 Oct 2014 01:48:19 +0000 (01:48 +0000)]
MFC r272729,272732:
Add new quirk PCI_QUIRK_MSI_INTX_BUG to pci(4).
QAC AR816x/E2200 controller has a silicon bug that MSI interrupt
does not assert if PCIM_CMD_INTxDIS bit of command register is set.
yongari [Tue, 21 Oct 2014 01:14:56 +0000 (01:14 +0000)]
MFC r272721:
Fix a long standing bug in MAC statistics register access. One
additional register was erroneously added in the MAC register set
such that 7 TX statistics counters were wrong.