Commit Graph

2670 Commits

Author SHA1 Message Date
Ruslan Bukin
f3a72e40b5 Add drivers for:
- Enhanced Direct Memory Access Controller (eDMA)
- Direct Memory Access Multiplexer (DMAMUX)
2014-02-08 19:47:59 +00:00
Ed Maste
90990e3bc1 Build a 32-bit libstand under sys/boot/ for ppc64
This change is equivalent to r261567 for i386/amd64.

Sponsored by:	The FreeBSD Foundation
2014-02-07 22:49:42 +00:00
Ed Maste
b0b98e9752 Don't force efi to a 32-bit build on amd64
Sponsored by:	The FreeBSD Foundation
2014-02-07 16:28:40 +00:00
Ed Maste
5a989e68f6 Build a 32-bit libstand under sys/boot/
A 32-bit libstand is needed on 64-bit platforms for use by various
bootloaders.  Previously only the 32-bit version was built, installed as
/usr/lib/libstand.a.

A new 64-bit libstand consumer will arrive in the near future, so move
the bootloader-specific 32-bit version to sys/boot/libstand32/.

Explicitly link against this version in the 32-bit loaders.

Sponsored by:	The FreeBSD Foundation
2014-02-06 21:54:21 +00:00
Warren Block
665c90aa49 Describe the use of a freebsd-boot GPT partition, brought up by Scot
Hetzel <swhetzel@gmail.com> on the -doc mailing list.

Also modify the Author section to be clear that I wrote the man page,
not gptboot.

MFC after:	3 days
2014-02-05 18:26:30 +00:00
John Baldwin
e432d5f6a7 Drop the 3rd clause from all 3 clause BSD licenses where I am the sole
holder to convert them to 2 clause BSD licenses.

MFC after:	1 week
2014-02-05 18:13:27 +00:00
John Baldwin
96c3037416 Similar to r130943 for cdboot.S, update the license on this file to a
stock 2-clause BSD license.

MFC after:	1 week
2014-02-05 17:22:54 +00:00
Luiz Otavio O Souza
1b3fd4ca03 Add the missing ')' at end of sentence. Reword it to use a more common
idiom.

Reviewed by:	imp (on freebsd-embedded@)
Approved by:	adrian (mentor, implicit)
2014-02-05 17:08:55 +00:00
John Baldwin
00f3efe1bd Add support for FreeBSD/i386 guests under bhyve.
- Similar to the hack for bootinfo32.c in userboot, define
  _MACHINE_ELF_WANT_32BIT in the load_elf32 file handlers in userboot.
  This allows userboot to load 32-bit kernels and modules.
- Copy the SMAP generation code out of bootinfo64.c and into its own
  file so it can be shared with bootinfo32.c to pass an SMAP to the i386
  kernel.
- Use uint32_t instead of u_long when aligning module metadata in
  bootinfo32.c in userboot, as otherwise the metadata used 64-bit
  alignment which corrupted the layout.
- Populate the basemem and extmem members of the bootinfo struct passed
  to 32-bit kernels.
- Fix the 32-bit stack in userboot to start at the top of the stack
  instead of the bottom so that there is room to grow before the
  kernel switches to its own stack.
- Push a fake return address onto the 32-bit stack in addition to the
  arguments normally passed to exec() in the loader.  This return
  address is needed to convince recover_bootinfo() in the 32-bit
  locore code that it is being invoked from a "new" boot block.
- Add a routine to libvmmapi to setup a 32-bit flat mode register state
  including a GDT and TSS that is able to start the i386 kernel and
  update bhyveload to use it when booting an i386 kernel.
- Use the guest register state to determine the CPU's current instruction
  mode (32-bit vs 64-bit) and paging mode (flat, 32-bit, PAE, or long
  mode) in the instruction emulation code.  Update the gla2gpa() routine
  used when fetching instructions to handle flat mode, 32-bit paging, and
  PAE paging in addition to long mode paging.  Don't look for a REX
  prefix when the CPU is in 32-bit mode, and use the detected mode to
  enable the existing 32-bit mode code when decoding the mod r/m byte.

