summaryrefslogtreecommitdiffstats
path: root/sys/boot
Commit message (Collapse)AuthorAgeFilesLines
* Fix the font in the text version. This has bothered me for a long time...des2015-01-252-8/+6
| | | | MFC after: 1 week
* Add support for audio transmitting, include drivers for:br2015-01-242-4/+24
| | | | | | | | | | o Digital Audio Multiplexer (AUDMUX) o Smart Direct Memory Access Controller (SDMA) o Synchronous Serial Interface (SSI) Disable by default as it depends on SDMA firmware. Sponsored by: Machdep, Inc.
* Fix panic in firewire and creation of invalid config ROM.will2015-01-231-5/+9
| | | | | | | | | | | | | | | (This change was supposed to be included in r277508.) sys/boot/i386/libfirewire/firewire.c: Fix configuration ROM generation count wrapping logic so that the generation count is never outside of allowed limits (0x2 -> 0xF). Submitted by: gibbs MFC after: 1 week MFC with: 277508 Sponsored by: Spectra Logic MFSpectraBSD: 1110685 on 2015/01/05
* loader: fix the size of MODINFOMD_MODULEProyger2015-01-201-2/+3
| | | | | | | | | The data in MODINFOMD_MODULEP is packed by the loader as a 4 byte type, but the amd64 kernel expects a vm_paddr_t, which is of size 8 bytes. Fix this by saving it as 8 bytes in the loader and retrieving it using the proper type in the kernel. Sponsored by: Citrix Systems R&D
* Enable Synopsys DesignWare Mobile Storage Host Controllerganbold2015-01-203-4/+16
| | | | | | | | driver on Rockchip boards. It currently supports PIO mode and dma mode needs external dma controller to be used. Submitted by: jmcneill Approved by: stas (mentor)
* loader: use correct types for parse_modmetadataroyger2015-01-171-4/+4
| | | | | | | | Use the proper types in parse_modmetadata for the p_start and p_end parameters. This was causing problems in the ARM 32bit loader. Sponsored by: Citrix Systems R&D Reported and Tested by: ian
* loader: implement multiboot support for Xen Dom0royger2015-01-1516-94/+981
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a subset of the multiboot specification in order to boot Xen and a FreeBSD Dom0 from the FreeBSD bootloader. This multiboot implementation is tailored to boot Xen and FreeBSD Dom0, and it will most surely fail to boot any other multiboot compilant kernel. In order to detect and boot the Xen microkernel, two new file formats are added to the bootloader, multiboot and multiboot_obj. Multiboot support must be tested before regular ELF support, since Xen is a multiboot kernel that also uses ELF. After a multiboot kernel is detected, all the other loaded kernels/modules are parsed by the multiboot_obj format. The layout of the loaded objects in memory is the following; first the Xen kernel is loaded as a 32bit ELF into memory (Xen will switch to long mode by itself), after that the FreeBSD kernel is loaded as a RAW file (Xen will parse and load it using it's internal ELF loader), and finally the metadata and the modules are loaded using the native FreeBSD way. After everything is loaded we jump into Xen's entry point using a small trampoline. The order of the multiboot modules passed to Xen is the following, the first module is the RAW FreeBSD kernel, and the second module is the metadata and the FreeBSD modules. Since Xen will relocate the memory position of the second multiboot module (the one that contains the metadata and native FreeBSD modules), we need to stash the original modulep address inside of the metadata itself in order to recalculate its position once booted. This also means the metadata must come before the loaded modules, so after loading the FreeBSD kernel a portion of memory is reserved in order to place the metadata before booting. In order to tell the loader to boot Xen and then the FreeBSD kernel the following has to be added to the /boot/loader.conf file: xen_cmdline="dom0_mem=1024M dom0_max_vcpus=2 dom0pvh=1 console=com1,vga" xen_kernel="/boot/xen" The first argument contains the command line that will be passed to the Xen kernel, while the second argument is the path to the Xen kernel itself. This can also be done manually from the loader command line, by for example typing the following set of commands: OK unload OK load /boot/xen dom0_mem=1024M dom0_max_vcpus=2 dom0pvh=1 console=com1,vga OK load kernel OK load zfs OK load if_tap OK load ... OK boot Sponsored by: Citrix Systems R&D Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D517 For the Forth bits: Submitted by: Julien Grall <julien.grall AT citrix.com>
* Fix the PMIC node name to match the PMIC i2c address.loos2015-01-151-2/+1
| | | | | | | | Remove an extra blank line. No functional changes. MFC after: 3 days
* Reserve and ignore the a new module metadata type MDT_PNP_INFO forimp2015-01-151-0/+1
| | | | | | | | | | associating an optional PNP hint table with this module. In the future, when these are added, these changes will silently ignore the new type they would otherwise warn about. It will always be safe to ignore this data. Get this into the builds today for some future proofing. MFC After: 3 days
* Add new USB template to the USB bootloader module.hselasky2015-01-131-0/+1
|
* Add support to turn off Beaglebone with poweroff(8) or shutdown(8) -p.loos2015-01-121-0/+7
| | | | | | | | | | | | | | | | | To cut off the power we need to start the shutdown sequence by writing the OFF bit on PMIC. Once the PMIC is programmed the SoC needs to toggle the PMIC_PWR_ENABLE pin when it is ready for the PMIC to cut off the power. This is done by triggering the ALARM2 interrupt on SoC RTC. The RTC driver only works in power management mode which means it won't provide any kind of time keeping functionality. It only implements a way to trigger the ALARM2 interrupt when requested. Differential Revision: https://reviews.freebsd.org/D1489 Reviewed by: rpaulo MFC after: 2 weeks
* Apparently more Makefiles use stuff from compiler-rt, so fix them updim2015-01-081-2/+2
| | | | too. (This did not show during a make universe, strangely.)
* Missed change in r276688. Apologies for build breakage.nwhitehorn2015-01-051-1/+2
|
* Add kexec-based Linux shim loader for use with the firmware petitbootnwhitehorn2015-01-0515-1/+1694
| | | | | | | | | | | loader on PS3 and POWER8 systems. This is reasonably portable to other architectures, especially FDT-based ones, if similar features are useful elsewhere. Netboot support is missing for now and will be added in a future commit, at which time loader.ps3 will be garbage collected. Done at: Hackathon
* Create a custom /boot/defaults/loader.conf for ARM. This differs from theian2015-01-031-0/+13
| | | | | | | | | | | | | | standard file in the following ways: - modules_path includes /boot/dtb - It doesn't contain 533 lines, of which 500 are either commented out, empty, or something_which_doesnt_work_on_arm_anyway=NO The standard defaults file takes 40+ seconds to process on an arm beaglebone board. This one takes just a couple seconds. This gets installed instead of the original because of the .PATH magic in the makefile.
* Add driver for general-purpose I/O (GPIO).br2015-01-021-0/+35
| | | | Sponsored by: DARPA, AFRL
* Merge ^/head r274961 through r276418.dim2014-12-301-1/+1
|\
| * mdoc: remove EOL whitespace.joel2014-12-291-1/+1
| |
| * Use -Wl, to pass options to the linker for PowerPC's boot1.chrp.dim2014-12-291-1/+1
| | | | | | | | MFC after: 3 days
* | For building sys/boot/powerpc, get rid of the obsolete -mppc64bridgedim2014-12-292-6/+0
| | | | | | | | | | | | | | assembler flag. No change in the generated code. Reviewed by: nwhitehorn Differential Revision: https://reviews.freebsd.org/D1392
* | Merge ^/head r276347 through r276356.dim2014-12-291-1/+1
| |
* | Merge ^/head r274961 through r276342.dim2014-12-281-2/+3
|\ \ | |/
| * Use the proper markup for single quotes.ian2014-12-271-2/+3
| |
* | Merge ^/head r274961 through r276301.dim2014-12-2717-19/+71
|\ \ | |/
| * mdoc: improvements to SEE ALSO.joel2014-12-275-8/+8
| |
| * Add interrupt support for GPIO pins on OMAP4 and AM335x.loos2014-12-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables the use of GPIO pins as interrupt sources for kernel devices directly attached to gpiobus (userland notification will be added soon). The use of gpio interrupts for other kernel devices will be possible when intrng is complete. All GPIO pins can be set to trigger on: - active-low; - active-high; - rising edge; - falling edge. Tested on: Beaglebone-black
| * Revert r276101, it didn't fix the problem and causes a compile errorian2014-12-241-2/+0
| | | | | | | | (nested comment blocks).
| * Update comment: only one file in the FAT file system EFI boot imageemaste2014-12-231-2/+2
| | | | | | | | Sponsored by: The FreeBSD Foundation
| * Use explicit --output-target to set EFI file formatemaste2014-12-232-2/+2
| | | | | | | | | | | | | | | | | | According to objcopy(1) --target is for use where the input and output formats are the same ("no translation"). In practice it does detect the input format in any case, but be explicit that we're specifying the output format as we are translating from ELF to EFI PE format. Sponsored by: The FreeBSD Foundation
| * Convert a couple lingering NO_FORTH conditionals to test MK_FORTH.ian2014-12-232-2/+2
| |
| * Temporarily disable the cpus directive until I figure out what's wrong.rpaulo2014-12-231-0/+2
| |
| * Add a new loader(8) variable, twiddle_divisor, allowing control over theian2014-12-223-1/+37
| | | | | | | | | | | | | | output frequency of the "twiddle" IO progress indicator. The default value is 1. For larger values N, the next stage of the animation is only output on every Nth call to the output routine. A sufficiently large N effectively disables the animation completely.
| * Make this compile when TERM_EMU is not defined.imp2014-12-221-0/+2
| |
| * Allow whitspace to appear between device name and unit number in loaderdev.ian2014-12-211-4/+5
| | | | | | | | | | This allows the same value to be used in u-boot commands and the loaderdev env var that gets passed to ubldr, for example 'fatload mmc 1 ${bootfile}".
| * Driver for CPU frequency/voltage control on the Raspberry Pi.rpaulo2014-12-201-0/+11
| | | | | | | | | | | | | | | | Differential Revision: https://reviews.freebsd.org/D1025 Submitted by: Daisuke Aoyama aoyama@peach.ne.jp Reviewed by: ian (earlier version), rpaulo MFC after: 1 month Relnotes: yes
* | Merge ^/head r275759 through r275911.dim2014-12-185-18/+253
|\ \ | |/
| * Add configuration files for BERI soft-core synthesized onbr2014-12-171-0/+219
| | | | | | | | | | | | | | | | Terasic SoCKit board (Altera FPGA). Use virtio block as root filesystem device. Sponsored by: DARPA, AFRL
| * Move memory node to the root, so fdt_get_mem_regions() can find it.br2014-12-173-15/+15
| |
| * o Add PIO[2,3] devices informationbr2014-12-171-3/+19
| | | | | | | | o Enable Virtio Block
* | Merge ^/head r274961 through r275684.dim2014-12-101-1/+11
|\ \ | |/
| * o Add BERI Virtio Networking Frontend (if_vtbe)br2014-12-091-1/+11
| | | | | | | | | | | | | | | | o Move similar block/networking methods to common file o Follow r275640 and correct MMIO registers width o Pass value to MMIO platform_note method. Sponsored by: DARPA, AFRL
* | Merge ^/head r275478 through r275622.dim2014-12-081-0/+2
|\ \ | |/
| * Define the ffs() function in the USB bootloader's global andhselasky2014-12-051-0/+2
| | | | | | | | independent header file.
* | Merge ^/head r275387 through r275477.dim2014-12-042-4/+4
|\ \ | |/
| * Increase BERI loader section alignment to 16emaste2014-12-031-3/+3
| | | | | | | | | | | | | | | | | | | | The .text, .bss, and .data sections claimed 16-byte alignment, but were only aligned to 8 by the linker script. Discovered with strip(1) from elftoolchain, which performs validation absent from the binutils strip(1). Sponsored by: DARPA, AFRL
| * MFi386: r275305 (by rdivacky)nyan2014-12-021-1/+1
| | | | | | | | | | Unbreak the code for non-digits below '0' by casting the expression to unsigned int.
| * Unbreak the code for non-digits below '0' by casting the expressionrdivacky2014-11-301-1/+1
| | | | | | | | | | | | to unsigned int. Pointed out by: bde
* | Merge ^/head r275262 through r275363.dim2014-12-011-1/+1
| |
* | Merge ^/head r274961 through r275261.dim2014-11-293-21/+33
|\ \ | |/
| * The current limit of 100k for the linker hints file is getting a bitimp2014-11-291-1/+1
| | | | | | | | | | | | | | | | crowded as we now are at about 70k. Bump the limit to 1MB instead which is still quite a reasonable limit and allows for future growth of this file and possible future expansion to additional data. MFC After: 2 weeks
OpenPOWER on IntegriCloud