summaryrefslogtreecommitdiffstats
path: root/sys/boot
Commit message (Collapse)AuthorAgeFilesLines
* When running on armv6, set alignment checking to modulo-4 mode ratherian2013-03-311-0/+8
| | | | | than modulo-8, because clang emits ldrd and strd instructions for addresses that are only 4-byte aligned
* Initialize sym_count to 0.kientzle2013-03-301-1/+1
| | | | This fixes a compiler warning introduced in r248121.
* Integrate Efika MX project back to home.ray2013-03-202-0/+712
| | | | Sponsored by: The FreeBSD Foundation
* Attach the elf section headers to the loaded kernel as metadata, soian2013-03-102-32/+19
| | | | | | | | | | | they can easily be used by later post-processing. When searching for a compiled-in fdt blob, use the section headers to get the size and location of the .dynsym section to do a symbol search. This fixes a problem where the search could overshoot the symbol table and wander into the string table. Sometimes that was harmless and sometimes it lead to spurious panic messages about an offset bigger than the module size.
* Since ubldr doesn't necessarily load a kernel at the physical address in theian2013-03-091-5/+6
| | | | | | | | | | elf headers, mask out the high nibble of that address. This effectly makes the entry point the offset from the load address, and it gets adjusted for the actual load address before jumping to it. Masking the high nibble makes assumptions about memory layout that are true for all the arm platforms we support right now, but it makes me uneasy. This needs to be revisited.
* Enable uart driver for A10.ganbold2013-03-011-0/+2
| | | | Approved by: gonzo@
* Fix a typo that prevented booting a kernel that had virtual addresses inian2013-02-271-1/+1
| | | | the elf headers.
* Adjust the arm kernel entry point address properly regardless of whether theian2013-02-261-6/+17
| | | | | e_entry field holds a physical or a virtual address. Add a comment block that explains the assumptions being made by the adjustment code.
* Fix the bug I introduced in r247045.kientzle2013-02-253-66/+30
| | | | | | | | | | | | | | | | After digging through more carefully, it looks like there's no real need to have the DTB in the module directory. So we can simplify a lot: Just copy DTB into local heap for "fdt addr" and U-Boot integration, drop all the extra COPYIN() calls. I've left one final COPYIN() to update the in-kernel DTB for consistency with how this code used to work, but I'm no longer convinced it's appropriate here. I've also remove the mem_load_raw() utility that I added to boot/common/module.c with r247045 since it's no longer necessary.
* - Move dma, sdhci and mbox nodes down in dts in order to get themgonzo2013-02-231-38/+35
| | | | | | | | initialized after FPIO controller since they might rely on GPIO functionality - Update interrupts property of dma node to contain all allocated interrupts
* "fdt addr" gets run from loader.rc before the kernel is loaded.kientzle2013-02-231-7/+22
| | | | | | | | This was broken by r247045 which tried to copy the FDT into the module directory immediately. Instead, store the address and arrange for the FDT to get copied into the module directory later when the usual FDT initialization runs.
* Print kernel args as late as possible before jumping into kernel.kientzle2013-02-231-1/+1
|
* Convert machine/elf.h, machine/frame.h, machine/sigframe.h,kib2013-02-201-0/+1
| | | | | | | | | | | | | | machine/signal.h and machine/ucontext.h into common x86 includes, copying from amd64 and merging with i386. Kernel-only compat definitions are kept in the i386/include/sigframe.h and i386/include/signal.h, to reduce amd64 kernel namespace pollution. The amd64 compat uses its own definitions so far. The _MACHINE_ELF_WANT_32BIT definition is to allow the sys/boot/userboot/userboot/elf32_freebsd.c to use i386 ELF definitions on the amd64 compile host. The same hack could be usefully abused by other code too.
* Fix "fdt addr" to accept literal addresses rather than va offsets.kientzle2013-02-201-18/+40
| | | | | | | | When initializing the fdt, query U-Boot as well. With this change, it is now feasible to have U-Boot load the FDT, ubldr will pull it from U-Boot and hand it to the kernel.
* Add mem_load_raw() for loading data from another location in memory.kientzle2013-02-182-0/+39
| | | | | | This will be used by some upcoming changes to loader(8) FDT handling to allow it to use an FDT provided by an earlier boot stage the same as an FDT loaded from disk.
* Clarify an error message. The addresses here arekientzle2013-02-181-1/+1
| | | | | really offsets within the primary mapped memory block (which may not start at address zero).
* Enable USB1 (which is EHCI0) for Allwinner A10gonzo2013-02-151-1/+8
| | | | Tested by: ganbold@
* Add watchdog driver for Allwinner A10gonzo2013-02-111-0/+6
|
* Provide verbose help for fdt commands on platforms that use it.kientzle2013-02-114-3/+96
|
* Add bootcamp support to the loader.ae2013-02-101-3/+7
| | | | | Tested by: dchagin MFC after: 1 week
* - Move scratch data from the USB bus structure to the USB device structurehselasky2013-02-101-1/+1
| | | | | | | | | | so that simultaneous access cannot happen. Protect scratch area using the enumeration lock. Also reduce stack usage in usbd_transfer_setup() by moving some big stack members to the scratch area. This saves around 200 bytes of stack. - Fix a whitespace. MFC after: 1 week
* Correctly list the usbloader dependencies.hselasky2013-02-081-2/+2
|
* * Add the integer div & mod functions and ARM EABI support functions toandrew2013-02-051-2/+2
| | | | | | libstand. * Stop linking the ARM U-Boot loader against libgcc now libstand has the required symbols.
* Add defines to more easily allow a single threaded version of the FreeBSDhselasky2013-02-053-44/+8
| | | | USB stack. This is useful for non-kernel purposes, like the loader.
* Fix depend target.hselasky2013-02-051-4/+4
|
* Add gpio driver and update dts and kernel config accordingly.ganbold2013-02-051-0/+9
| | | | Approved by: gonzo@
* Initial version of libusbboot, a fully stand-alone, single threaded andhselasky2013-01-3110-0/+3295
| | | | | | | functional compilation of the FreeBSD USB stack for use with boot loaders and such. Discussed with: Hiroki Sato, hrs @ EuroBSDCon
* Do metadata relocation fixup on all loaded modules, not just the kernel.ian2013-01-301-6/+9
| | | | Approved by: cognet (mentor)
* Add simple clock driver and ehci glue code for a10ganbold2013-01-291-0/+7
| | | | | | Update dts and kernel config Approved by: gonzo@
* Configure all GPIO pins as described in Beaglebone SRM.dmarion2013-01-281-1/+52
| | | | Submitted by: Emmanuel Vadot <elbarto@megadrive.org>
* Add support for the GlobalScale Technologies DreamPlug computer.ian2013-01-272-0/+659
| | | | | | | | | | | | This adds support for version 10, revision 01, but it should also work without changes for the 0901 model, at least until we get drivers for the two different wifi chips involved. Many users contributed to and tested the various patchsets floating around for the past year that have eventually evolved into this checkin, most notably Richard Neese who provided the bulk of the kernel config file. Approved by: cognet (mentor)
* Fix method of naming compatible string to followganbold2013-01-251-6/+6
| | | | | | | | "<manufacturer>,<model>" as described in http://www.devicetree.org/Device_Tree_Usage Reviewed by: andrew@ Approved by: gonzo@
* Always update the hw.uart.console hint anytime a change is made to thejhb2013-01-231-18/+7
| | | | | | | | | | | comconsole setup. Previously the hint would be set when if you set a custom port, but it would not be updated if you later set a custom speed. Also, leave the hw.uart.console hint mutable so it can be overridden or unset by the user if needed. Reviewed by: kib (earlier version) MFC after: 1 week
* Fix linking of loader.efi.benno2013-01-221-1/+1
| | | | | | | | | gcc handles -symbolic by passing -Bsymbolic through to ld. clang ignores -symbolic and thus invokes ld without -Bsymbolic which leads to some symbols not being properly linked in loader.efi. Fix this by using -Wl,-Bsymbolic which passes -Bsymbolic to ld in both the gcc and clang cases. Approved by: rpaulo
* Use correct size for AM335x CPSW memory window.kientzle2013-01-211-1/+1
|
* zfs/sparc64 boot: fix booting after r242230avg2013-01-201-8/+12
| | | | | | | | | | arch_zfs_probe method is supposed to only probe for ZFS vdevs, but it can not expect that ZFS data is in a ready state yet. So, move some code from sparc64_zfs_probe to main to meet the constraints. Reported by: Chris Ross <cross+freebsd@distal.com> Tested by: Chris Ross <cross+freebsd@distal.com> MFC after: 4 days
* Link against compiler-rt to pull in the required __aeabi_* functionsandrew2013-01-191-2/+2
|
* Use correct GPIO interrupt lines.kientzle2013-01-191-1/+1
|
* Initial support for Allwinner A10 SoC (Cubieboard)ganbold2013-01-151-0/+104
| | | | | | | | Add simple console driver Add interrupt handling and timer codes Add kernel config file Add dts file Approved by: gonzo
* Quiesce some clang warnings while we're here doing stuff.sbruno2013-01-143-2/+9
| | | | | Submitted by: Hiren Panchasara <hiren.panchasara@gmail.com> Obtained from: Yahoo! Inc
* Bring in some userboot changes from the bhyve branch to reduce diffs.grehan2013-01-083-4/+12
| | | | | | | | | | | | | | | | | | | | r238966 Bump up the heap size to 1MB. With a few kernel modules, libstand zalloc and userboot seem to want to use ~600KB of heap space, which results in a segfault when malloc fails in bhyveload. r241180 Clarify comment about default number of FICL dictionary cells. r241153 Allow the number of FICL dictionary cells to be overridden. Loading a 7.3 ISO with userboot/amd64 takes up 10035 cells, overflowing the long-standing default of 10000. Bump userboot's value up to 15000 cells. Reviewed by: dteske (r238966,241180) Obtained from: NetApp
* Add interrupt for PL310 controllergonzo2012-12-311-0/+2
|
* Move the 64-bit _setjmp to lib/libstand.rpaulo2012-12-212-94/+1
|
* Build a 64 bit version of the FICL library. This is need for a 64 bitrpaulo2012-12-212-6/+23
| | | | | | EFI bootloader (amd64 only for now). This is not yet connected to the build.
* amd64 only has rela sections.rpaulo2012-12-171-12/+12
|
* Restore pre-r234898 printing of boot loader and path.marius2012-12-161-3/+3
| | | | MFC after: 3 days
* Ignore a warning in ubldr where clang doesn't understand the %D printfandrew2012-12-151-0/+3
| | | | specifier from libstand.
* Add support for QEMU's version of Versatile Platform Boardgonzo2012-12-131-0/+118
|
* Fix a regression caused by SVN r222417.dteske2012-12-126-40/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | Prior to r222417, setting `password' in loader.conf(5) did not prevent boot but instead only prevented changes to boot options by prompting for password if autoboot failed or the user interrupted the countdown sequence. After r222417 the same machine with `password' set in loader.conf(5) would no longer boot without _always_ entering the password. This patch restores the old (8.x and older) functionality for password in loader.conf(5) while adding a new bootlock_password feature to replace the edge-case should anybody desire the regressed functionality (HINT: great for PXE servers and/or private distributions). loader.conf(5) was updated to be more clear with-respect to password setting (previous text was misleading). Documentation (loader.conf(5) and check-password.4th(8)) has been updated to include notes on the new bootlock_password setting. Special thanks to Alex Verbod for bringing this to my attention and helping to refine the loader.conf(5) text. PR: conf/170110 Submitted by: Vitaly Zakharov <ded3axap@gmail.com> Reviewed by: Alexander Verbod <alexander.verbod@gmail.com>
* Add support for comma-separated values (whitespace-separated still supported).dteske2012-12-101-6/+6
| | | | | | PR: conf/121064 Submitted by: koitsu Reviewed by: jh
OpenPOWER on IntegriCloud