Reviewed by:	grehan, neel
MFC after:	1 month
2014-02-05 04:39:03 +00:00
Ruslan Bukin
b318fc466d Add support for Colibri VF50 Evaluation Board.
Colibri VF50 is a SODIMM200 Vybrid Family core module
and development board produced by Toradex AG.

Sponsored by:	Machdep, Inc.
2014-02-02 19:35:10 +00:00
Ruslan Bukin
bf636ac469 o Expand device tree information
o Export iomuxc (pins) configuration to DTS
o Allow devices to assign clocks in DTS
2014-02-02 17:48:06 +00:00
Alexander Motin
75da4d0634 Make comconsole options set before its activation to be remembered.
MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
2014-01-20 23:27:05 +00:00
Ganbold Tsagaankhuu
8a0a7e75c1 Update dts files of Cubieboard1,2 to use 1GB memory.
Whilst there, fix cpu config register address for Cubieboard2.

Approved by: stas (mentor)
2014-01-08 09:33:16 +00:00
Dimitry Andric
4abd7edcbd Split the last gcc-specific flags off into CFLAGS.gcc. This also
removes the need to use -Qunused-arguments for clang throughout the
tree.

MFC after:	3 days
2014-01-05 21:03:49 +00:00
Ian Lepore
8f4fa88900 Enable the cesa security/crypto device by providing the required property
in the dts source, and adding the right devices to the kernel config. Also
generally bring the kernel config into line with what we have for other
Marvell/Kirkwood systems (add lots of useful devices and options).

One particularly notable addition amongst the kernel config changes is
USB_HOST_ALIGN=32, which may help eliminate data corruption on USB drives.

PR:		kern/181975 arm/162159
2014-01-05 20:44:10 +00:00
Ian Lepore
9fa0eb8b8f Update the dockstar DTS to reflect just NAND flash (no SPI NOR flash, and
the LED specification was just misplaced).  The rather odd memory mappings
that were in place used an undocumented attribute value (0x0f) that caused
problems with the system.

Submitted by:	Markus Pfeiffer <markus.pfeiffer@morphism.de>
2014-01-03 18:36:19 +00:00
Xin LI
f4c8ba8370 MFV r259170:
4370 avoid transmitting holes during zfs send

4371 DMU code clean up

illumos/illumos-gate@43466aae47

NOTE: Make sure the boot code is updated if a zpool upgrade is
done on boot zpool.

MFC after:	2 weeks
2014-01-01 00:45:28 +00:00
Dimitry Andric
d5c1aaf2fb For sys/boot/i386 and sys/boot/pc98, separate flags to be passed
directly to the linker (LD_FLAGS) from flags passed indirectly, via the
compiler driver (LDFLAGS).

This is because several Makefiles under sys/boot/i386 and sys/boot/pc98
use ${LD} directly to link, and the normal LDFLAGS value should not be
used in these cases.

MFC after:	3 days
2013-12-30 19:05:50 +00:00
Dimitry Andric
d19f075047 Fix pc98 build, by also forcing COMPILER_TYPE in sys/boot/pc98/boot2's
Makefile.

Pointy hat to:	dim
MFC after:	3 days
X-MFC-With:	r259730
2013-12-26 22:31:47 +00:00
Dimitry Andric
0673132dcb For libstand and sys/boot, split off gcc-only flags into CFLAGS.gcc.
MFC after:	3 days
X-MFC-With:	r259730
2013-12-26 11:32:39 +00:00
Marcel Moolenaar
ad098e2975 Bump the loader version to 3.2 after various dosfs fixes (in particular). 2013-12-19 05:28:43 +00:00
Bjoern A. Zeeb
8b8807f515 Add an FDT DTS and MDROOT kernel configuration for BERI on NetFPGA.
At this point we only support one CPU, the PIC, and a UART console.

Reviewed by:	brooks
Sponsored by:	DARPA, AFRL
MFC after:	5 days
2013-12-12 18:08:31 +00:00
Ganbold Tsagaankhuu
fba7d5d18a Add gpio config for usb1 in dts.
That way it gives power to other usb hub via gpio at boot time.

Reviewed by: stas@
2013-12-09 07:15:46 +00:00
Eitan Adler
7a22215c53 Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this
shifts into the sign bit.  Instead use (1U << 31) which gets the
expected result.

This fix is not ideal as it assumes a 32 bit int, but does fix the issue
for most cases.

A similar change was made in OpenBSD.

Discussed with:	-arch, rdivacky
Reviewed by:	cperciva
2013-11-30 22:17:27 +00:00
Ed Maste
ed4c8729a2 Purely cosmetic change: order DT_REL* and DT_RELA* consistently.
From projects/uefi, r246107

Sponsored by:	The FreeBSD Foundation
2013-11-28 19:41:03 +00:00
Luiz Otavio O Souza
c1bc07dada Fix the led 'gpios' definition to match the description on
sys/boot/fdt/dts/bindings-gpio.txt.  Make the led pin an output, add the
missing flag field.  No functional change (gpioled(4) isn’t supported on
FDT systems yet).

Approved by:	adrian (mentor)
2013-11-27 12:12:37 +00:00
Ganbold Tsagaankhuu
a8e50123f0 Add clock frequency for rk3188 watchdog.
Whilst here, replace "clocks" to "clock-frequency".

Approved by: ray@
2013-11-25 11:02:11 +00:00
Andrew Turner
299f9dc1a6 Recent versions of U-Boot require us to also backup and restore r9 for API
calls to work.
2013-11-24 20:33:38 +00:00
Devin Teske
f697065fda Add a try-include word (which acts the same as "include") and use it to
conditionally include (but ignore failures) /boot/loader.rc.local and
/boot/menu.rc.local -- to make customizing the menu easier.

Reviewed by:	alfred
Discussed on:	-hackers
2013-11-17 18:12:17 +00:00
Devin Teske
c0264af94b Refactor draw-beastie function.
Discussed on:	-hackers
2013-11-17 18:07:10 +00:00
Ruslan Bukin
5c263f43ef Add support for Freescale Vybrid Family VF600 heterogeneous
ARM Cortex-A5/M4 SoC (M4 core is not used in this work).

Support includes device drivers for:
- NAND Flash Controller (NFC)
- USB Enhanced Host Controller Interface (EHCI)
- General-Purpose Input/Output (GPIO)
- Universal Asynchronous Receiver/Transmitter (UART)

Also supported:
- Generic Interrupt Controller (GIC)
- MPCore timer
- ffec ethernet driver

Reviewed by:	ray
Approved by:	cognet (mentor)
2013-11-12 18:02:56 +00:00
Devin Teske
546b5aacde Extend loader_delay as-documented in beastie.4th(8) and delay.4th(8), making it available to architectures that do not use or load the beastie
menu. This is reported to save headaches on some PPC systems where unload
followed by load does not produce the desired results wherein if-given
the opportunicy to abort the initial loading sequence, you can customize
the first load.

Reviewed by:    nwhitehorn, kan
Discussed on:   -current
2013-11-07 21:52:04 +00:00
Devin Teske
ea1ed0c224 Defer loading of kernel and modules if the beastie menu is enabled. Add a
kernel selection menu to the beastie menu. List of kernels is taken from
`kernels' in loader.conf(5) as a space (or comma) separated list of names
to display (up to 9). If not set, default value is "kernel kernel.old".
Does not validate that kernels exist because the next enhancement will be
to allow selection of the root device.

Discussed on:	-current
MFC after:	3 days
2013-11-04 20:28:10 +00:00
Ian Lepore
4a98e46950 TI sdhci driver improvements, mostly related to fdt data...
Use the published compatible strings (our own invention, "ti,mmchs" is
still accepted as well, for now).

Don't blindly turn on 8-bit bus mode, because even though the conroller
supports it, the board has to be wired appropriately as well.  Use the
published property (bus-width=<n>) and honor all the valid values (1,4,8).

The eMMC device on a Beaglebone Black is wired for 8-bit, update the dts.

The mmchs controller can inherently do both 1.8v and 3.0v on the first
device and 1.8v only on other devices, unless an external transceiver is
used.  Set the voltage automatically for the first device and honor
the published fdt property (ti,dualvolt) for other devices.

Thanks go to Ilya Bakulin for figuring out the voltage compatibility stuff.
2013-11-01 19:22:06 +00:00
Ian Lepore
36aed22abd Add dts source for imx6 SoCs and for Wandboard boards.
The imx6.dtsi is incomplete, but has enough to support devices that work
right now.  Eventually it will need to be split into several files that
account for the differences between SoCs in the imx6 family.

The board config for Wandboard Dual is untested.  Solo and Quad work, but
one one core is turned on for the quad right now (baby steps).
2013-11-01 00:45:08 +00:00
Ian Lepore
f26c810514 Rework the imx ehci driver so that it's four separate ehci units rather
than one unit with four busses attached to it.  This allows us to use
existing fdt data which describes separate devices with separate resources.
It also allows any combination of the units to be en/disabled in the
board dts files.

Adjust our dts code to match what's used by linux and u-boot now that
we're structured to do so.

Document lots of interesting stuff learned whiling doing this with a big
comment block in the driver, so I don't have to re-learn it for the next
round of changes.
2013-10-30 18:26:18 +00:00
Rui Paulo
4219857759 Digi-CCWMX53: enable ffec and uart. 2013-10-29 03:42:43 +00:00
Gleb Smirnoff
a7a36fea40 Remove more remnants of ng_fec(4).
The ng_create_one() and ng_mkpeer() functions in network.subr are
now not used anywhere, but I left them, since they can be useful
in future in netgraph scripting.

Submitted by:	pluknet
2013-10-28 16:21:31 +00:00
Andrew Turner
81f305d283 Always build ubldr as a soft-float binary as there is no support for VFP
this early on in the boot process.
2013-10-27 14:27:11 +00:00
Nathan Whitehorn
bbfe038df4 Fix build after r257162. 2013-10-26 23:41:11 +00:00
Zbigniew Bodek
ad9bd4683a Enable SATA interface on Armada XP
- Add appropriate entry to DTS
- Allow for MV78460 SATA probe and configuration

Tested by:	kevlo
Approved by:	cognet (mentor)
2013-10-26 17:29:50 +00:00
Zbigniew Bodek
b462915513 Enable UART busy detection handling for Armada XP - based board
All Armada XP chips should be affected. It is necessary to handle
busy interrupt/indication by enabling busy-detect property in DTS.

Tested by:	kevlo
Approved by:	cognet (mentor)
2013-10-26 17:27:32 +00:00
Luiz Otavio O Souza
09b2544b71 Remove all the instances of '#undef DEBUG' from kernel.
Suggested by:	rpaulo
Approved by:	adrian (mentor)
2013-10-25 18:38:44 +00:00
Luiz Otavio O Souza
07897970fb Add the Raspberry Pi SPI controller driver.
Reviewed by:	rpaulo
Approved by:	adrian (mentor)
2013-10-24 16:27:33 +00:00
Luiz Otavio O Souza
be9ddf4313 Add the Raspberry Pi BSC (I2C compliant) controller driver.
Reviewed by:	rpaulo
Approved by:	adrian (mentor)
2013-10-23 12:29:39 +00:00
Ganbold Tsagaankhuu
ac022df310 Add FDT for Radxa Rock board and Rockchip RK3188 SoC.
Reviewed by: ray@
2013-10-23 00:35:58 +00:00
Jung-uk Kim
2481ce2f25 Allow users to set UUID in network byte order regardless of SMBIOS version.
Define BOOT_NETWORK_ENDIAN_UUID in make.conf(5) to enable this feature.
2013-10-22 21:32:28 +00:00
Brooks Davis
cb7de87666 Sync BERI kernel configs with P4:
Switch the majority of device configuration to FDT from hints.

Add BERI_*_BASE configs to reduce duplication in the MDROOT and SDROOT
kernels.

Add NFS and GSSAPI support by default.

MFC after:	3 days
Sponsored by:	DARPA/AFRL
2013-10-22 15:45:31 +00:00
Ian Lepore
7a2ed7a8f4 Add configuration for the Freescale i.MX53 Quick Start Board. 2013-10-20 21:21:07 +00:00
Ian Lepore
62e8bfb82a Switch to using the standard uart console driver instead of the special
driver for early boot debugging.
2013-10-20 21:03:15 +00:00