332010 |
04-Apr-2018 |
mmel |
MFC (cherry pick)r306197,r306327,r306328,r308390,r308391,r310600,r314703:
cherry pick from r306197: Nvidia Tegra 124 and Jetson TK1 related DTS. r306327: Update AHCI driver to match new dts tree r306328: Update PCI driver to match new dts tree r308390: Rework NVIDIA Tegra124 XUSBPAD driver. - Adapt it for new, incompatible, DT bindings introduced by r306197. - Add support for USB super speed pads/ports. r308391: Add NVIDIA Tegra XHCI driver and coresponding firmware blob. r310600: Implement drivers for NVIDIA tegra124 display controller, HDMI source and host1x module. Unfortunately, tegra124 SoC doesn't have 2D acceleration engine and 3D requires not yet started nouveau driver. r314703: Add support for card detect and write protect gpio pins to Tegra SDHCI. |
331897 |
02-Apr-2018 |
gonzo |
MFC r314672, r315967, r324184, r325768
r314672: [rpi] rpi3 should use the same cpufreq logic as rpi2, not rpi-b
RPi3 cpufreq is more like that on RPi2. Setting arm frequency above min (say, "sysctl hw.cpufreq.arm_freq=600000001") turns on turbo mode, and the firmware automatically raises voltage, sets frequency to max 1200MHz, and throttle when overheat, etc.
Swap if/else parts and use SOC_BCM2835 def so RPi3 can share the same cpufreq logic as RPi2, instead of falling to that for RPi.
Submitted by: Jia-Shiun Li <jiashiun@gmail.com> Differential Revision: https://reviews.freebsd.org/D9640
r315967: [rpi] Use compatibility string from upstream DTB for I2C controller
FreeBSD uses upstream DTB for RPi3 build and compatibility string for i2c device is different there. Add this new string to compatibility data.
Reported by: Karl Denninger
r324184 by ian: Allow Raspberry Pi platform and drivers to be configured with upstream DTBs.
- Added more compatibility strings to drivers not yet converted - Added new RPI platform code compatibility string to match the ones used upstream - Adapted RPI and RPI2 DTS to match the new platform code compatibility string
The goal is to use the upstream DTBs as a replacement for our custom one. This is now possible with these changes.
Additionally, as the RPI firmware automatically chooses the right DTB for us, this would allow to have one common armv6 kernel for RPI0 and RPI1 (BCM2835-based), and one common armv7 kernel for RPI2 v1.1 (BCM2836-based), and RPI2 v1.2 / RPI3 (BCM2837-based).
Submitted by: Sylvain Garrigues <sylgar@gmail.com> Differential Revision: https://reviews.freebsd.org/D12360
r325768 by manu: arm: rpi2: Fix cpufreq(4)
Since r324184 the root node compatible for rpi2 is "brcm,bcm2836", add it to the compatible list of bcm2835_cpufreq.
Tested On: RPI2 v1.1 RPI2 v1.2
Reported by: many on freebsd-arm@ |
331889 |
02-Apr-2018 |
gonzo |
MFC r303035 by markm:
Random bit generator (RBG) driver for RPi and RPi2.
Summary: This driver supports the following methods to trigger gathering random bits from the hardware: 1. interrupt when the FIFO is full (default) fed into the harvest queue 2. callout (when BCM2835_RNG_USE_CALLOUT is defined) every second if hz is less than 100, otherwise hz / 100, feeding the random bits into the harvest queue
If the kernel is booted with verbose enabled, the contents of the registers will be dumped after the RBG is started during the attach routine.
Author: hackagadget_gmail.com (Stephen J. Kiernan)
Test Plan: Built RPI2 kernel and booted on board. Tested the different methods to feed the harvest queue (callout, interrupt) and the interrupt driven approach seems best. However, keeping the other method for people to be able to experiment with.
Reviewed By: adrian, delphij, markm
Differential Revision: https://reviews.freebsd.org/D6888 |
329145 |
12-Feb-2018 |
kevans |
MFC r325834,r325997,326502: Move sys/boot to stand/
This is effectively a direct commit to stable/11, due to differences between stable/11 and head. Changes to DTS in sys/boot/fdt/dts were often accompanied by kernel changes. Many of these were also risc-v updates that likely had many more dependencies to MFC.
Because of this, sys/boot/fdt/dts remains as-is while everything else in sys/boot relocates to stand/.
r325834: Move sys/boot to stand. Fix all references to new location
r325997: Remove empty directories.
r326502: Document the sys/boot -> stand move in hier.7 and the top-level README. |
329144 |
11-Feb-2018 |
kevans |
Re-sync loader.mk and ficl.mk to where they should be
This is a direct commit to stable/11 due to changes lost during an MFC of a move. |
329143 |
11-Feb-2018 |
kevans |
Correct check: BOOT_FORTH is MK_FORTH in makefiles.
This is a direct commit to stable/11. |
329140 |
11-Feb-2018 |
kevans |
MFC Loader Fixes 2017q4p6: r324649,r324650,r324651,r324652,r324653,r324654, r324700,r324702,r324709,r324717,r324719,r324841,r324842,r324843,r324845, r324850,r324876,r324877,r324878,r324879,r324880,r324881,r324883,r324980, r324981,r324982,r324995,r325014,r325093,r325094,r325114,r325170,r325171, r325172,r325173,r325174,r325175,r325176,r325248,r325286,r325310,r325332, r325338,r325339,r325376,r325377,r325379,r325380,r325382,r325478,r325479, r325480,r325482,r325483,r325484,r325485,r325556,r325641,r325681,r325685, r325686,r325687,r325688,r325689,r325690,r325691,r325692,r325693,r325694, r325743,r325744,r325748,r325775,r325779,r325780
r324649: Move common/Makefile.inc to sys/boot/loader.mk.
r324650: tweak style
r324651: create defs.mk for common definitions
r324652: Move all the ficl common code into ficl.mk
r324653: LOADER_foo_SUPPORTED
r324654: Explicitly inlcude SYSDIR in the include path
r324700: loader: initialize dv_cleanup in md.c to eliminate clang warning
r324702: We need to include disk.o in libuboot.a when we're building with support for disk access.
r324709: Revert "Unify boot1 with loader" change r324646
r324717: libsa/ip.c: misplaced comment, ip_v is half char, not ip_p
r324719: libsa/ip: stop read loop on bad fragments
r324841: Use BOOTDIR more consistently in defs.mk rather than repeat sys/boot.
r324842: Introduce BOOTOBJ: The top level object directory for the boot tree
r324843: Stopgap fix to the mistmatch between LOADER_GELI_SUPPORT and LOADER_NO_GELI_SUPPORT.
r324845: Use BOOTOBJ and BOOTDIR to find geli includes and libraries.
r324850: Define LIBSA32 to LIBSA on i386 to fix build.
r324876: Move fdt and uboot defines into common uboot.mk.
r324877: End source directories with SRC rather than a hodgepodge of names
r324878: Make at91 boot loader compile again.
r324879: Prefer SRCTOP paths for bits we're grabbing from libc.
r324880: Use BOOTSRC here.
r324881: Use SYSDIR instead of ${.CURDIR}/../..<etc>/sys.
r324883: Use preferred defined paths, rather than relative paths in fdt.
r324980: Use BOOTDIR consistently.
r324981: Move BINDIR definition to defs.mk, and override where it isn't /boot
r324982: Remove sys/boot/arm/at91 and ixp425
r324995: loader.efi: Make framebuffer commands available for arm64
r325014: Add a 'place holder' arm struct efi_fb until a real one comes
r325093: Define new EFI variables
r325094: Cleanup non-arch Makefiles
r325114: Use defs.mk defins in most MD code
r325170: Use defs.mk values for userboot
r325171: Use defs.mk name and prefer bsd.init.mk
r325172: Remove the -nostdlib stuff I added. Instead, fix LDFLAGS to be honored correctly with the new Makefile.inc include order.
r325173: We don't need to build a special ficl for userboot.
r325174: Minor cleanup
r325175: For amd64, compile both zfs and zfs32 libraries.
r325176: Actually add zfs32/Makefile
r325248: loader ptblread() is broken with >512B sectors
r325286: efipart_strategy is using wrong offset with >512B sectors
r325310: zfs.c:vdev_read() needs to be careful about large sectors
r325332: loader: re-enable gzip support for x86
r325338: loader: fix BOOTSRC -> BOOTOBJ in a library path
r325339: This used to have bzip2 support too.
r325376: WIP: centralize machine links
r325377: mostly libsa
r325379: Revert "mostly libsa"
r325380: Revert "WIP: centralize machine links"
r325382: Cleanup stray libstand names to be libsa names.
r325478: Powerpc is a 32-bit boot loader.
r325479: Define LIBFICL32 to be libficl.a on i386 and libficl32.a on amd64.
r325480: Use DO32 for all the places that we need to flag we're building a 32-bit version of a library.
r325482: Move machine and other link creation to defs.mk
r325483: MACHINE can never be powerpc64, so cleanup code that thinks it can.
r325484: Prefer bsd.init.mk to src.opts.mk
r325485: Centralize all 32-bit builds on 64-bit platform stuff.
r325556: loader: set options before including bsd.init.mk
r325641: loader.efi: efi_devpath_is_prefix should return bool
r325681: boot1: avoid using NULL device path
r325685: libsa32 isn't needed for i386. It's already a 32-bit platform.
r325686: Simplify this if to a direct assignment.
r325687: Remove all the empty help files from the powerpc build.
r325688: FDT support doesn't make sense for ps3, remove it.
r325689: Remove LOADER_FDT_SUPPORT as a Makefile variable.
r325690: Remove LOADER_ZFS_SUPPORT as a Makefile variable
r325691: Remove useless PNP define here.
r325692: Replace LOADER_FIREWIRE_SUPPORT variable
r325693: Move LOADER_{NO,}_GELI_SUPPORT to MK_LOADER_GELI
r325694: Install the 4th files in sys/boot/forth instead of each loader
r325743: Make sure the proper loader.rc gets installed.
r325744: boot1: also check for NULL device
r325748: Use proper include file.
r325775: Add loader.conf to the list of files that are MD.
r325779: Add /boot/dts to the list of default modules.
r325780: Don't add /boot/dt*s* but /boot/dt*b*. Stupid think-o. |
329138 |
11-Feb-2018 |
kevans |
Fix paths after r329132
This is a direct commit to stable/11 due to svn's handling of merging this move being less than ideal. |
329136 |
11-Feb-2018 |
kevans |
MFC r324648: Rename top level Makefile.ficl to ficl.mk. |
329135 |
11-Feb-2018 |
kevans |
MFC Loader Fixes 2017q4p5: r324557,r324558,r324559,r324646,r324647
r324557: Rename exit to efi_exit to avoid clashing with libsa exit definition
r324558: Define prototype for exit and ensure references
r324559: Move panic back into libsa. It's documented in libstand(3) to belong there.
r324646: Unify boot1 with loader.
r324647: Move orphaned man pages into new man directory from common. |
329134 |
11-Feb-2018 |
kevans |
MFC Loader Fixes 2017q4p4: r324552,r324553,r324554,r324555,r324556
r324552: Kill the userboot copy of libstand.
r324553: Rename libstand.a to libsa.a and libstand32.a to libsa32.a
r324554: Move crc32.c, util.c and gpt.c over to libsa.
r324555: Honor CFLAGS modifications in Makefile.inc by using += here.
r324556: Move ufsread.c |
329132 |
11-Feb-2018 |
kevans |
MFC r324551: Move lib/libstand to sys/boot/libsa |
329131 |
11-Feb-2018 |
kevans |
MFC Loader Fixes 2017q4p3: r324460,r324471
r324460: Rather than laying whack-a-mole with including the path to stand.h, always include it.
r324471: Fix typos: `stand alon{e,g}` should be spelled like `standalone` |
329130 |
11-Feb-2018 |
kevans |
MFC Loader Fixes 2017q4p2: r324453, r324454
r324453: Create sys/boot/libsa and build libstand.a there
r324454: Disconnect libstand from the build. |
329129 |
11-Feb-2018 |
kevans |
MFC Loader Fixes 2017q4p1: r324321,r324359,r324360,r324388,r324449,r324450, r324451,r324452
r324321: This README file was quite relevant for FreeBSD 3 or 4. No more.
r324359: Add efi_devpath_is_prefix
r324360: Encapsulate ZFS preferences into efi_zfs_is_preferred
r324388: Unbreak building efiboot with MK_ZFS == no
r324449: Prefer ${LIBSTAND} to -lstand
r324450: Define SASRC and use it
r324451: Add missing -I${SASRC} in a couple of places so that stand.h doesn't accidentally come in via host pollution.
r324452: Define LIBSA* and use them instead of overloaded LIBSTAND |
329118 |
11-Feb-2018 |
kevans |
Back out MFC r324558: Define prototype for exit and ensure references
This went terribly wrong |
329114 |
11-Feb-2018 |
kevans |
MFC Loader Fixes 2017q3: r320547,r320553,r321621,r321844,r321969,r321991, r322037,r322038,r322039,r322040,r322056,r322074,r322542,r322592,r322593, r322896,r322923,r323671,r322930,r322931,r322932,r322933,r322934,r322935, r322936,r322937,r322938,r322939,r322941,r323062,r323063,r323064,r323065, r323100,r323131,r323174,r323258,r323261,r323272,r323367,r323379,r323389, r323407,r323428,r323436,r323494,r323496,r323497,r323541,r323554,r323589, r323707,r323867,r323885,r323886,r323895,r323896,r323897,r323905,r323906, r323907,r323908,r323909,r323952,r323991,r324099,r324558,r326445,r326609, r326610
This batch includes a special kludge to fix powerpc loader build; <stdlib.h> was included after <stand.h> there, causing problems with DEBUG_MALLOC bits. Include <stdlib.h> a little bit earlier to fix the build with the intention of removing this when eventually libsa silently replaces stdlib.h with stand.h.
r320547: Link EFI/uboot loaders with -znotext
r320553: Integer underflow in efipart_realstrategy when I/O starts after end of disk
r321621: Always set the receive mask in loader.efi.
r321844: Clean up style in print_state(..) and pager_printf(..)
r321969: Fix the return types for printf and putchar to match their libc
r321991: Revert r321969
r322037: Add stpcpy and stpncpy to libstand
r322038: Add definitions and utilities for EFI drivers
r322039: Move EFI ZFS functions to libefi
r322040: Add EFI utility functions to libefi
r322056: Move EFI fmtdev functionality to libefi
r322074: libefi/time.c cstyle cleanup
r322542: loader.efi: repace XXX with real comments in trap.c
r322592: Remove unused defines.
r322593: Define proposed GUID for FreeBSD boot loader variables.
r322896: Make spinconsole platform independent and hook it up into EFI loader
r322923: Hide length of geli passphrase during boot.
r323671: Fix language used in the r322923.
r322930: Move efi_main into efi/loader
r322931: Cleanup efi_main return type
r322932: Use the loader.efi conventions for the various EFI tables.
r322933: No need for MK_ZFS around these: they are by their nature only active when MK_ZFS is true.
r322934: _STAND is sometimes defined on the command line. Make the define here match.
r322935: Fix warnings due to type mismatch.
r322936: Remove useless 'static' for an enum definition.
r322937: Forward declare struct dsk to avoid warnings when building libi386.
r322938: Link in libefi for boot1
r322939: Use efi_devpath_str for debug path info.
r322941: Eliminate redunant device path matching.
r323062: Make efichar.c routines available to libefi.
r323063: boot1.efi: print more info about where boot1.efi is loaded from
r323064: Exit rather than panic for most errors.
r323065: Save where we're booted from
r323100: libstand: nfs_readlink() should return proper return code
r323131: Revert r322941: Eliminate redundant device matching functions
r323174: Fix loader bug causing too many pages allocation when bootloader is U-Boot
r323258: ucs2len
r323261: Fix armv6 build
r323272: Be consistent and do return (1);
r323367: Mark init_chroot and init_script variables as deprecated.
r323379: It's been pointed out that init_script at least is useful w/o
r323389: loader.efi: chain loader should provide proper device handle
r323407: boot1 generate-fat: generate all templates at once
r323428: r323389 breaks the kernel build when WITHOUT_ZFS is defined in src.conf
r323436: boot1: remove BOOT1_MAXSIZE default value
r323494: loader should support large_dnode
r323496: libstand: tftp_open() can leak pkt on error
r323497: libefi: efipart_open should check the status from disk_open
r323541: libefi: efipart_realstrategy rsize pointer may be NULL
r323554: Increase EFI boot file size frok 128k to 384k
r323589: loader: biosmem.c cstyle cleanup
r323707: loader: biosmem allocate heap just below 4GB
r323867: libefi: devicename.c cleanups
r323885: libefi: efi_devpath_match() should return bool
r323886: libefi: efipart.c should use calloc()
r323895: libefi: efi_devpath_match local len should be unsigned
r323896: r323885 did miss efilib.h update
r323897: efilib.h: typo in structure member description
r323905: libefi: pdinfo_t pd_unit and pd_open should be unsigned
r323906: libefi: efipart_strategy() should return ENXIO when there is no media
r323907: libefi: efipart.c cstyle fix for efipart_print_common()
r323908: libefi: efipart_hdinfo_add_filepath should check strtol result
r323909: libefi: define EISA PNP constants
r323952: After the r317886 support for TFTP and NFS can be enable simultaneously.
r323991: libefi: efipart_floppy() will should not pass acpi pointer if the HID test fails
r324099: Compile loader as Little-Endian on PPC64/POWER8
r324558: Define prototype for exit and ensure references
r326445: Fix random() and srandom() prototypes to match the standard.
r326609: Make putenv and getenv match the userland definition
r326610: Fix random() prototype to match the system.
PR: 219000 221001 222215 Relnotes: yes ("The length of the geli passphrase is hidden during boot") |
329100 |
10-Feb-2018 |
kevans |
MFC Loader Fixes 2017q2: r316437,r316577,r316578,r316585,r316590,r316612, r316625,r316628,r316654,r316682,r316704,r316771,r317092,r317097,r317099, r317652,r317785,r317886,r317887,r318142,r318320,r318356,r318678,r318754, r318982,r318986,r318987,r318988,r318989,r318990,r318991,r318992,r318993, r318994,r318999,r319083,r319084,r319085,r320011,r320234,r320288,r320304, r320467,r320482
r316437: Small cleanup to make i386/loader match efi/loader boot environment code
r316577: loader: part.c cstyle cleanup
r316578: loader: want mechanism to avoid RA with bcache
r316585: loader: zfs reader should check all labels
r316590: libstand/dosfs: cache FAT32 in 128 Kb blocks to save loader memory
r316612: In r298230 the value of HEAP_MIN was changed from 3MB to 64MB. Correct a comment.
r316625: Do not use -msoft-float with intention of disabling FP on aarch64
r316628: Silence GCC warning by initializing the local variable.
r316654: loader: r316585 did miss userboot update
r316682: loader: r316585 did miss sparc/ofw
r316704: loader.efi: only fetch zfs pool guid for the actual boot device
r316771: loader: Avoid possible overflow via environment variable
r317092: loader: zfs reader vdev_probe should check for minimum device size
r317097: loader: F_READ/F_WRITE should be checked against masked flag
r317099: loader: uboot disk ioctl should call disk_ioctl
r317652: loader.efi: ResetSystem does not use data with EFI_SUCCESS
r317785: zfsboot: drvsize() may be unusable on some systems
r317886: distinguish NFS versus TFTP boot by rootpath
r317887: loader: network read rework
r318142: libstand: NULL pointer dereference in rarp
r318320: loader: add ip layer code into libstand
r318356: libstand: increase nfs max read size to 16k
r318678: Replacing iterating over rootpath by strsep(3).
r318754: Pass -N directly to ld via -Wl rather than passing it to the compiler driver.
r318982: Pass a "FREEBSD" user-class in PXE dhcp request
r318986: add a comment on vendor index 19 and 20 to avoid confusion
r318987: Support URI scheme for root-path in netbooting
r318988: Always build tftpfs support along with nfs for pxeboot
r318989: Always issue the pxe request
r318990: Partially revert r314948
r318991: Document recent changes on pxeboot
r318992: Capitalize DHCP
r318993: Use the usual FreeBSD spelling for the DHCP user class
r318994: Catch with the change in the user class
r318999: Update the comments concerning net_parse_rootpath to reflect what it is now
r319083: Followup on the user-class changes
r319084: Small cleanup in dev_net.c
r319085: use the same option list for dhcp discovery and request
r320011: Add chain loader support for loader
r320234: Make structure padding explicit in EFI_MEMORY_DESCRIPTOR
r320288: Allow Clang's integrated assembler to assemble boot0
r320304: loader.efi: Disable smbios for arm
r320467: loader: chain load relocate data declaration is bad
r320482: As with arm64 mark the EFI PE header as allocated on arm.
PR: 218473 |
329099 |
10-Feb-2018 |
kevans |
MFC Loader Fixes 2017q1: r311458,r312237,r312314,r312374,r312947,r313042, r313047,r313166,r313328,r313332,r313333,r313337,r313348,r313349,r313389, r313442,r313451,r313575,r313645,r313710,r314114,r314213,r314275,r314945, r314948,r315008,r315408,r315427,r315645,r315646,r315648,r315653,r315850, r316064,r316078,r316079,r316100,r316104,r316111,r316112,r316171,r316279, r316280,r316287,r316311,r316343,r316424,r316436
r311458: Use compiler driver to link BERI boot loaders
r312237: loader.efi: find_currdev() can leak memory
r312314: loader: move device path definitions to include/efidevp.h
r312374: loader: efi devpath api usage should be more aware of NULL pointers
r312947: Remove "-Xassembler -G0" from CFLAGS.
r313042: loader.efi environment related cleanups
r313047: loader: disk/part api needs to use uint64_t offsets
r313166: loader: libefi/env.c warnings in arm build
r313328: loader: Implement disk_ioctl() to support DIOCGSECTORSIZE and DIOCGMEDIASIZE.
r313332: loader: bcache read ahead block count should take account the large sectors
r313333: loader: Replace EFI part devices.
r313337: loader: 313329 missed ZFS guard in loader/main.c
r313348: loader: biosdisk fix for 2+TB disks
r313349: loader: disk io should not use alloca()
r313389: efipart is also using the '%S' printf format, add -Wno-format for it.
r313442: loader: possible NULL pointer dereference in efipart.c
r313451: loader: possible NULL pointer dereference in bcache.c
r313575: makefs: make the buffer functions look exactly like the kernel ones
r313645: loader: implement MEDIA_FILEPATH_DP support in efipart
r313710: loader: cstyle fixes and DIOCGMEDIASIZE should use uint64_t
r314114: Use LDFLAGS with CC instead of _LDFLAGS.
r314213: Remove control+r handling from geliboot's pwgets()
r314275: Remove unused macro from common/drv.c.
r314945: Some style(9) fixes. No functional changes.
r314948: Try to extract the RFC1048 data from PXE.
r315008: r314948 seems to be missing a variable or two that will break
r315408: loader: remove open_disk cache
r315427: loader: biosdisk should report IO error from INT13
r315645: loader: disk_cleanup was left in userboot_disk.c
r315646: loader: pxe.h constants have wrong values
r315648: libstand: verify value provided by nfs.read_size
r315653: loader: verify the value from dhcp.interface-mtu and use snprintf o set mtu
r315850: The original author abused Nd (one-line description, used by makewhatis)
r316064: Fix build with path names with 'align' or 'nop' in them.
r316078: gpt*boot: Save a bit more memory when LOADER_NO_GELI_SUPPORT is specified
r316079: Simply retire the sedification of the boot2.s file.
r316100: Remove -fno-guess-branch-probability and -fno-unit-at-a-time.
r316104: Use `NO_WCAST_ALIGN` instead of spelling it out as -Wno-cast-align in CFLAGS
r316111: loader: move bios getsecs into time.c
r316112: loader: ls command should display file types properly
r316171: xfsread inlined uses more space, so remove the inline tag.
r316279: loader: efipart should check disk size from partition table
r316280: loader: simplify efi_zfs_probe and avoid double probing for zfs.
r316287: Remove OLD_NFSV2 from loader and libstand
r316311: Add explicit_bzero() to libstand, and switch GELIBoot to using it
r316343: Implement boot-time encryption key passing (keybuf)
r316424: Fix sparc64 build broken by r316343 and r316076
r316436: Restore EFI boot environment functionality broken in r313333
PR: 216940 217298 217935 |
329070 |
09-Feb-2018 |
kevans |
MFC r327606: Handle misconfigured/nonexistent pcidev for comconsole instead of BTX panic.
[This is effectively a direct commit to stable/11 due to path restructuring in head. Diffs have simply been applied to previous location]
PR: 203319 |
329011 |
08-Feb-2018 |
kevans |
MFC r307322,r307323,r307324,r307326,r307327,r307338,r307879,r307908,r307911, r307942,r307950,r307951,r307954,r307955,r308125,r308195,r308476,r308534, r308535,r308776,r308843,r310236,r310726: Loader fixes, 2016q4
r307322: Remove /boot/boot.conf, deprecated for 16 years
r307323: Remove fetching of pInterp.
r307324: Create a new linker set, Xficl_compile_set which contains a list of functions to call to register new forth words.
r307326: In UEFI mode expose the SMBIOS anchor base address via kenv
r307327: Update i386 build of loader.efi (but leave it disabled) so that we at least build it now.
r307338: Create a pcibios-version environment FORTH word.
r307879: Preliminary support for EFI in boot loader.
r307908: Fix the build on both arm64 and when WITHOUT_FORTH is defined.
r307911: Add better comment...
r307942: Really make WITHOUT_FORTH (MK_FORTH==no) work.
r307950: Add it (Makefile.ficl) to the right place
r307951: Fix two backwards tests.
r307954: Back out the move to the loader script from -N.
r307955: LIBSTAND goes last, so put it last here too.
r308125: In loader.efi, instead of exiting directly, try to fallback.
r308195: efinet_dev_print should honor verbose option.
r308476: boot/forth spelling issue in forth word
r308534: The file_loadraw function grew an argument, update install function
r308535: Add support for LOADER_RC setting in the pkgfs manifes
r308776: loader: zfs toplevel vdev must have spa set.
r308843: loader: smbios version check is not correct
r310236: Renumber license clauses to avoid skipping #3
r310726: cdboot: add explict suffix to ambiguous or instruction
PR: 214375 |
329010 |
08-Feb-2018 |
kevans |
MFC r303555,r303556,r303936,r303962,r304317,r304532,r305026,r305107,r305132, r305178,r305353,r305814,r306159,r306380,r306504: Loader fixes, 2016q3
r303555: bcache should support reads shorter than sector size
r303556: Improve boot loader quote parsing
r303936: Add kernel environment variables under smbios.system
r303962: Add the missing space between .asciz directive and opening quote for some lines with #ifdef BTXLDR_VERBOSE/#endif
r304317: boot1.efi Free() should check for NULL to provide consistent behavior
r304532: Replace sprintf -> snprintf for command_errbuf provisioned from dynamic content.
r305026: Emulate efi_cons_poll when WaitForKey is not available
r305107: Create a hook 'post-initialize' for people that want to define something to read in .conf files after all other .conf files for the purpose of overriding.
r305132: Remove accidentally committed stray comment.
r305178: bd_int13probe() should check extended info if sector info is bad
r305353: Don't use -N to set the OMAGIC with data and text writeable and data not page aligned.
r305814: ufsread: Do not cast struct direct from void *
r306159: Consistently declare getsecs(void) with proper return type and void when no arguments are present.
r306380: loader command interpreter should reset command_errmsg
r306504: Fix a cluster of bugs in list EFI environment variables
PR: 204602, 211958, 211958 Relnotes: yes ("Improve boot loader quote parsing") |
328941 |
06-Feb-2018 |
kevans |
MFC r308774: loader: beri_sdcard_disk_print() needs to return int.
r308434 did change the return type for dv_print callbacks, but the return type for beri_sdcard_disk_print() was left unchanged, causing compile errors. |
328889 |
05-Feb-2018 |
kevans |
MFC r308434, 308827
MFC r308434: Loader paged/pageable data is not always paged. MFC r308827: lsdev device name section headers should be printed by dv_print callback. |
328866 |
05-Feb-2018 |
kevans |
MFC r304321,304753,304754,306751,316077,316110: SHA512, skein, large block support for loader zfs
MFC r304321: Add SHA512, skein, large blocks support for loader zfs. MFC r304753: loader: zio_checksum_verify() must test spa for NULL pointer MFC r304754: r304321 broken bhyve zvol VM bhyveload hang 100% WCPU MFC r306751: Disable loop unrolling in skein for sys/boot MFC r316077: Unbreak compilation with gcc 4.2.1 MFC r316110: Use `-Wno-missing-declarations` with CWARNFLAGS for skein.c |
328836 |
04-Feb-2018 |
emaste |
Remove now-unused variable after r328809 |
328809 |
02-Feb-2018 |
kevans |
MFC r328504: stand/fdt: Consolidate overlay handling a little further
[This is effectively a direct commit to stable/11 due to path restructuring in HEAD. The diff against HEAD has simply been applied to the old path]
This should have been done as part of r327350, but due to lack of foresight it came later. In the different places we apply overlays, we duplicate the bits that check for fdt_overlays in the environment and supplement that with any other places we need to check for overlays to load. These "other places" will be loader specific and are not candidates for consolidation.
Provide an fdt_load_dtb_overlays to capture the common logic, allow passing in an additional list of overlays to be loaded. This additional list of overlays is used in practice for ubldr to pull in any fdt_overlays passed to it from U-Boot environment, but it can be used for any other source of overlays.
These additional overlays supplement loader.conf(5) fdt_overlays, rather than replace, so that we're not restricted to specifying overlays in only one place. This is a change from previous behavior where loader.conf(5) supplied fdt_overlays would cause us to ignore U-Boot environment, and this seems nonsensical- user should have sufficient control over both of these aspects, or lack of control for good reasons.
A knob could be considered in the future to ignore U-Boot supplied overlays, but the supplemental treatment seems like a good start. |
328778 |
02-Feb-2018 |
kevans |
MFC r328584: stand/fdt: Remove unused write-only new_fdtp, correct comment
This is effectively a direct commit to stable/11 due to path restructuring in HEAD. The diff against HEAD has simply been applied to the old path. |
328601 |
30-Jan-2018 |
kevans |
MFC r328293: stand/fdt: Fallback to `name` + .dtbo if we fail to load `name`
[This is a direct commit to stable/11 due to path restructuring in -HEAD; diffs have been applied to their old locations]
This behavior also matches a Linux-ism by allowing fdt_overlays to specify names of overlays without an extension, e.g. fdt-overlays="sunxi-h3-h5-emac"
If we fail to load the file given by a name in fdt_overlays, try again with ".dtbo" appended to it. This still allows overlays to lack .dtbo extension if user prefers it and just adds a fallback cushion.
Future work could move this from a hard-coded ".dtbo" to a loader.conf(5) configuration option. |
328499 |
27-Jan-2018 |
kevans |
MFC (conceptually) r328107: Add /boot/overlays
This is a direct commit to stable/11, due to path changes in HEAD. Diffs have been applied on top of stable/11, with exception to the change to forth/loader.conf. forth/loader.conf has seen additional changes in HEAD mthat are not being MFC'd to stable/11, so the addition of /boot/overlays to its module_path is not necessary.
MFC r328107: stand: Add /boot/overlays for separation of overlays from DTB
This matches directory structure used commonly in Linux-land, and it's cleaner than mixing overlays into the existing module paths. Overlays are still mixed in by specifying fdt_overlays in loader.conf(5). |
328459 |
27-Jan-2018 |
kevans |
MFC (conceptually) r328106: libfdt: Update to 1.4.6, use libfdt for overlays
This is a direct commit to stable/11 due to path changes in HEAD. Diffs have been applied on top of their previous locations, with one minor adjustment as per the "MFC" note below: a <stdlib.h> include in libfdt_env.h h as been wrapped in an `#ifndef _STANDALONE` block to prevent build failures when built in the bootloader context. These issues are not present in HEAD, thus this differs from HEAD.
libfdt highlights since 1.4.3:
- fdt_property_placeholder added to create a property without specifying its value at creation time - stringlist helper functions added to libfdt - Improved overlay support - Various internal cleanup
Also switch stand/fdt over to using libfdt for overlay support with this update. Our current overlay implementation works only for limited use cases with overlays generated only by some specific versions of our dtc(1). Swap it out for the libfdt implementation, which supports any properly generated overlay being applied to a properly generated base.
This will be followed up fairly soon with an update to dtc(1) in tree to properly generate overlays.
MFC note: the <stdlib.h> include this update introduces in libfdt_env.h is apparently not necessary in the context we use this in. It's not immediately clear to me the motivation for it being introduced, but it came in with overlay support. I've left it in for the sake of accuracy and because it's not harmful here on HEAD, but MFC'ing this to stable/11 will require wrapping the #include in an `#ifndef _STANDALONE` block or else it will cause build failures. |
328451 |
26-Jan-2018 |
kevans |
MFC (conceptually) r327991, r328009: Don't clobber FDT enroute to the kernel
This is a direct commit to stable/11 due to path changes that have occured in HEAD. The diffs remain the same, but rebased against their old locations.
MFC r327991: stand/fdt: don't send clobbered FDT to the kernel
If fdt_overlay_apply fails at some stage to apply the overlay to the base, both the base and overlay may be in an inconsistent state (some fixups applied, some phandles adjusted, some symbols merged). These can be bad for a number of reasons, to include user frustration if some fixups applied and not others. Fail a little safer by making a clean copy of the base FDT for every overlay that we can simply discard if things go awry.
This also allows us the luxury of simply discarding overlays if we hit some kind of memory limit or if they're malformed and extremely large for some reason. We'll now leave a nice error message indicating that some overlays could not be applied due to size restrictions and we apply what we can.
I note that our overlay implementation has some flaws that might still leave your system in an unbootable state even if an overlay applies correctly; please exercise caution in using overlays until we can swap it out for libfdt's implementation.
MFC r328009: stand/fdt: Don't leak next_fdtp if we fail to open overlay |
328125 |
18-Jan-2018 |
kib |
MFC r327822: Skip IRELATIVE relocations when loader processes ELF files. |
327945 |
13-Jan-2018 |
kevans |
MFC (conceptually) r327376, r327416: Improve libfdt compatibility
This is a direct commit to stable/11 due to restructuring of sys/boot => stand in -HEAD. The diff remains the same and it is simply applied to the previous location.
MFC r327376: stand/fdt: Swap libfdt include order
libfdt.h should be included before fdt.h, as hinted at by all of libfdt/; standard include order being libfdt.h, libfdt_env.h, fdt.h.
The current include order also causes problems when libfdt gets updated, as fdt.h requires some definitions from libfdt.h.
MFC r327416: stand/fdt: Make fdt_overlay_apply signature-compatible with libfdt
libfdt will assume a writable fdt overlay blob has been passed in, so make ours compatible to allow easier review when we try to drop libfdt into place. overlay from the calling context is writable, making it safe to simply rip out everything related to copying the overlay blob in fdt_overlay_apply.
I note here that we still have problems: fdt_overlay_apply, both our version and libfdt's, may fail and have already clobbered the base fdt to some extent. Future work will make sure we don't apply a potentially bogus fdt, instead discarding the base fdt if we had an error. |
327944 |
13-Jan-2018 |
kevans |
MFC (conceptually) r327350: Consistently apply fdt_overlays
This is a direct commit to stable/11 due to restructuring of sys/boot => stand in -HEAD. The diff remains the same and it is simply applied to the previous location.
MFC r327350: stand/fdt: Consistently apply fdt_overlays
Overlays were previously not applied when U-Boot provides FDT or EFI provides FDT, only when we load FDT from /boot/dtb given name from U-Boot.
Make all three paths lead to loading fdt_overlays and applying them, so that fdt_overlays can be expected to Just Work. |
327942 |
13-Jan-2018 |
kevans |
MFC (conceptually) r327298, r327299: Fix overlay application behavior
This is a direct commit to stable/11 due to restructuring of sys/boot => stand in -HEAD. The diff remains the same and it simply applied to the previous location.
MFC r327298: stand/fdt: Fix loading of multiple fdt_overlays
fdt_load_dtb_overlays was written to unload previous overlay when a new valid one is come across. fdt_apply_overlays further down is written to iterate over all .dtbo's currently loaded and apply them one-by-one. Correct fdt_load_dtb_overlays to stop dropping valid overlays that were previously loaded and match expectations.
MFC r327299: stand/fdt: Avoid bailout when dtbo has no fixups
In the case of a simple dtbo where fragment uses target-path and the overlay contains no references, /__fixups__ will not be included by either our dtc or dtc from ports, but the file still has valid fragments to be applied.
Additional testing found that /__symbols__ might also be omitted if it's empty, which is not necessarily an error. |
327856 |
12-Jan-2018 |
asomers |
MFC r313962, r313972-r313973, r315230
r313962 by allanjude: improve PBKDF2 performance
The PBKDF2 in sys/geom/eli/pkcs5v2.c is around half the speed it could be
GELI's PBKDF2 uses a simple benchmark to determine a number of iterations that will takes approximately 2 seconds. The security provided is actually half what is expected, because an attacker could use the optimized algorithm to brute force the key in half the expected time.
With this change, all newly generated GELI keys will be approximately 2x as strong. Previously generated keys will talk half as long to calculate, resulting in faster mounting of encrypted volumes. Users may choose to rekey, to generate a new key with the larger default number of iterations using the geli(8) setkey command.
Security of existing data is not compromised, as ~1 second per brute force attempt is still a very high threshold.
PR: 202365 Original Research: https://jbp.io/2015/08/11/pbkdf2-performance-matters/ Submitted by: Joe Pixton <jpixton@gmail.com> (Original Version), jmg (Later Version) Reviewed by: ed, pjd, delphij Approved by: secteam, pjd (maintainer) Differential Revision: https://reviews.freebsd.org/D8236
r313972 by ngie: Unbreak the build when "make obj" is executed beforehand
Using relative paths imply working directory (in this case .OBJDIR), whereas the sources live in the .CURDIR-relative path.
X-MFC with: r313962 Pointyhat to: allanjude Sponsored by: Dell EMC Isilon
r313973 by ngie: A forced commit to note other portion of the Makefile change accidentally committed in r313972
The code committed in r313962 implicitly relies on python 2.x to generate testvect.h . There are a handful of issues with this approach:
- python is not an explicit build dependency for FreeBSD - python 2.x is deprecated and will be removed sometime in the future (potentially before 11.x's EOL), and the script does not function with python 3.5 (it uses deprecated idioms and incompatible function calls). - python(1) (by default) lives in /usr/local/bin (${LOCALBASE}/bin) and gentestvect.py is a dependency of testvect.h (prior to r313972) which means that if the mtime of the generator script was newer than the mtime of the test vector, it could cause a spurious build failure in build time or at install time.
A better solution using C/C++ should be devised.
Discussed with: allanjude X-MFC with: r313962, r313972 Sponsored by: Dell EMC Isilon
r315230 by ngie: Move .../sys/geom/eli/pbkdf2... to .../sys/geom/class/eli/...
This change moves the tests added in r313962 to an existing directory structure used by the geli TAP tests. It also, renames the test from pbkdf2 to pbkdf2_test .
The changes to ObsoleteFiles.inc are being committed separately as they aren't needed for the MFC to ^/stable/11, etc, if the MFC for the tests is done all in one commit.
X-MFC with: r313962, r313972-r313973 Reviewed by: allanjude Sponsored by: Dell EMC Isilon Differential Revision: D9985 |
326951 |
18-Dec-2017 |
manu |
MFC r312914, r322694
r312914 by imp: Honor LINKS=x y in dtb modules. We need this for compatibility links for old, FreeBSD names.
r322694: RPI DTS: Add value previously set by VideoCore and DTB links
Using latest U-Boot for RPI 1 or 2 the DTB loaded by the firmware is discarded. The DTB was previously patched by the firmware to contain the DMA channel mask. DTB provided by the rpi firmware or DTS in the Linux tree contain the raw value directly. Do the same for our DTS as we cannot switch to the upstream ones yet. Not having the DMA channel mask setup properly cause mmc not to be detected (and probably other problems on driver using DMA).
Also, add links for rpi dtb to the name used by u-boot. This way the dtb can be loaded by ubldr using the U-Boot env variable fdtfile.
Tested On: RPI B Rev2, RPI Zero, RPI 2 v1.1 RPI 2 v1.2
Thanks to Sylvain Garrigues <sylvain@sylvaingarrigues.com> for the help.
PR: 218344 |
326934 |
18-Dec-2017 |
ian |
MFC (conceptually) r326752, r326754:
This is a direct commit to 11-stable, because the code has moved and the directories have been restructured in 12-current, but it just hand- applies the same patches to the corresponding files in their old locations.
r326752: Save and restore r9 register in arm ubldr. In old gcc 4.2, r9 was a callee- saved register, but in arm EABI it may be either callee-saved or dedicated to some special purpose (such as a TLS pointer). It appears clang does not treat it as a callee-saved register (instead using it as another work register, similar to r12).
Another important side effect of these changes is that saving an extra register in the push/pop statements keeps the stack aligned to an 8-byte boundary during the self_reloc() call, as it always should have been.
As stated in the PR...
Essentially the important caller-saved registers are pushed (r0, r1, r9, lr) before the relocation call, and popped after. Then r8/r9 are saved as usual for the syscall trampoline, and lr is stored in r8 (now free) as a callee-saved value before calling into `main`.
The call to `main` can no longer be a tail call because we must restore r9 especially after main returns (although since we have used r8 to hold lr we must also restore this).
r326754: When building for arm arches, set PKTALIGN to the max cache line size supported by the arch, to meet u-boot's requirement that I/O be done in cache-aligned chunks.
PR: 223977 224008 |
326431 |
01-Dec-2017 |
emaste |
MFC r324703: loader.mk: clean md.o even if MD_IMAGE_SIZE not defined
We don't normally provide special handling for optionally-included src files, but md.o depends on both md.c and the value of ${MD_IMAGE_SIZE}. Previously if one built with MD_IMAGE_SIZE, executed "make clean", and then built with a different MD_IMAGE_SIZE md.o would not be rebuilt.
Reported by: Zakary Nafziger Sponsored by: The FreeBSD Foundation |
323485 |
12-Sep-2017 |
rlibby |
MFC r316119 (by ngie):
self_reloc.c: Pass -Wno-error=maybe-uninitialized to gcc versions greater than 4.2.1 |
323484 |
12-Sep-2017 |
rlibby |
MFC r303723 (by markj):
Fix a few cosmetic issues in boot1.efi. |
323409 |
11-Sep-2017 |
ian |
MFC r316374, r316377:
Preserve the registers containing argc, argv, and return address values passed in from u-boot across the call to self_reloc and any other early-init code, and restore them before calling main().
Correct a comment... the stack used by ubldr is the same stack u-boot was running on when it jumped to the ubldr entry point. None of the arches that use this code set up a different stack in their start.S routines. |
323403 |
10-Sep-2017 |
ian |
MFC r315574, r315576, r315577:
Convert the imx5 interrupt controller driver to INTRNG.
Add INTRNG option to EFIKA_MX config, it is an imx5-based platform.
Delete our local imx53-qsb.dts file; the code now runs fine using the standard vendor-supplied file in sys/gnu/dts/arm. |
323256 |
07-Sep-2017 |
rlibby |
MFC r322329:
i386/boot2: -fno-asynchronous-unwind-tables for gcc |
323050 |
31-Aug-2017 |
oleg |
MFC r322628: Fix BSD label partition end sector calculation.
Differential Revision: https://reviews.freebsd.org/D12066 |
322216 |
08-Aug-2017 |
ngie |
MFC r321851:
Standardize paths on SRCTOP instead of .CURDIR-relative paths |
322087 |
05-Aug-2017 |
trasz |
MFC r319798:
Switch the example name for variables controlling loading memory images in /boot/defaults/loader.conf to something that's actually commonly used, "mdroot". It's arbitrary, but it's easier to find this way. |
321683 |
29-Jul-2017 |
mav |
MFC r314504 (by tsoome): loader: r314112 did introduce dereference freed pointer entry
CID: 1371675 Reported by: Coverity Differential Revision: https://reviews.freebsd.org/D9846 |
321680 |
29-Jul-2017 |
mav |
MFC r307865 (by tsoome): loader should boot pre-feature flags pools.
The feature flags chek is missing the corner case where we have valid pool version, but feature flags are not enabled - as for example plain v28 pool.
This update does fix the boot support for such pools.
Differential Revision: https://reviews.freebsd.org/D8331
PR: 221084 |
321660 |
28-Jul-2017 |
dim |
MFC r321305:
Fix printf format warning in zfs_module.c
Clang 5.0.0 got better warnings about print format strings using %zd, and this leads to the following -Werror warning on e.g. arm:
sys/boot/efi/boot1/zfs_module.c:186:18: error: format specifies type 'ssize_t' (aka 'int') but the argument has type 'off_t' (aka 'long long') [-Werror,-Wformat] "(%lu)\n", st.st_size, spa->spa_name, filepath, EFI_ERROR_CODE(status)); ^~~~~~~~~~
Fix this by casting off_t arguments to intmax_t, and using %jd instead.
Reviewed by: tsoome Differential Revision: https://reviews.freebsd.org/D11678 |
321526 |
26-Jul-2017 |
mav |
Fix mismerge in r321525. |
321525 |
26-Jul-2017 |
mav |
MFC r314112 (by tsoome): loader: update symlink support in zfs reader
As the current zfs file system is providing symlink via system attributes, need to update the code accordingly.
Note, as the zfsboot code does not free the memory at this time, the object list will put some stress on the boot2 heap, eventually we should address the issue.
Differential Revision: https://reviews.freebsd.org/D9706 |
321519 |
26-Jul-2017 |
mav |
MFC r303630 (by allanjude): Make boot code and loader check for unsupported ZFS feature flags
OpenZFS uses feature flags instead of a zpool version number to track features since the split from Oracle. In addition to avoiding confusion on ZFS vs OpenZFS version numbers, this also allows features to be added to different operating systems that use OpenZFS in different order.
The previous zfs boot code (gptzfsboot) and loader (zfsloader) blindly tries to read the pool, and if failed provided only a vague error message.
With this change, both the boot code and loader check the MOS features list in the ZFS label and compare it against the list of features that the loader supports. If any unsupported feature is active, the pool is not considered as a candidate for booting, and a helpful diagnostic message is printed to the screen. Features that are merely enabled via zpool upgrade, but not in use, do not block booting from the pool.
Submitted by: Toomas Soome <tsoome@me.com> Reviewed by: delphij, mav Relnotes: yes Differential Revision: https://reviews.freebsd.org/D6857 |
321264 |
20-Jul-2017 |
ngie |
MFC r316102:
Wrap bootcamp DEBUG statement with curly braces
This fixes a -Wempty-body warning with gcc 6.3.0 when PART_DEBUG is undefined.
Tested with: amd64-gcc-6.3.0 (devel/amd64-xtoolchain-gcc) |
321232 |
19-Jul-2017 |
ngie |
MFC r316076:
sys/boot/common: Make geli(4) support optional in MI sources
This saves a negligible amount of memory for non-geli enabled bootloaders. |
319024 |
28-May-2017 |
ngie |
MFC r309412,r316109,r316132:
r309412 (by imp):
dd is currently a bootstrap tool. It really doesn't have any business being a bootstrap tool. However, for reproducible build output, FreeBSD added dd status=none because it was otherwise difficult to suppress the status information, but retain any errors that might happen. There's no real reason that dd has to be a build tool, other than we use status=none unconditional. Remove dd from a bootstrap tool entirely by only using status=none when available. This may also help efforts to build the system on non-FreeBSD hosts as well.
r316109:
Don't hardcode input files for stage 1/2 bootloaders; use .ALLSRC instead
This is a better pattern to follow when creating the bootloaders and doing the relevant space checks to make sure that the sizes aren't exceeded (and thus, copy-pasting is a bit less error prone).
r316132:
Parameterize out 7680 (15 * 512) as BOOT2SIZE, similar to sys/boot/i386/zfsboot/...
This is being done to make it easier to change in the future--this action might be needed sooner rather than later because of gcc 6.3.0 bailing, stating that there is negative free space left (deficit) in the boot2 bootloader. |
318625 |
22-May-2017 |
ngie |
MFC r316103:
Remove redundant declarations
They're already defined in libstand.h |
318576 |
20-May-2017 |
kib |
MFC efivar(8) (by imp):
List of revisions merged: r307070 r307071 r307072 r307074 r307189 r307224 r307339 r307390 r307391 r309776 r314231 r314232 r314615 r314616 r314617 r314618 r314619 r314620 r314621 r314623 r314890 r314925 r314926 r314927 r314928 r315770 r315771
Discussed with: gjb (re), imp Sponsored by: The FreeBSD Foundation |
318480 |
18-May-2017 |
markj |
MFC r318193: Set the right variable when overriding the default console speed. |
318019 |
09-May-2017 |
royger |
MFC r316754: loader/multiboot: fix multiboot loading
Sponsored by: Citrix Systems R&D |
317994 |
09-May-2017 |
gonzo |
MFC r315019:
[loader][fdt] Fix applying overlays without __local_fixups__ node
Do not return error if __local_fixups__ node is missing in DTB overlay because local fixup data is optional.
Reported by: Manuel Stuhn |
317145 |
19-Apr-2017 |
emaste |
MFC r303442, r305343: remove CONSTRUCTORS from linker scripts
r303442: remove CONSTRUCTORS from kernel linker scripts
r305343: remove CONSTRUCTORS from MIPS uboot linker script
The linker script CONSTRUCTORS keyword is only meaningful "when linking object file formats which do not support arbitrary sections, such as ECOFF and XCOFF"[1] and is ignored for other object file formats.
LLVM's lld does not yet accept (and ignore) CONSTRUCTORS, so just remove CONSTRUCTORS from the linker script as it has no effect.
[1] https://sourceware.org/binutils/docs/ld/Output-Section-Keywords.html
Reported by: andrew Sponsored by: The FreeBSD Foundation |
317140 |
19-Apr-2017 |
andrew |
Fix the arm64 userland building with lld:
MFC 308124: On arm64 build the efi loader with -fPIC. Without this clang 3.9 will generate relocation in the self relocation code.
MFC 316608: Add -fPIC to the standalone build flags on arm64. This is needed as loader.efi is position independend, however we were not building it as such causing a build failure when building with lld.
MFC 315452: Mark the EFI PE header as allocated. While ld.bfd doesn't seem to care about not having this flag ld.lld fails to link without it. |
316322 |
31-Mar-2017 |
ngie |
MFC r316106:
Don't shadow read(2) definition with `read` argument in vdev_{create,probe}
This fixes several -Wshadow warnings introduced in r192194, but now errors with gcc 6.3.0. |
316320 |
31-Mar-2017 |
ngie |
MFC r316107:
Remove redundant declaration for `zfs_crc64_table`
zfssubr.c already defines this statically. Besides, zfsimpl.c defined it, but didn't use it.
This fixes a -Wredundant-decls warning. |
316318 |
31-Mar-2017 |
ngie |
MFC r316108:
Remove -Wunused-but-set variable, `tail` in `ls_getdir(..)`
This variable has been unused since its inception in r40106. |
316282 |
30-Mar-2017 |
tsoome |
boot1.efi: can't boot from ZFS on 4kn HDD
The boot1.efi immediate issue from PR216964 is that we are reading into too small buffer, from UEFI spec 2.6:
The size of the Buffer in bytes. This must be a multiple of the intrinsic block size of the device.
The secondary issue is that LBA calculation does not check reminder from division.
This fix does check the provided buffer size and if we read less than media sector size or the read offset is not aligned to sector boundary, we allocate bounce buffer and perform the read by single sector.
PR: 216964 Reported by: Sergey Kozlov Reviewed by: allanjude, Sergey Kozlov Approved by: allanjude (mentor) Differential Revision: https://reviews.freebsd.org/D9870 |
316272 |
30-Mar-2017 |
dexuan |
MFC: 314547, 314770, 314828, 314891, 314956, 314962, 315235
r314547 loader.efi: reduce the size of the staging area if necessary
The loader assumes physical memory in [2MB, 2MB + EFI_STAGING_SIZE) is Conventional Memory, but actually it may not, e.g. in the case of Hyper-V Generation-2 VM (i.e. UEFI VM) running on Windows Server 2012 R2 host, there is a BootServiceData memory block at the address 47.449MB and the memory is not writable.
Without the patch, the loader will crash in efi_copy_finish(): see PR 211746.
The patch verifies the end of the staging area, and reduces its size if necessary. This way, the loader will not try to write into the BootServiceData memory any longer.
Thank Marcel Moolenaar for helping me on this issue!
The patch also allocates the staging area in the first 1GB memory. See the comment in the patch for this.
PR: 211746 Reviewed by: marcel, kib, sephe Approved by: sephe (mentor) Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D9686
r314770 loader.efi: fix recent UEFI-boot regression on physical machines
This patch fixes my recent patch "loader.efi: reduce the size of the staging area if necessary", which causes EFI-boot failure on physical machines since Mar 2: on the host there is a 1MB LoaderData memory range, which splits the big Conventional Memory range into a small one (15MB) and a big one: the small one is too small to hold the staging area.
We can actually use the LoaderData range safely, because when amd64_tramp -> efi_copy_finish() starts to run, we're almost at the very end of the efi loader code and we're going to "return" to the kernel entry, so we're pretty sure we won't access any loader data any more.
For people who are interested in the details: please see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211746#c22
PS, some people also reported the regression happened to FreeBSD VM running on Bhyve in EFI mode. This patch should resolve it too, though I don't have such a setup to test.
Reviewed by: sephe Approved by: sephe (mentor) Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D9904
r314828 loader.efi: fix an off-by-one bug in efi_verify_staging_size()
Also remove the warning message: it may not be unusual to see the memory range containing 2MB is not of EfiConventionalMemory.
Sponsored by: Microsoft
r314891 loader.efi: finally fix the off-by-one bug in efi_verify_staging_size()
r314828(loader.efi: fix an off-by-one bug in efi_verify_staging_size()) doesn't really fix the bug and this patch adds the missing part.
It's a shame that I didn't make everything correct at the very beginning...
Sponsored by: Microsoft
r314956 loader.efi: only reduce the size of the staging area on Hyper-V
Doing this on physical hosts turns out to be problematic, e.g. see comment 24 and 28 in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211746.
To fix the real underlying issue correctly & thoroughly, IMO we need a relocatable kernel, but that would require a lot of complicated long term work: https://reviews.freebsd.org/D9686?id=25414#inline-56969
For now, let's only apply efi_verify_staging_size() to VMs running on Hyper-V, and restore the old behavior on physical machines since that has been working for people for a long period of time, though that's potentially unsafe...
Sponsored by: Microsoft
r314962 loader.efi: only include the machine/ header files on x86
The 2 files may not exist on other archs like aarch64 and hence we can have a build failure there.
Reported by: lwhsu Sponsored by: Microsoft
r315235 loader.efi: use stricter check for Hyper-V
Some other hypervisors like Xen can pretend to be Hyper-V but obviously they can't implement all Hyper-V features. Let's make sure we're genuine Hyper-V here.
Also fix some minor coding style issues.
PR: 211746 Sponsored by: Microsoft
PR: 211746 |
316129 |
29-Mar-2017 |
ngie |
MFC r315738:
Document some more 10GbE+ network drivers in loader.conf
- if_cxgbe - if_ixl - if_ixlv - sfxge |
315221 |
14-Mar-2017 |
pfg |
MFC r313982, r314068: sys: Replace zero with NULL for pointers.
Found with: devel/coccinelle |
314921 |
08-Mar-2017 |
pfg |
MFC r314505: Split the ficl CFLAGS when they refer to an arch-specific include path.
This is a minimal attempt to keep consistency in the Makefiles so that moving ficl to somwehere like contrib will be less error prone. |
314522 |
01-Mar-2017 |
ian |
MFC r309195:
Add an ethernet0 alias pointing to the /aix/usb/hub/ethernet node. This is required for u-boot to locate the ethernet node when it's doing fixup of the mac-address property when the user has overridden the default addr. |
313355 |
06-Feb-2017 |
tsoome |
MFC r309369,310850,310853:
libstand: dosfs cstyle cleanup for return keyword. dosfs support in libstand is broken since r298230
PR: 214423 Submitted by: Mikhail Kupchik Reported by: Mikhail Kupchik Approved by: imp (mentor) |
313353 |
06-Feb-2017 |
tsoome |
MFC r310845: boot2 will deadlock if extended keys are used on text input
Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D8608 |
313183 |
04-Feb-2017 |
gonzo |
MFC r310124 (by andrew):
Add -fPIC to the ubldr build. Without this the self relocation code will try to use an absolute address in a switch statement, jumping to an invalid memory location.
Sponsored by: ABT Systems Ltd
PR: 216504 |
312772 |
25-Jan-2017 |
dim |
MFC r311932:
Make EFI_RESERVED_SERVICE a proper prototype
With clang 4.0.0, the EFI API header causes the following warning:
In file included from sys/boot/efi/loader/bootinfo.c:43: In file included from sys/boot/efi/loader/../include/efi.h:52: sys/boot/efi/include/efiapi.h:534:32: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] (EFIAPI *EFI_RESERVED_SERVICE) ( ^
Add VOID to make it into a real prototype.
Reviewed by: imp, emaste, tsoome Differential Revision: https://reviews.freebsd.org/D9132 |
312771 |
25-Jan-2017 |
dim |
MFC r311929:
Don't include <errno.h> in reloc_elf.c, as it includes <stand.h> just after it, which has a conflicting definition of errno. This leads to the following warning with clang 4.0.0:
In file included from sys/boot/common/reloc_elf32.c:6: In file included from sys/boot/common/reloc_elf.c:37: /usr/obj/usr/src/tmp/usr/include/stand.h:155:12: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] extern int errno; ^ sys/sys/errno.h:46:26: note: expanded from macro 'errno' #define errno (* __error()) ^ |
312769 |
25-Jan-2017 |
dim |
MFC r311933:
Use proper prototypes in struct boot_module_t
With clang 4.0.0, we are getting the following warnings about struct boot_module_t in efi's boot_module.h:
In file included from sys/boot/efi/boot1/ufs_module.c:41: sys/boot/efi/boot1/boot_module.h:67:14: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] void (*init)(); ^ void sys/boot/efi/boot1/boot_module.h:92:16: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] void (*status)(); ^ void sys/boot/efi/boot1/boot_module.h:95:24: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] dev_info_t *(*devices)(); ^ void 3 errors generated.
Fix this by adding 'void' to the parameter lists. No functional change.
Reviewed by: emaste, imp, smh Differential Revision: https://reviews.freebsd.org/D9144 |
312756 |
25-Jan-2017 |
loos |
MFC r308458, r311157 and r312347:
Add the DTS for the Netgate SG-1000 (micro-Firewall).
Remove a GPL licensed DTS.
The micro-Firewall DTS is now a single BSD licensed file.
The write-protect is not wired on uFW, disable it to allow writes to SD card.
Obtained from: pfSense Sponsored by: Rubicon Communications, LLC (Netgate) |
312730 |
25-Jan-2017 |
emaste |
Add WITH_REPRODUCIBLE_BUILD src.conf(5) knob
MFC r310128: Add WITH_REPRODUCIBLE_BUILD src.conf(5) knob to disable kernel metadata
The kernel builds reproducibly, except for the time, date, user, and hostname baked into the kernel (reported at startup and via the kern.version sysctl for uname). Add a build knob to disable the inclusion of this metadata.
MFC r310268: Build loaders reproducibly when WITH_REPRODUCIBLE_BUILD
When WITH_REPRODUCIBLE_BUILD=yes is set in src.conf(5), eliminate the time, user, and host from the loader's version information. This allows builds to produce bit-for-bit identical output. |
312620 |
22-Jan-2017 |
jmcneill |
MFC r310854, r310972
r310854: Add missing reg property to usbphy node.
r310972: Fix a typo in the third address of the reg property for the usbphy node. |
312556 |
20-Jan-2017 |
emaste |
MFC r310267: Deduplicate loader vers.c Makefile rules
The Makefile rule to create vers.c for loader version info was previously duplicated in each of the various loader Makefiles. Instead, share a common rule in Makefile.inc.
Sponsored by: The FreeBSD Foundation |
312415 |
19-Jan-2017 |
asomers |
MFC r310417
Add a dumpdev example to /boot/defaults/loader.conf |
312349 |
17-Jan-2017 |
gonzo |
MFC r311888, r311890-r311891
r311888: [efi] Fix off-by-one error in ARM .bss zeroing code in loader's _start
__bss_end should not be included in .bss zeroing code. Otherwise first 4 bytes of the section that follows .bss (in loader's case it's .sdata) are overwritten by zero.
Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D9108
r311890: [efi] Fix .rel.data.* being erroneously merged into .data on ARM
Fix section pattern code to exclude .rel.data.* sections from being merged into .data. Otherwise relocations in those sections are lost in final binary
Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D9108
r311891: [efi] Build EFI bits with -fPIC on ARM
clang 3.9.0 without -fPIC generates absolute jump table for switch/case statement which trips boot1.efi and loader.efi on ARM platform.
Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D9108 |
312318 |
17-Jan-2017 |
emaste |
MFC r310225: Reduce boot loader version string duplication
Instead of repeating "%s, Revision %s" "(%s %s)" in each loader, just create the full version string in vers.c |
311908 |
11-Jan-2017 |
emaste |
MFC r310702: btxldr: process all PT_LOAD segments, not just the first two
With default settings GNU ld generates two PT_LOADs for loader.sym while LLD generates three, because it creates a rodata segment. Previously btxldr terminated phdr processing after two PT_LOADs. Remove the early termination to process all PT_LOADs.
Sponsored by: The FreeBSD Foundation |
311220 |
04-Jan-2017 |
emaste |
MFC r310661: loader: use strip -o instead of cp and strip in place
It is simpler and cleaner to have strip produce the stripped output directly than copying the input to the output first. |
310827 |
30-Dec-2016 |
emaste |
MFC r306264: Use 32-bit value for .text padding, for linker portability
GNU ld interprets the padding value as a variable-length byte string, while GNU gold and LLVM lld interpret it as a 32-bit value. |
310825 |
30-Dec-2016 |
emaste |
MFC r305854: Use arch-specific .text padding fill value in EFI loaders
The fill pattern was previously an ia64 instruction sequence. Presumably ia64's linker script was copied as a starting point. |
310725 |
28-Dec-2016 |
emaste |
Fix EFI self relocation code for rela architectures
MFC r306812 (andrew):
The bootloader self relocation code was slightly wrong for the R_AARCH64_RELATIVE relocation found on arm64. It would try to add the contents of the memory location being relocated to the base address and the relocation addend. This worked when the contents was zero, however this now seems to be set to the value of the addend so we add this twice. Fix this by just setting the memory to the computed value.
MFC r309360: EFI loaders: parse rela relocations on amd64
Prior to this change the loader self relocation code interpreted amd64's rela relocations as if they were rel relocations, discarding the addend. This "works" because GNU ld 2.17.50 stores the addend value in both the r_addend field of the relocation (as expected) and at the target of the relocation.
Other linkers, and possibly other versions of GNU ld, won't have this behaviour, so interpret the relocations correctly. |
309377 |
01-Dec-2016 |
shurd |
MFC r308696, r308729, r308787, r308813, r309028, r309073, r309078:
r308696: New driver for Broadcom NetXtreme-C and NetXtreme-E devices.
r308729: Add bnxt(4) to the hardware notes.
r308787: Add missing newline in error mesage
r308813: Check link status after init
r309028: Add missing break to switch statement
r309073: Fix version string
r309078: Add new device IDs
Approved by: sbruno Relnotes: yes Sponsored by: Broadcom Limited |
309370 |
01-Dec-2016 |
tsoome |
Backing out r309368 as it got commited prematurely as we still do not provide skein feature support in boot loader.
Approved by: allanjude (mentor) |
309368 |
01-Dec-2016 |
tsoome |
MFC r308776
loader: zfs toplevel vdev must have spa set.
PR: 214375 Reported by: lstewart Reviewed by: allanjude, imp Approved by: allanjude (mentor), imp (mentor) Differential Revision: https://reviews.freebsd.org/D8487 |
308914 |
21-Nov-2016 |
avg |
MFC r308089: zfsbootcfg: a simple tool to set next boot (one time) options for zfsboot |
308722 |
16-Nov-2016 |
bapt |
MFC r308477:
make pxeboot consistent with common/dev_net.c
Always define boot.netif.server in kenv in pxeboot Add "boot.tftproot.server" to kenv when pxeboot uses tftpfs Change the code order when setting env for TFTP or NFS to be the same as common/dev_net.c
Reported by: tsoome |
308719 |
16-Nov-2016 |
bapt |
MFC r307238:
Stop closing the network device when netbooting for loaders using the common dev_net.c code.
The NETIF_OPEN_CLOSE_ONCE flag was added in r201932 to prevent that behaviour on some architectures (sparc64 and powerpc64) the default was left to always open and close the device for each open and close of a file by the loader because it was necessary for u-boot on arm.
Since it has been added, the flag was turned on for every arches including the u-boot loader for arm.
This also fixes netbooting on RPi3 (tested by gonzo@)
For the loader.efi it greatly speeds up netbooting
Reviewed by: emaste, gonzo, tsoome Approved by: gonzo MFC after: 1 month Sponsored by: Gandi.net Differential Revision: https://reviews.freebsd.org/D8230 |
308401 |
07-Nov-2016 |
hselasky |
MFC r307518: Fix device delete child function.
When detaching device trees parent devices must be detached prior to detaching its children. This is because parent devices can have pointers to the child devices in their softcs which are not invalidated by device_delete_child(). This can cause use after free issues and panic().
Device drivers implementing trees, must ensure its detach function detaches or deletes all its children before returning.
While at it remove now redundant device_detach() calls before device_delete_child() and device_delete_children(), mostly in the USB controller drivers.
Tested by: Jan Henrik Sylvester <me@janh.de> Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D8070 |
308271 |
04-Nov-2016 |
manu |
MFC r304291:
Remove pullup settings for MMC pins, this is not needed since r304290 |
307916 |
25-Oct-2016 |
bapt |
MFC r307787:
Fix typo in the COMPILER_VERSION check
PR: 213120 Submitted by: Yuta Satoh <nigoro.dev@gmail.com> |
307767 |
22-Oct-2016 |
gonzo |
MFC r306430
Add touchscreen support for the official 7" RPi touch display
Technically touchscreen chip is FT5406 but all hardware communication is performed by VideCore and only final results are presented to ARM part through memory region shared between VC and ARM.
evdev is used as userland interface. FT5406 supports up to 10 touchpoints, but for now driver emulates single touch device because I do not have GUI bits to test this functionality.
Driver is not enabled in default config for RPI and RPI2
Tested with: evdev-dump, tslib |
307725 |
21-Oct-2016 |
bapt |
MFC: r307316
Fix build WITHOUT_FORTH
Sponsored by: Gandi.net |
307632 |
19-Oct-2016 |
bapt |
MFC: 304677, 304680, 305125, 305770, 305769
r304677: Add tftpfs support for the EFI loader
Allow netbooting on efi without having to setup any NFS server by rebuilding the loader with LOADER_TFTP_SUPPORT like for the i386 pxeloader
r305125: Netboot: allow both tftpfs and nfs in both pxeboot and loader.efi
Add a new 'netproto' variable which can be set for now to NET_TFTP or NET_NFS (default to NET_NONE)
From the dhcp options if one sets the root-path option to: "ip:path", the loader will consider it is booting over NFS (meaning same behaviour as the default current behaviour)
if the dhcp option "tftp server address" is set (option 150) the loader will consider it is booting over tftpfs, it will then consider the root-path options with 2 possible case 1. "path" then the IP of the tftp server will be the one passed by the option 150, and the files will be retrieved under "path" on the tftp server 2. "ip:path" then the IP of the tftp server will be the one passed in the option "overwritting the IP from the option 150.
We could not "abuse" the rootpath option in the form or tftp://ip:path because this is already used for other purpose by iPXE preventing any chainload from iPXE to the FreeBSD loader.
Given at each open(), the loader loops over all available filesystems and keep the "best" error, we needed to prevent tftpfs to fallback on nfs and vice versa. the tftpfs and nfs implementation in libstand now return EINVAL early if 'netproto' for that purpose.
Relnotes: yes Sponsored by: Gandi.net |
307527 |
17-Oct-2016 |
gonzo |
MFC r302465:
Remove extra 0x before %p format strings introduced by r296182 |
307505 |
17-Oct-2016 |
sephe |
MFC 305588
pxeboot: Add nfs.read_size tunable.
Increase this tunable improves kernel loading speed.
Submitted by: Jun Su <junsu microsoft com> Reviewed by: rpokala, wblock (previous version) Obtained from: DragonFlyBSD Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D7756 |
306834 |
08-Oct-2016 |
allanjude |
MFC: r306677
GELIBoot may attempt to read past the end of the disk
PR: 213196 Relnotes: yes Sponsored by: ScaleEngine Inc. |
306738 |
05-Oct-2016 |
kib |
MFC r306090: Simple post-mortem reporter for amd64 loader.efi. |
306317 |
25-Sep-2016 |
kib |
MFC r305943: Utilize pmap.h names. |
306315 |
25-Sep-2016 |
kib |
MFC r305941: Add double-inclusion protection.
MFC r305947: Add comment for the closing guard. |
306255 |
23-Sep-2016 |
hselasky |
MFC r305804: Make the callout structure in the boot loader's kernel shim more similar to the kernel one. |
305901 |
17-Sep-2016 |
jhibbits |
MFC r305894:
Increase the boot1 file size on the HFS boot image.
The boot1.elf is too fat for 30k, it's now 32k on powerpc64, and 34k on powerpc. Without this, boot1 will fail with odd behaviors. |
305845 |
15-Sep-2016 |
emaste |
MFC r305160: Set UEFI boot loader PE/COFF timestamps to known value for reproducible builds
Sponsored by: The FreeBSD Foundation |
305779 |
13-Sep-2016 |
will |
MFC r305484:
loader.efi: Bump the staging size to 64M.
This is required on my system, which loads nvidia, vmm, and zfs, and 48M is no longer enough for that. nvidia-driver's recent update increased its size by several megabytes. |
305614 |
08-Sep-2016 |
pfg |
MFC r303891, r303892: sys: replace comma with semicolon when pertinent.
Uses of commas instead of a semicolons can easily go undetected. The comma can serve as a statement separator but this shouldn't be abused when statements are meant to be standalone. |
305537 |
07-Sep-2016 |
andrew |
MFC 304801: Don't set *dev in the zfs root case, it may be NULL and will correctly be set later in the function. This fixes a potential NULL pointer dereference found on arm64.
Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation |
305457 |
06-Sep-2016 |
avg |
MFC r303738: report sector size and number of sectors in lsdev output for bios disks |
305377 |
04-Sep-2016 |
manu |
MFC 304222
Only use WaitForKeys event if it exists, this is not the case in u-boot efi implementation. |
305376 |
04-Sep-2016 |
manu |
MFC 304221 and 304271
Use %ju modifier for u_int64_t and %jd modifier for off_t. off_t is long long on arm32 and long on amd64
Correctly print and cast u_int64_t and off_t. |
305249 |
01-Sep-2016 |
nwhitehorn |
MFC r305036: Some versions of SLOF do not append the partition number to the boot device argument to the stage-1 bootloader. In such cases, boot1 would only try to read the entire device rather than checking for partitions. Instead of panic'ing, fall back to reading the partitions as normal in such situations. This was preventing boot of installed systems on some versions of PowerKVM.
PR: kern/211599 |
305232 |
01-Sep-2016 |
gjb |
MFC r304966 (peter): The read-ahead code from r298230 made it likely the boot code would read beyond the end of disk. r298900 added code to prevent this. Some BIOSes cause significant delays if asked to read past end-of-disk.
We never trusted the BIOS to accurately report the sectorsize of disks before and this set of changes. Unfortuately they interact badly with the infamous >2TB wraparound bugs. We have a number of relatively-recent machines in the FreeBSD.org cluster where the BIOS reports 3TB disks as 1TB.
With pre-r298900 they work just fine. After r298900 they stop working if the boot environment attempts to access anything outside the first 1TB on the disk. 'ZFS: I/O error, all block copies unavailable' etc. It affects both UFS and ZFS if they try to boot from large volumes.
This change replaces the blind trust of the BIOS end-of-disk reporting with a read-ahead clip to prevent reads crossing the of end-of-disk boundary. Since 2^32 (2TB) size reporting truncation is not uncommon, the clipping is done on 2TB aliases of the reported end-of-disk. ie: a 3TB disk reported as 1TB has readahead clipped at 1TB, 3TB, 5TB, ... as one of them is likely to be the real end-of-disk.
This should make the loader on these broken machines behave the same as traditional pre-r298900 loader behavior, without disabling read-ahead.
PR: 212139 Sponsored by: The FreeBSD Foundation |
304507 |
19-Aug-2016 |
jhb |
MFC 304018: Add defines needed to export SMBIOS serial numbers
Some defines needed for exporting serial numbers from the SMBIOS were missed during integration of SMBIOS support in the EFI boot loader (r281138). This is needed for getting the hostid set from the system hardware UUID.
PR: 206031 |
304215 |
16-Aug-2016 |
manu |
MFC r303974: ename pcduino3b.dts to pcduino3.dts The only difference between 3 and 3B is the size of the RJ45 port. And now we have a uboot port that expect pcduino3.dts to be present.
Reported by: imp |
303839 |
08-Aug-2016 |
gonzo |
MFC r303726
Fix EHCI driver by excluding first 512K from available memory
On Zynq 256K-512K memory region is not accessible by all bus masters. EHCI driver fails when trying to use it for DMA transfers. Patching memory node does not help because ubldr overrides values there with the ones obtained from u-boot. So as a workaround we just mark first 512K as reserved.
PR: 211484 Submitted by: Thomas Skibo <thoma555-bsd@yahoo.com> Approved by: re (gjb) |
303333 |
26-Jul-2016 |
manu |
MFC: r303039
Do not use TERM_EMU on arm and arm64 as it doesn't behave well with serial console.
Approved by: re (gjb) |
302408 |
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
302335 |
04-Jul-2016 |
emaste |
boot1.efi: fix assignment / comparison expression
PR: 210706 Submitted by: David Binderman <dcb314@hotmail.com> Approved by: re (kib) MFC after: 1 week
|
302312 |
01-Jul-2016 |
nwhitehorn |
Clean up some FDT-related code in the PowerPC bootloader, improving error checking and robustness. Prevents errors and crashes in FDT commands on PowerMac G5 systems.
Approved by: re (gjb)
|
301995 |
17-Jun-2016 |
manu |
Print a message when disks are found but no logical partition are reported by EFI implementation. This address comment on r301714.
Approved by: re (gjb), andrew (mentor) Differential Revision: https://reviews.freebsd.org/D6787
|
301955 |
16-Jun-2016 |
avg |
fix a zfs boot regression introduced in r300117 by accident
There is no reason to return non-zero value from zfs_probe_partition() as that causes following partitions to not be probed for ZFS vdevs. A particular scenario that I encountered is a GPT partitioned disk where several partitions have freebsd-zfs type. A partition with a lower index is used as a cache (l2arc) vdev and in that case case zfs_probe() returned a non-zero status. That status was returned to ptable_iterate() and caused it to abort the iteration. Because of that the subsequent partitions were not probed and a root pool was not discovered resulting in a boot failure.
While there fix the style for nearby return statements.
Approved by: re (kib)
|
301747 |
09-Jun-2016 |
manu |
Add PCDuino3b dts. It uses the pcduino3 dts from upstream and adds the hdmi node, axp gpio and changes the phy mode to rgmii.
Approved by: andrew (mentor) Differential Revision: https://reviews.freebsd.org/D6775
|
301714 |
09-Jun-2016 |
manu |
Print a message when the efi disk isn't a logical partition.
Approved by: andrew (mentor) Differential Revision: https://reviews.freebsd.org/D6782
|
301706 |
08-Jun-2016 |
andrew |
Also set -fshort-wchar on arm64, this fixes parsing strings from UEFI, e.g. on the command line.
Sponsored by: ABT Systems Ltd
|
301703 |
08-Jun-2016 |
andrew |
Print the newline character along with the carriage return when TERM_EMU is disabled. Without this we print all lines over top of each other.
Sponsored by: ABT Systems Ltd
|
301702 |
08-Jun-2016 |
andrew |
Allow libefi to be built with TERM_EMU undefined. There were a few places where we assumed TERM_EMU was defined but didn't check. Fix these by also including them under the ifdefs.
As HO is called from loader we need a null implementation so loader.efi doesn't need to know which version of libefi it is building against.
Sponsored by: ABT Systems Ltd
|
301306 |
04-Jun-2016 |
andrew |
Use the UEFI event timer to update the time on arm and arm64. The current code uses the GetTime function from the Runtime Service, however this has been shown to not return a useable time on many arm64 UEFI implementations.
Reviewed by: jhb, smh Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D6709
|
301225 |
02-Jun-2016 |
zbb |
Add support for CESA on Armada38x
Changes: - added new SoC ID in CESA attach - allowed crypto driver IDs other than 0 - added CESA nodes to Armada38x .dts files - enabled required devices in kernconf
Submitted by: Michal Stanek <mst@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D6220
|
301222 |
02-Jun-2016 |
zbb |
Split CESA memory resource into TDMA and CESA regs
TDMA and CESA registers are placed in different ranges of memory. Split memory resource in DTS to reflect that. This change is needed to support multiple CESA nodes as otherwise the ranges of different nodes would overlap.
In consequence, CESA_WRITE and CESA_READ macros have been split depending on which range of registers is accessed. Offsets for CESA registers have been modified as the base address has changed.
Submitted by: Michal Stanek <mst@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D6217
|
301218 |
02-Jun-2016 |
zbb |
Revert part of r294418 ("Correct ranges...")
Commit was temporary fix due to rman_res_t defined as 32-bit u_long. After redefining it as 64-bit variable workaround is not needed and was removed.
Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Differential revision: https://reviews.freebsd.org/D6214
|
301023 |
31-May-2016 |
ngie |
Add missing libc includes to fix -Wimplicit-function-declaration warnings
MFC after: 2 weeks Reported by: clang Sponsored by: EMC / Isilon Storage Division
|
300866 |
27-May-2016 |
ambrisko |
If the I/O offset and length is multiple of the media size then directly pass the request otherwise use a buffer that is a multiple of the media size. This speeds up I/O quite a bit when using large transfer sizes on 4Kn disks etc.
MFC after: 1 week
|
300810 |
26-May-2016 |
jhb |
Fix unit number of EFI net interfaces and ignore psuedo network interfaces.
In r277943, the efinet_match() routine was changed to use an off by one when matching network interfaces. The effect was that using "net1" actually used the device attached to "net0".
Digging into the hardware that needed this workaround more, I found that UEFI was creating two simple network protocol devices for each physical NIC. The first device was a "raw" Ethernet device and the second device was a "IP" device that used the IP protocol on top of the underlying "raw" device. The PXE code in the firmware used the "IP" device to pull across the loader.efi, so currdev was set to "net1" when booting from the physical interface "net0". (The loaded image's device handle referenced the "IP" device that "net1" claimed.)
However, the IP device isn't suitable for doing raw packet I/O (and the current code to open devices exclusively actually turns the "IP" devices off on these systems).
To fix, change the efinet driver to only attach to "raw" devices. This is determined by fetching the DEVICE_PATH for each handle which supports the simple network protocol and examining the last node in the path. If the last node in the path is a MAC address, the device is assumed to be a "raw" device and is added as a 'netX' device. If the last node is not a MAC address, the device is ignored.
However, this causes a new problem as the device handle associated with the loaded image no longer matches any of the handles enumerated by efinet for systems that load the image via the "IP" device. To handle this case, expand the logic that resolves currdev from the loaded image in main(). First, the existing logic of looking for a handle that matches the loaded image's handle is tried. If that fails, the device path of the handle that loaded the loaded image is fetched via efi_lookup_image_devpath(). This device path is then walked from the end up to the beginning using efi_handle_lookup() to fetch the handle associated with a path. If the handle is found and is a known handle, then that is used as currdev. The effect for machines that load the image via the "IP" device is that the first lookup fails (the handle for the "IP" device isn't claimed by efinet), but walking up the image's device path finds the handle of the raw MAC device which is used as currdev.
With these fixes in place, the hack to subtract 1 from the unit can now be removed, so that setting currdev to 'net0' actually uses 'net0'.
PR: 202097 Tested by: ambrisko Sponsored by: Cisco Systems
|
300791 |
26-May-2016 |
jhb |
Use a unique error message if we fail to find the simple network protocol.
While here, fix the various net driver callbacks to return early instead of crashing if this fails. (The 'init' callback from the netif interface doesn't return an error if the protocol lookup fails.)
Sponsored by: Cisco Systems
|
300790 |
26-May-2016 |
jhb |
Apply the printf %S band-aid for efinet.c to fix the arm64 build.
|
300789 |
26-May-2016 |
jhb |
Remove second copy of the -Wno-format band-aid for printf %S.
|
300785 |
26-May-2016 |
jhb |
Use routines from the recently added devpath.c.
These efipart layer did several devpath related operations inline. This just switches it over to using shared code for working with device paths.
Sponsored by: Cisco Systems
|
300782 |
26-May-2016 |
jhb |
Output the device path description for EFI network devices.
Lookup the DEVICE_PATH for each EFI network device handle and output the string description using printf with '%S'. To honor the pager, the newline at the end of each line is still output with pager_output().
Sponsored by: Cisco Systems
|
300780 |
26-May-2016 |
jhb |
Add some routines for working with EFI DEVICE_PATH objects.
- efi_lookup_devpath() uses the DEVICE_PATH_PROTOCOL to obtain the DEVICE_PATH for a given EFI handle. - efi_lookup_image_devpath() uses the LOADED_IMAGE_DEVICE_PATH_PROTOCOL to lookup the device path of the device used to load a loaded image. - efi_devpath_name() uses the DEVICE_PATH_TO_TEXT_PROTOCOL to generate a string description of a device path. The returned string is a CHAR16 string that can be printed via the recently added '%S' format in libstand's printf(). Note that the returned string is returned in allocated storage that should be freed by calling efi_free_devpath_name(). - efi_devpath_last_node() walks a DEVICE_PATH returning a pointer to the final node in the path (not counting the terminating node). That is, it returns a pointer to the last meaninful node in a DEVICE_PATH. - efi_devpath_trim() generates a new DEVICE_PATH from an existing DEVICE_PATH. The new DEVICE_PATH does not include the last non-terminating node in the original path. If the original DEVICE_PATH only contains the terminating node, this function returns NULL. The caller is responsible for freeing the returned DEVICE_PATH via free(). - efi_devpath_handle() attempts to find a handle that corresponds to a given device path. However, if nodes at the end of the device path do not have valid handles associated with them, this function will return a handle that matches a node earlier in the device path. In particular, this function returns a handle for the node closest to the end of the device path which has a valid handle.
Sponsored by: Cisco Systems
|
300777 |
26-May-2016 |
manu |
Add support for interrupts, sensors and GPIO for AXP209 PMIC. Pressing the PEK (power enable key) will shutdown the board. Some events are reported to devd via system "PMU" and subsystem "Battery", "AC" and "USB" such as connected/disconnected. Some sensors values (power source voltage/current) are reported via sysctl (dev.axp209_pmu.X.) It also expose a gpioc node usable in kernel and userland. Only 3 of the 4 GPIO are exposed (The GPIO3 is different and mostly unused on boards). Most popular boards uses GPIO1 as a sense pin for OTG power. Add a dtsi file that adds gpio-controller capability to the device as upstream doesn't defined it and include it in our custom DTS.
Reviewed by: jmcneill Approved by: cognet (mentor) Differential Revision: https://reviews.freebsd.org/D6135
|
300634 |
25-May-2016 |
cem |
efi loader: Match format string to EFI_ERROR_CODE()
Silence a format specifier warning.
Sponsored by: EMC / Isilon Storage Division
|
300330 |
20-May-2016 |
imp |
Large improvements to efi-show (though some weird problems linger). We now print only printable characters for the values and we print ascii strings as strings.
|
300329 |
20-May-2016 |
imp |
Implement efi-set and efi-unset
|
300328 |
20-May-2016 |
imp |
Cleanup to use %S.
|
300257 |
20-May-2016 |
allanjude |
Fixup the geliboot sector rounding code
Replace all rounding with the round{up,down}2 macros a missing set of braces caused the previous code to be incorrect
replace alloca() with malloc() because alloca() can return an allocation that is actually invalid, causing boot to fail
Reviewed by: emaste, ed Thanks To: peter Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D6213
|
300230 |
19-May-2016 |
gonzo |
Fixed memory leak in FDT overlay handling code
Free both overlay and new fdt before returning after fdt_open_into error PR: 209634 Submitted by: David Binderman
|
300216 |
19-May-2016 |
imp |
Fix logic error so UEFI variables are reported correctly without error at the end.
|
300156 |
18-May-2016 |
imp |
Fix typo.
Spotted by: Matteo Riondato
|
300150 |
18-May-2016 |
pfg |
Minor spelling fixes.
|
300146 |
18-May-2016 |
imp |
Also add comment about the bug I comments in the forth.
|
300117 |
18-May-2016 |
imp |
Fix several instances where the boot loader ignored pager_output return value when it could return 1 (indicating we should stop). Fix a few instances of pager_open() / pager_close() not being called. Actually use these routines for the environment variable printing code I just committed.
|
300116 |
18-May-2016 |
imp |
Fix build breakage on arm64 by papering over the problem. We implement a slightly non-standard %S that's more useful in the UEFI environment, so ignore printf errors. There's no good cast to use. We'll need to revisit this in the future.
|
300115 |
18-May-2016 |
imp |
Explain why extra sutff always outputs even when it shouldn't for the '?' command. Wasted a bunch of time tracking it down tonight.
|
300081 |
17-May-2016 |
imp |
Implement UEFI set environment variable, as well as exporting the EFI version. This is also scriptable, though additional scripting will be needed.
Differential Review: https://reviews.freebsd.org/D4494 MFC After: 3 days
|
300080 |
17-May-2016 |
imp |
Implement uuid-to-string and uuid-from-string. uuid-from-string takes a string, interprets it as a standard UUID, and returns a binary from of the UUID. uuid-to-string does the reverse. The binary UUID is in allocated memory, so you'll need to free it with 'free' after you are done using it. It won't be automatically garbage collected. Likewise with the string...
MFC After: 3 days
|
300071 |
17-May-2016 |
jhb |
Remove the reiserfs(5) manpage and an example of loading the kernel module.
|
300056 |
17-May-2016 |
imp |
It sure would be nice to use printf with wide strings. Implement %S to do that. The C_WIDEOUT flag indicates that the console supports it. Mark the EFI console as supporting this.
MFC After: 3 days
|
300055 |
17-May-2016 |
imp |
Minor space tweak to make things consistent.
MFC After: 3 days
|
300014 |
17-May-2016 |
sgalabov |
Add proper PCIe init for MT7628/MT7688 SoCs
PCIe PHY needs different initialization on MT7628/MT7688 SoCs than it does on MT7620. However, LEDE (and OpenWRT) dts files have the PCIe node for MT7628/MT7688 as compatible with mt7620-pci. We already can handle this properly in our driver, so we just need to add compat strings to fbsd-mt7628an.dtsi and the PCIe driver.
Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D6395
|
300013 |
17-May-2016 |
sgalabov |
Import LEDE dts files for Ralink/Mediatek
This is an import of the reworked LEDE dts files. Besides other things they make it easier for us to reuse.
The only diffs left are for the following SoCs: MT7620A (fbsd-mt7620a.dtsi) MT7621 (fbsd-mt7621.dtsi) MT7628 (fbsd-mt7628an.dtsi) RT3883 (fbsd-rt3883.dtsi)
So we include the fbsd-*.dtsi files at the end of the original LEDE dtsi files, using '#include "fbsd-xxxx.dtsi"'. For example, for MT7621, the LEDE dtsi file is mt7621.dtsi. At the end of it we add: #include "fbsd-mt7621.dtsi"
Approved by: adrian (mentor) Obtained from: LEDE project Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D6394
|
299997 |
17-May-2016 |
peter |
Attempt to fix r299660: slba is used only for the GPT case. elba is used if either GPT or LOADER_GELI_SUPPORT is enabled.
|
299972 |
16-May-2016 |
pfg |
libefi: Tag an unreachable switch default.
Coverity reports an uninitialized "len" in case the switch defaults without hitting any case. Respect the original intent and quell the false positive with the relatively new __unreachable() builtin.
CID: 1347796
|
299871 |
15-May-2016 |
jmcneill |
Add Allwinner A83T thermal sensor controller support.
The A83T thermal sensor controller has three sensors. Sensor 0 corresponds to CPU cluster 0, sensor 1 to CPU cluster 1, and sensor 2 to the GPU. This driver exports the temperature sensor readings via sysctl.
Calibration data is obtained from SRAM found in the Secure ID module.
Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D6378
|
299863 |
15-May-2016 |
jmcneill |
Enable SATA power regulator at boot on Sinovoip BananaPi BPI-M3.
|
299861 |
15-May-2016 |
jmcneill |
Add gpio-leds for Sinovoip BananaPi BPI-M3.
The green LED on the board is wired to AXP813 GPIO0 and the blue LED is wired to AXP813 GPIO1.
|
299789 |
14-May-2016 |
jmcneill |
Add pmic (AXP813) child node to r_rsb for Sinovoip BananaPi BPI-M3.
|
299779 |
14-May-2016 |
jmcneill |
Add node for A83T NMI interrupt controller.
|
299748 |
14-May-2016 |
jmcneill |
Add DTS files for the Allwinner A83T SoC and the Sinovoip BananaPi BPI-M3 development board.
|
299662 |
13-May-2016 |
ngie |
Fix a -Wformat warning by using %d, not %ld for md_iterations
md_iterations is int32_t, not long.
Reported by: clang MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
299661 |
13-May-2016 |
ngie |
Add geliboot_crypt(..) definition to geliboot.h to mute a -Wimplicit-function-declaration warning
Reported by: clang MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
299660 |
13-May-2016 |
ngie |
Put slba and elba under LOADER_GELI_SUPPORT ifdef to mute warning about them being unused in the non-GELI case
MFC after: 1 week Reported by: clang Sponsored by: EMC / Isilon Storage Division
|
299659 |
13-May-2016 |
ngie |
Remove unused const variable
MFC after: 1 week Reported by: clang Sponsored by: EMC / Isilon Storage Division
|
299655 |
13-May-2016 |
ngie |
Add missing prototype for getchar(..)
MFC after: 1 week Reported by: clang Sponsored by: EMC / Isilon Storage Division
|
299499 |
12-May-2016 |
pfg |
sys/boot/common: use of spaces vs. TAB.
No functional change.
|
299098 |
05-May-2016 |
cem |
efipart: Support an arbitrary number of partitions
Don't crash if the user has more than 31 of them. A follow-up to r298230.
Reviewed by: allanjude Relnotes: maybe Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D6212
|
298949 |
03-May-2016 |
peter |
Change a rounding operation that had missing braces into a roundup2() macro. Adjust the buffer clipping code to work as expected.
This prevented a number of machines in the FreeBSD.org cluster from booting due to "ZFS: i/o error - all block copies unavailable" after an unclean shutdown.
|
298900 |
01-May-2016 |
allanjude |
bcache read ahead may attempt to read past end of disk
The new bcache code does not know the size of the disk, and therefore may attempt to read past the end of the disk while trying to fill its read-ahead cache.
This is usually not an issue, it fails gracefully on all of my machines, but some BIOSes seem to retry the reads for up to 30 seconds each, resulting in a long stall during boot
Submitted by: Toomas Soome <tsoome@me.com> Reviewed by: jhb, np Differential Revision: https://reviews.freebsd.org/D6109
|
298831 |
30-Apr-2016 |
pfg |
boot/forth: spelling fixes.
Reviewed by: dteske MFC after: 2 weeks
|
298826 |
30-Apr-2016 |
pfg |
sys/boot: spelling fixes in comments.
No functional change.
|
298821 |
29-Apr-2016 |
gonzo |
Add FDT overlays support to ubldr
FDT overlays is de-facto standard for describing expansion boards like Beaglebone capes or Raspberry Pi shields. The ides is to have basic DTB for base board and overlays DTB for shields/capes and to construct final DTB either using human-readable configuration or some self-discovery mechanism. I believe this approach can also be expanded to support dynamically loadable FPGA bitstreams on systems like Zedboard/Zybo.
Overlaying process is simmilar to executable link process for binaries: each DTB has "exported" symbols and "undefined" symbols, the latter are resolved using information for the former obtained from base DTB or one of the overlays applied earlier (more rare case).
This symbols information is not generated by standard dtc that FreeBSD has in base system, patched[1] version required to produces overlay-compatible blobs. So although DTB files generated by buildkernel do not support overlays there are enough vendor/community-provided DTB blobs ciruclating around to justify committing this change to ubldr.
This commit introduces handler for "fdt_overlays" variable that can be defined either as a loader env variable or U-Boot env variable. fdt_overlays is comma-separated list of .dtbo files located in /boot/dtb/ directory along with base .dtb. ubldr loads files and applies them one-by-one to base .dtb and then passes result blob to the kernel.
[1] https://github.com/RobertCNelson/dtc/commit/dd6a0533e846e8d5e690a618fa35cc15a6103efb
Differential Revision: https://reviews.freebsd.org/D3180
|
298674 |
26-Apr-2016 |
gonzo |
Refactor DTS files for Zynq-based SoCs
- Factor out common part to zynq-7000.dtsi - Fix problem with Zynq interrupts by using interrupt "triples" in .dtsi file to differentiate between edge-triggered and level-triggered interrupts - cgem driver now recognizes "status" property
Submitted by: Thomas Skibo <thomasskibo@yahoo.com> Differential Revision: https://reviews.freebsd.org/D6095
|
298650 |
26-Apr-2016 |
hselasky |
Build fix. Add howmany() and nitems() macros to bootloader kernel shim.
|
298647 |
26-Apr-2016 |
hselasky |
Add function needed for linking USB test application.
|
298645 |
26-Apr-2016 |
pfg |
sys/boot: make use of the howmany() macro when available.
We have a howmany() macro in the <sys/param.h> header that is convenient to re-use as it makes things easier to read.
|
298638 |
26-Apr-2016 |
br |
o Add device tree files and kernel configuration files for RISC-V cpus synthesized on FPGA hardware. o Include new files to the build.
|
298500 |
23-Apr-2016 |
sgalabov |
Reduce the FreeBSD specific DTS files for Mediatek/Ralink
The introduction of palmbus and previous work allows us to cut the differences between FreeBSD and OpenWRT DTS files a bit further.
Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D6043
|
298478 |
22-Apr-2016 |
allanjude |
Fix more pc98 build issues re: bcache change
Reported by: bz, emaste
|
298433 |
21-Apr-2016 |
pfg |
sys: use our roundup2/rounddown2() macros when param.h is available.
rounddown2 tends to produce longer lines than the original code and when the code has a high indentation level it was not really advantageous to do the replacement.
This tries to strike a balance between readability using the macros and flexibility of having the expressions, so not everything is converted.
|
298422 |
21-Apr-2016 |
jmcneill |
Replace the A20 kernel config with a generic ALLWINNER kernel config that supports A20, A31, and A31S. Adds support for the BananaPi M2 (A31S) board.
Submitted by: Emmanuel Vadot <manu@bidouilliste.com> Reviewed by: jmcneill Differential Revision: https://reviews.freebsd.org/D5580
|
298418 |
21-Apr-2016 |
allanjude |
Add more guards to disable GELIBOOT by defining LOADER_NO_GELI_SUPPORT
Reviewed by: cem Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D6049
|
298346 |
20-Apr-2016 |
sgalabov |
Include resets and clocks properties for PCI in FreeBSD RT3883 dtsi file
This change is required so that RT3662/RT3883 PCI can function correctly
Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D6028
|
298309 |
19-Apr-2016 |
pfg |
sys/boot: use our nitems() macro when it is available through param.h.
No functional change, only trivial cases are done in this sweep,
Discussed in: freebsd-current
|
298298 |
19-Apr-2016 |
allanjude |
Link bcache into userboot.so, was not added in r298230
This should help speed up bhyve boots too
Reviewed by: olivier
|
298275 |
19-Apr-2016 |
allanjude |
Fix pc98 build error introduced in r298230
Submitted by: Toomas Soome <tsoome@me.com> Spotted by: bz Differential Revision: https://reviews.freebsd.org/D6002
|
298230 |
18-Apr-2016 |
allanjude |
A new implementation of the loader block cache
The block cache implementation in loader has proven to be almost useless, and in worst case even slowing down the disk reads due to insufficient cache size and extra memory copy. Also the current cache implementation does not cache reads from CDs, or work with zfs built on top of multiple disks. Instead of an LRU, this code uses a simple hash (O(1) read from cache), and instead of a single global cache, a separate cache per block device. The cache also implements limited read-ahead to increase performance. To simplify read ahead management, the read ahead will not wrap over bcache end, so in worst case, single block physical read will be performed to fill the last block in bcache.
Booting from a virtual CD over IPMI: 0ms latency, before: 27 second, after: 7 seconds 60ms latency, before: over 12 minutes, after: under 5 minutes.
Submitted by: Toomas Soome <tsoome@me.com> Reviewed by: delphij (previous version), emaste (previous version) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D4713
|
298107 |
16-Apr-2016 |
gjb |
Merge the projects/release-pkg branch to head.
This allows packaging the base system with pkg(8), including but not limited to providing the ability to provide upstream binary update possibilities for non-tier-1 architectures.
This merge is a requirement of the 11.0-RELEASE, and as such, thank you to everyone that has tested the project branch.
Documentation in build(7) etc. is still somewhat sparse, but updates to those parts will follow.
Sponsored by: The FreeBSD Foundation
|
298096 |
16-Apr-2016 |
gjb |
Prune bogus svn:mergeinfo from directores on which it should not ever be present.
Sponsored by: The FreeBSD Foundation
|
298062 |
15-Apr-2016 |
sgalabov |
Import Mediatek/Ralink dtsi patches against OpenWRT dtsi files
This revision suggests dtsi patches to be used with the original OpenWRT dtsi files so we can re-use what has already been done in OpenWRT for the Mediatek/Ralink SoCs.
The only thing that is required after importing this revision should be the following: 1. Import OpenWRT dts/dtsi files into sys/gnu/dts/mips 2. Run the following script in sys/gnu/dts/mips: for f in `ls [mr]t*.dtsi`; do printf "\n#include <fbsd-$f>\n" > $f done
This will apply our dtsi patches to OpenWRT's dtsi files and will allow us to re-use dts/dtsi files for ~170 Mediatek/Ralink boards.
Currently our drivers are not 100% compatible with OpenWRT's dts files, but they're compatible enough. We can add more functionality in the future that would better leverage the OpenWRT work as well.
Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D5965
|
297954 |
14-Apr-2016 |
imp |
Deprecate using hints.acpi.0.rsdp to communicate the RSDP to the system. This uses the hints mechnanism. This mostly works today because when there's no static hints (the default), this value can be fetched from the hint. When there is a static hints file, the hint passed from the boot loader to the kernel is ignored, but for the BIOS case we're able to find it anyway. However, with UEFI, the fallback doesn't work, so we get a panic instead.
Switch to acpi.rsdp and use TUNABLE_ULONG_FETCH instead. Continue to generate the old values to allow for transitions. In addition, fall back to the old method if the new method isn't present.
Add comments about all this.
Differential Revision: https://reviews.freebsd.org/D5866
|
297872 |
12-Apr-2016 |
emaste |
boot1: regenerate FAT templates after r297871
Sponsored by: The FreeBSD Foundation
|
297871 |
12-Apr-2016 |
emaste |
boot1.efifat: provide a fallback startup.nsh
In case the firmware falls through to executing startup.sh, populate it with the name of our boot loader. In normal operation this should not be necessary but may allow the system to boot if it would otherwise just remain at a shell prompt.
Reviewed by: andrew, imp, smh MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5878
|
297793 |
10-Apr-2016 |
pfg |
Cleanup unnecessary semicolons from the kernel.
Found with devel/coccinelle.
|
297758 |
09-Apr-2016 |
ian |
Align the start of the text segment to an 8-byte boundary. This fixes alignment aborts in ubldr.bin for RPi that started happening with clang 3.8 (earlier clang apparently didn't generate strd instructions that trigger the alignment fault). The abort happened in ubldr.bin and not ubldr (elf version) because the elf headers are 0xf4 bytes long, and stripping them off left everything 4-byte aligned.
While here, also stop aligning the data segment to a page boundary, align it to 8 bytes instead (aligning to a page just needlessly makes the file bigger); pointed out by andrew@.
|
297702 |
08-Apr-2016 |
kib |
Use the ABI-prescribed name for SHT_X86_64_UNWIND in the loader and kernel linker, after the r297686.
Sponsored by: The FreeBSD Foundation
|
297692 |
08-Apr-2016 |
allanjude |
GELIBoot should only prompt for the GELI passphrase if the provider has the G_ELI_FLAG_GELIBOOT set
PR: 208251 Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D5870
|
297690 |
08-Apr-2016 |
sobomax |
Document vfs.root.mountfrom.
Reviewed by: imp, wblock Differential Revision: https://reviews.freebsd.org/D5332
|
297629 |
06-Apr-2016 |
allanjude |
Fix GELIBoot support for GELI sector size is > 512
Add support for 4k sector GELI encrypted partitions to the bootloader This is the default created by the installer
Because the IV is different for each sector, and the XTS tweak carries forward you can not decrypt a partial sector if the starting offset is not 0
Make boot2 and the loader read in 4k aligned chunks
Reviewed by: ed, oshogbo Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D5820
|
297627 |
06-Apr-2016 |
jmcneill |
Convert Allwinner port to extres clk/hwreset/regulator APIs.
Reviewed by: andrew, gonzo, Emmanuel Vadot <manu@bidouilliste.com> Approved by: gonzo (mentor) Differential Revision: https://reviews.freebsd.org/D5752
|
297582 |
05-Apr-2016 |
skra |
Rework BCM283x gpio interrupt controller for INTRNG. It's used on RPI-B and RPI2 where INTRNG is already enabled by default.
Differential Revision: https://reviews.freebsd.org/D5810
|
297545 |
04-Apr-2016 |
skra |
Define local-intc for BCM2836 platform (RPI2) and make BCM2835 intc a child of it. This is done in conformity with Linux dts files and as preparation for rework of BCM2836 interrupt controller for INTRNG.
Reviewed by: gonzo Differential Revision: https://reviews.freebsd.org/D5807
|
297426 |
30-Mar-2016 |
loos |
Enable SPI1 on Beaglebone Black.
SPI1 was chosen because SPI0 shares the gpio pins with I2C1.
Sponsored by: Rubicon Communications (Netgate)
|
297425 |
30-Mar-2016 |
loos |
Use the AM33XX_IOPAD() MACRO which is easier to read (uses the same offset of TRM).
While here remove i2c2_pins, it is already defined in am335x-bone-common.dtsi.
Sponsored by: Rubicon Communications (Netgate)
|
297293 |
26-Mar-2016 |
allanjude |
Do not prompt for GELI passphrase is encrypted with keys only
PR: 208251 Submitted by: Fabian Keil <fk@fabiankeil.de> Sponsored by: ScaleEngine Inc.
|
297283 |
26-Mar-2016 |
bdrewery |
Implement (ACFLAGS|CFLAGS|CXXFLAGS).SRC globally.
Sponsored by: EMC / Isilon Storage Division
|
297154 |
21-Mar-2016 |
bdrewery |
DIRDEPS_BUILD: Update dependencies.
Sponsored by: EMC / Isilon Storage Division
|
297151 |
21-Mar-2016 |
ian |
If the dhcp server provided an interface-mtu option, transcribe the value to the boot.netif.mtu env var, which will be picked up by pre-existing code in nfs_mountroot() and used to configure the interface accordingly.
This should bring the same functionality when the bootp/dhcp work is done by loader(8) as r297150 does for the in-kernel BOOTP case.
|
296963 |
16-Mar-2016 |
allanjude |
Implement GELI (AES-XTS and AES-CBC only) in gptboot and gptzfsboot
Allows booting from a GELI encrypted root file system, via UFS or ZFS
Reviewed by: gnn, smh (previous version), delphij (previous version) Relnotes: yes Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D4593
|
296936 |
16-Mar-2016 |
mmel |
Import basic support for Nvidia Jetson TK1 board and tegra124 SoC. The following pheripherals are supported: UART, MMC, AHCI, EHCI, PCIe, I2C, PMIC, GPIO, CPU temperature and clock.
Note: The PCIe driver is pure mash at this moment. It will be reworked immediately when both D5237 and D2579 enter the current tree.
|
296892 |
15-Mar-2016 |
imp |
ms_abi is supported with gcc 4.5 or newer, so build it with gcc if it is 4.5 or newer.
|
296825 |
14-Mar-2016 |
wma |
Make MPIC compatible with ARM_INTRNG
After ARM_INTRNG introduction, MPIC code needed several modifications: - IRQ resource and its handler added - several DEVMETHODs of INTRNG interface implemented - defines enhanced to ensure code compiles as well for AXP as for A38X - added dummy MSI_IRQ, ERR_IRQ defines for Armada38x - MPIC driver was added to files.armada38x, ARM_INTRNG option enabled in kernconf file and regs of MPIC corrected in dts file.
Instead of modifying Armada38X DTS, offsets to CPU registers defined in driver were changed. That required restoring 'reg' property of mpic node in ArmadaXP to state compliant with Linux DTS.
Additionally, required ARM_INTRNG definitions were added to mv_common.c.
Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Reviewed by: adrian, andrew, ian, skra Approved by: cognet (mentor) Differential Revision: https://reviews.freebsd.org/D5030
|
296790 |
13-Mar-2016 |
jmcneill |
Add HDMI device nodes to Banana Pi dts.
PR: 207912 Approved by: gonzo (mentor)
|
296769 |
12-Mar-2016 |
emaste |
boot/efi: Prefer nm to objdump
Both objdump and nm are equally capable of reporting undefined symbols.
This gets us a step closer to building without binutils as we have an nm implementation from ELF Tool Chain.
Reviewed by: bdrewery MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5613
|
296713 |
12-Mar-2016 |
andrew |
Print the correct size of loader.efi when failing to load it into memory.
Obtained from: AsiaBSDCon Sponsored by: ABT Systems Ltd
|
296706 |
11-Mar-2016 |
bdrewery |
Add more .NOMETA missed in r291320
Sponsored by: EMC / Isilon Storage Division
|
296705 |
11-Mar-2016 |
bdrewery |
Revert r269030. CLEANFILES is already added to .NOPATH since r241298.
Sponsored by: EMC / Isilon Storage Division
|
296564 |
09-Mar-2016 |
sgalabov |
Improve U-Boot API detection
Until now, ubldr has been trying to locate the U-Boot API using a hint address (U-Boot's current stack pointer), aligning it to 1MiB and going over a 3MiB (or 1MiB in case of MIPS) memory region searching for a valid API signature.
This change introduces an alternative way of doing this, namely the following: - both U-Boot's bootelf and go commands actually pass argc and argv to the entry point (e.g., ubldr's start function, but they should also be passed over to main() transparently) - so, instead of trying to go and look for a valid API signature, we look at the parameters passed to main() - if there's an option '-a' with argument, which is a valid hexadecimal unsigned long number (x), we try to verify whether we have a valid API signature at address x. If so - we use it. If not - we fallback to the original way of locating the API signature.
The U-Boot change, which causes the API structure address to be exported as an environment variable, was committed to mainline U-Boot as commit 22aa61f707574dd569296f521fcfc46a05f51c48
Reviewed by: andrew, adrian Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D5492
|
296517 |
08-Mar-2016 |
emaste |
boot1.efi: use += to append to LDFLAGS
This is for consistency with loader.efi's Makefile and simplifies some out-of-tree experimentation.
|
296428 |
06-Mar-2016 |
dim |
Since kernel modules can now contain sections of type SHT_AMD64_UNWIND, the boot loader should not skip over these anymore while loading images. Otherwise the kernel can still panic when it doesn't find the .eh_frame section belonging to the .rela.eh_frame section.
Unfortunately this will require installing boot loaders from sys/boot before attempting to boot with a new kernel.
Reviewed by: kib MFC after: 2 weeks X-MFC-With: r296419
|
296417 |
05-Mar-2016 |
dim |
Upgrade our copies of clang, llvm, lldb and compiler-rt to 3.8.0 release.
Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11 support to build; see UPDATING for more information.
Release notes for llvm and clang will soon be available here: <http://llvm.org/releases/3.8.0/docs/ReleaseNotes.html> <http://llvm.org/releases/3.8.0/tools/clang/docs/ReleaseNotes.html>
Thanks to Ed Maste, Roman Divacky, Davide Italiano and Antoine Brodin for their help.
Relnotes: yes
|
296378 |
04-Mar-2016 |
sgalabov |
Fix ubldr build failure on mipsn32 and mipsn32el targets.
Approved by: adrian (mentor)
|
296216 |
29-Feb-2016 |
emaste |
userboot: use MK_CTF=no to disable CTF
The NO_ form (e.g. NO_CTF) is deprecated.
|
296186 |
29-Feb-2016 |
sgalabov |
Fix build failure introduced by r296182
Approved by: adrian (mentor)
|
296183 |
29-Feb-2016 |
sgalabov |
This review aims at introducing ubldr (loader with U-Boot interface) for MIPS (32 and 64-bit, LE and BE). The changes were tested with QEMU's 'mips' target.
Most of the implementation was lifted from the ARM version, the appropriate MIPS-specific things were implemented.
With these changes I am able to go all the way through the u-boot->ubldr->kernel boot chain in QEMU on all combinations of bit-ness and endian-ness.
For the tests I've used FAT32 disk images (as FAT32 is supported by U-boot), which include /boot/kernel/kernel and /boot/kernel/ubldr.bin
In U-boot I do: fatload ide 0 <LOAD_ADDR> /boot/kernel/ubldr.bin; go <LOAD_ADDR> where LOAD_ADDR is 80800000 for 32-bit and ffffffff80800000 for 64-bit
Then it's the usual ubldr that takes over and loads and starts a kernel.
Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D5313
|
296182 |
29-Feb-2016 |
sgalabov |
These changes attempt to put things in order before the introduction of MIPS ubldr.
The changes are mostly dealing with removing unnecessary casts from the U-Boot API (we're passing only pointers, no obvious reason to cast them to uint32_t), cleaning up some compiler warnings and using the proper printf format specifiers in order to be able to compile cleanly for both 32-bit and 64-bit MIPS targets.
Reviewed by: imp Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D5312
|
296099 |
26-Feb-2016 |
marcel |
Add vm_set_register() and vm_set_desc() callbacks. These callbacks translate directly into calls to their namesake API functions in libvmmapi.
It is an improvement over the existing setreg(), setmsr(), setcr() setgdt() and exec() callbacks in that the new additions give full control and don't assume we're booting FreeBSD, like exec() and don't assume one only wants to set the value of RSP, like setreg().
|
296097 |
26-Feb-2016 |
marcel |
Check that the userboot version is at least 3, rather than 3 exactly. The structure may be of a newer version and as long as it is backward compatible with 3, we can work with it.
While here: whitespace nits.
|
296080 |
26-Feb-2016 |
sgalabov |
So far bsd.stand.mk wasn't included in the following files: sys/boot/fdt/Makefile sys/boot/uboot/fdt/Makefile sys/boot/uboot/lib/Makefile
This causes compilation issues on MIPS due to trying to link PIC with non-PIC code. This revision includes bsd.stand.mk in the above files.
Reviewed by: imp Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D5311
|
296079 |
26-Feb-2016 |
sgalabov |
Currently BERI's loader is including the 32-bit version of the FICL MIPS sysdep.h (sys/boot/ficl/mips/sysdep.h) instead of the 64-bit version (sys/boot/ficl/mips64/sysdep.h).
Although this may not be an issue in practice, it would be more correct if the 64-bit version was used. Also, using the 64-bit version would make it easier to add support for 64-bit ubldr on MIPS.
Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D5310
|
296064 |
25-Feb-2016 |
jmcneill |
Add Allwinner A20 HDMI support.
The HDMI driver will attach a framebuffer device when a display is connected. If the EDID can be read and contains a preferred mode, it will be used. Otherwise the framebuffer will default to 800x600.
In addition, if the EDID contains a CEA-861 extension block and the "basic audio" flag is set, audio playback at 48kHz 16-bit stereo is enabled on the controller.
Reviewed by: andrew Approved by: gonzo (mentor) Differential Revision: https://reviews.freebsd.org/D5383
|
295989 |
24-Feb-2016 |
bdrewery |
DIRDEPS_BUILD: Regenerate without local dependencies.
These are no longer needed after the recent 'beforebuild: depend' changes and hooking DIRDEPS_BUILD into a subset of FAST_DEPEND which supports skipping 'make depend'.
Sponsored by: EMC / Isilon Storage Division
|
295972 |
24-Feb-2016 |
br |
Add support for symmetric multiprocessing (SMP).
Tested on Spike simulator with 2 and 16 cores (tlb enabled), so set MAXCPU to 16 at this time.
This uses FDT data to get information about CPUs (code based on arm64 mp_machdep).
Invalidate entire TLB cache as it is the only way yet.
Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
295945 |
24-Feb-2016 |
sobomax |
Obsolete mkulzma(8) and geom_uncompress(4), their functionality is now provided by mkuzip(8) and geom_uzip(4) respectively.
MFC after: 1 month
|
295921 |
23-Feb-2016 |
br |
o Grab physical memory regions information from the device tree. o Increase memory size.
|
295895 |
22-Feb-2016 |
ian |
If the user has set a u-boot env var named rootpath, automatically import it into the loader(8) env as dhcp.root-path, so that it overrides any dhcp/bootp server-provided path.
Now if you have a dhcp server available you can easily net-boot a u-boot system even if you don't control the dhcp server config, by setting just two variables in the u-boot env:
loaderdev=net rootpath=<nfsserverip>:<pathname>
Previously you had to either accept all the dhcp parameters from the server without the ability to locally provide the rootpath, or you had to forego dhcp and set more vars (ipaddr, netmask, serverip, rootpath).
|
295869 |
21-Feb-2016 |
andrew |
Make efi_time and EFI_GetTimeOfDay static, neither are used by other parts of the efi code.
Sponsored by: ABT Systems Ltd
|
295842 |
20-Feb-2016 |
andrew |
Add a missing call to dev_cleanup from the arm64 loader.efi.
Sponsored by: ABT Systems Ltd
|
295757 |
18-Feb-2016 |
emaste |
Remove dd xfer stats emitted during buildworld
They result in gratuitous differences when comparing build log output.
|
295711 |
17-Feb-2016 |
andrew |
Move the Allwinner kernels to use fdt_pinctrl. This will read the pin configuration from the FDT data, then set the pins into the requested state. As part of this the gpio controller now reports the correct number of pins instead of returning the number of bank * 32.
To allow for a future consolidated kernel we add the SOC_ALLWINNER_A10 and SOC_ALLWINNER_A20 kernel options. These need to be set as appropriate for the SoC the kernel will boot on.
Submitted by: Emmanuel Vadot <manu@bidouilliste.com> Differential Revision: https://reviews.freebsd.org/D5177
|
295657 |
16-Feb-2016 |
andrew |
Add an analog audio driver for the audio codec found on the Allwinner A10/A20 SoC. Based loosely on the submitters NetBSD driver, tested on Cubieboard 2. Playback and capture are supported.
Submitted by: Jared McNeill <jmcneill@invisible.ca> Differential Revision: https://reviews.freebsd.org/D5202
|
295655 |
16-Feb-2016 |
skra |
Temporary overwrite bad definition of elm interrupt property in Linux dts files. It may be removed once it will be fixed upstream.
This is done just to supresses a warning during dtb evaluation as there is no elm driver in tree at present.
|
295650 |
16-Feb-2016 |
bdrewery |
DIRDEPS_BUILD: Update dependencies.
Sponsored by: EMC / Isilon Storage Division
|
295635 |
15-Feb-2016 |
andrew |
Add support for the Allwinner DMA controller. This will be used by the at least the audio codec driver currently in review.
Submitted by: Jared McNeill <jmcneill@invisible.ca> Differential Revision: https://reviews.freebsd.org/D5050
|
295521 |
11-Feb-2016 |
br |
o Move non-generic kernel configuration out from GENERIC. o Add kernel configuration for QEMU.
Both SPIKE and QEMU kernel configs are temporary (until we will be able to obtain DTB from loader).
Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
295464 |
10-Feb-2016 |
andrew |
Update of the Allwinner drivers to: * Use the Linux compat string * Use EARLY_DRIVER_MODULE to attach at the right time * Add a generic A10 kernel config file * A20 now use generic_timer * Add two new dts files for Olimex boards * Update our custom DTS file for A10 and A20 to use the same compatible property names as the vendor ones.
Submitted by: Emmanuel Vadot <manu@bidouilliste.com> Differential Revision: https://reviews.freebsd.org/D4792
|
295429 |
09-Feb-2016 |
andrew |
Don't set the offset when loading the kernel on the arm loader.efi. The copyin and copyout code handle virtual addresses such that they will take a virtual address and convert it into a valid physical address. It may also mean we fail to boot as the elf files load address could be 0.
Sponsored by: ABT Systems Ltd
|
295421 |
09-Feb-2016 |
andrew |
Stop clang from generating movt/movw sequences. These don't get relocated so will access data from an unrelocated address. This is only needed for self relocating code on ARMv7, however this is true for both ubldr and loader.efi, the only two loaders we support on ARMv7.
While here also force the fpu to be none as is done in libstand.
Sponsored by: ABT Systems Ltd
|
295420 |
09-Feb-2016 |
andrew |
Ensure the bss is aligned to a 4-byte address as we use 4-byte aligned stores to clear it.
While here reduce the alignment of the data from 4k to 16 byte aligned. This should be more than enough, without wasting too much space.
Sponsored by: ABT Systems Ltd
|
295410 |
08-Feb-2016 |
pfg |
ficl: Replace rand(3) with random(3).
Be a little more consistent with random(3) and push an unsigned value.
Again, this has no effect as this code doesn't get compiled for the boot code.
|
295409 |
08-Feb-2016 |
pfg |
ficl: Replace rand(3) with random(3).
While the later is a better random generator than the former, the main reason of the change is that random() has a better chance to work with libstand(3).
At this time we don't include random number generators in bootforth so this has no effect.
|
295408 |
08-Feb-2016 |
imp |
Implement -P for boot loader. It's a bit easier to implement here than in boot1, like is normally done. When a keyboard appears in the UEFI device tree, assume -D -h, just like on a BIOS boot.
# It is unclear if an ACPI keyboard appearing in the tree means there's # a real keyboard or not. A USB keyboard doesn't seem to appear unless # it is really there.
Differential Revision: https://reviews.freebsd.org/D5223
|
295398 |
08-Feb-2016 |
emaste |
Restore kgzldr on i386 only
I previously disconnected kgzdr based on a misunderstanding.
I'd still like to transition to supporting only the loader(8)-based boot path for handling compressed kernels, but that can follow the standard deprecation procedure.
This reverts r291113.
Requested by: dteske
|
295357 |
07-Feb-2016 |
allanjude |
Do not set vfs.root.mountfrom unnecessarily
This causes boot from external media (installer USB image) to mount / from the default ZFS BE, rather than the USB device.
Reported by: kmoore MFC after: 5 days Sponsored by: ScaleEngine Inc.
|
295356 |
06-Feb-2016 |
smh |
Fix EFI platform build failures
With warnings now enabled some plaforms where failing due to warnings. * Fix st_size printed as a size_t when its actually an off_t. * Fix pointer conversion in load_elf for some 32bit platforms due to 64bit off in ef.
MFC after: 2 days X-MFC-With: Sponsored by: Multiplay
|
295320 |
05-Feb-2016 |
smh |
Fix EFI multi device boot support
Fix EFI boot support when presented with multiple valid boot partitions across multiple devices.
It now prefers to boot from partitions that are present on the underlying device that the boot1 image was loaded from. This means that it will boot from the partitions on device the user chose from EFI boot menu in preference to those on other devices.
Also fixed is the recovery from a failed attempt to boot, from a seemingly valid partition, by continuing to trying all other available partitions no matter what the error.
boot1 now use * to signify a partition what was accepted from the preferred device and + otherwise.
Finally some error messages where improved and DPRINTF's with slowed boot to aid debugging.
ZFS will still be preferred over UFS when both are available on the boot device.
Reviewed by: imp MFC after: 1 week Sponsored by: Multiplay Differential Revision: https://reviews.freebsd.org/D5108
|
295210 |
03-Feb-2016 |
andrew |
Still open the network interface when EFI_OPEN_PROTOCOL_EXCLUSIVE failed. Not all UEFI implementations support this protocol.
|
295144 |
02-Feb-2016 |
andrew |
Add suppor to loader.efi to load files off hte network. For this we need to open the device in exclusive mode as, without this, the firmware may also be reading packets off the interface leading to a race.
Reviewed by: emaste Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D4132
|
295041 |
29-Jan-2016 |
br |
Welcome the RISC-V 64-bit kernel.
This is the final step required allowing to compile and to run RISC-V kernel and userland from HEAD.
RISC-V is a completely open ISA that is freely available to academia and industry.
Thanks to all the people involved! Special thanks to Andrew Turner, David Chisnall, Ed Maste, Konstantin Belousov, John Baldwin and Arun Thomas for their help. Thanks to Robert Watson for organizing this project.
This project sponsored by UK Higher Education Innovation Fund (HEIF5) and DARPA CTSRD project at the University of Cambridge Computer Laboratory.
FreeBSD/RISC-V project home: https://wiki.freebsd.org/riscv
Reviewed by: andrew, emaste, kib Relnotes: Yes Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D4982
|
294926 |
27-Jan-2016 |
allanjude |
ficl on i386 should cast to unsigned char output to support efi i386
make it possible for efi_console to recognize and translate box characters on i386 build (unsigned versus signed char passed as int issue).
Submitted by: Toomas Soome <tsoome at me.com> Reviewed by: emaste, smh, dteske MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D4993
|
294925 |
27-Jan-2016 |
imp |
Fix mistake when transitioning to the new defines with ZFS loader. I hate adding yet another define, but it is the lessor of the evil choices available. Kill another evil by removing PATH_BOOT3 and replacing it with PATH_LOADER or PATH_LOADER_ZFS as appropriate.
PR: 206659
|
294847 |
26-Jan-2016 |
imp |
Remove static from these two. They slipped through the cracks.
MFC After: 1 week
|
294769 |
26-Jan-2016 |
imp |
Allow new lines as white space for arguments that are parsed to allow boot1 to pass in files with newlines in them. Now that the EFI loader groks foo=bar on the command line, this can allow a more general setup than traditional boot loader args will allow.
Differential Revision: https://reviews.freebsd.org/D5038
|
294768 |
26-Jan-2016 |
imp |
Read in /boot/config and /boot.config, like all the other boot loaders and pass it along to /boot/loader.efi.
Differential Revision: https://reviews.freebsd.org/D5038
|
294767 |
26-Jan-2016 |
imp |
Parse the command line arguments, and do it before we initialize the console so it can be changed by the command line arguments.
Differential Revision: https://reviews.freebsd.org/D5038
|
294766 |
26-Jan-2016 |
imp |
RBX_ defines are in rbx.h, move it there.
Differential Revision: https://reviews.freebsd.org/D5038
|
294765 |
26-Jan-2016 |
imp |
Move all the separate copies of the same strings into paths.h. There's nothing machine specific about these.
Differential Revision: https://reviews.freebsd.org/D5038
|
294608 |
22-Jan-2016 |
emaste |
Use MAN= to specify that no man page is provided
NO_MAN is deprecated.
Reviewed by: imp
|
294547 |
22-Jan-2016 |
wma |
Provide busdma stubs for loader/kshim
Simple bus space stubs require the VA-PA mapping to be identical.
Approved by: hselasky, cognet (mentor) Differential revision: https://reviews.freebsd.org/D4314
|
294546 |
22-Jan-2016 |
wma |
Fix compilation errors in usb/kshim
Remove old header from the include list and declare extern symbol for delay() function.
Approved by: hselasky, cognet (mentor) Differential revision: https://reviews.freebsd.org/D5012
|
294506 |
21-Jan-2016 |
smh |
Prevent loader.conf load failure due to unknown console entries
When processing loader.conf if console contained an entry for an unsupported console then cons_set would return an error refusing to set any console.
This has two side effects:
1. Forth would throw a syntax error and stop processing loader.conf at that point. 2. The value of console is ignored.
#1 Means other important loader.conf entries may not be processed, which is clearly undesirable. #2 Means the users preference for console aren't applied even if they did contain valid options. Now we have support for multi boot paths from a single image e.g. bios and efi mode the console preference needs to deal with the need to set preference for more than one source.
Fix this by: * Returning CMD_OK where possible from cons_set. * Allowing set with at least one valid console to proceed.
Reviewed by: allanjude MFC after: 1 week Sponsored by: Multiplay Differential Revision: https://reviews.freebsd.org/D5018
|
294493 |
21-Jan-2016 |
smh |
Fix EFI UFS caching
EFI was mixing caching in two separate places causing issues when multiple partitions where tested.
Eliminate this by removing fsstat and re-factoring fsread into fsread_size, adding basic parameter validation.
Also: * Enhance some error print outs. * Fix compilation under UFS1_ONLY and UFS2_ONLY * Use sizeof on vars instead of structs. * Add basic parameter validation to fsread_size.
MFC after: 1 week X-MFC-With: r293268 Sponsored by: Multiplay Differential Revision: https://reviews.freebsd.org/D4989
|
294451 |
20-Jan-2016 |
emaste |
Increase BERI boot components section alignment to 16
The .text, .bss, and .data sections claimed 16-byte alignment, but were only aligned to 8 by the linker script.
Discovered with elfcopy(1) from elftoolchain, which performs validation absent from the binutils strip(1). ELF tool chain ticket #512.
Reported by: brooks Reviewed by: brooks Sponsored by: DARPA, AFRL
|
294432 |
20-Jan-2016 |
zbb |
Change DTS entry of PCIe controller for Armada38x
Invalid (in FreeBSD) definition of PCI controller was replaced with another one, working in FreeBSD environment.
PCI controller's entry had to move from its parent node so as to be recognized properly by FBSD.
PCI was enabled in kernel configuration file.
Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4379
|
294424 |
20-Jan-2016 |
zbb |
Fix busy-detect when using DesignWare UART
uart_dev_ns8250 now relies on compatible property instead of additional 'busy-detect' cell. All drivers with compatible = "snps,dw-apb-uart" have busy detection turned on. DTS files of devices affected by the change were modified and 'busy-detect' property was removed.
Reviewed by: andrew, ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4218
|
294420 |
20-Jan-2016 |
zbb |
Add global mpcore timer node to Armada 38x DTS
Changes: - global mpcore timer dts node added - required by driver 'clock-frequency' property added
Reviewed by: ian Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Bartosz Szczepanek <bsz@semihalf.com> Differential revision: https://reviews.freebsd.org/D4213
|
294418 |
20-Jan-2016 |
zbb |
Correct ranges in Armada38x dts
Ranges property of 'soc' node used two-cell addresses which resulted in casting errors as simplebus resource allocation works with 32-bit u_long variables. FDT ranges were simplified.
Reviewed by: imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Michal Stanek <mst@semihalf.com> Differential revision: https://reviews.freebsd.org/D4212
|
294416 |
20-Jan-2016 |
zbb |
Introduce initial support for Marvell Armada38x
This commit introduces initial support for Marvell Armada38x platform. Changes: - Add common DTS files for Armada38x SoCs and DTS file for A388-GP - Add ARMADA38X kernel configuration - Add option SOC_MV_ARMADA38X and set MV_PCI_PORTS - Add list of files to compile - Implement get_tclk(), get_sar_value(), cpu_reset() functions - Add CPU ID and SoC numbers - Correct ifdefs in arm/mv/timer.c
Reviewed by: ian, imp Obtained from: Semihalf Sponsored by: Stormshield Submitted by: Michal Stanek <mst@semihalf.com> Differential revision: https://reviews.freebsd.org/D4210
|
294291 |
18-Jan-2016 |
andrew |
Reset the filesystem cache before reading from a potentially new filesystem. Without this we only read from the first UFS filesystem we find, caching the result.
X-MFC with: The recent boot1.efi changes
|
294284 |
18-Jan-2016 |
emaste |
boot1: correct typo in error message
|
294265 |
18-Jan-2016 |
smh |
Fix EFI_DEBUG option
Fix broken DPRINTF and wire up EFI_DEBUG so -DEFI_DEBUG to make works.
MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
294073 |
15-Jan-2016 |
allanjude |
Connect the ZFS boot environment menu to the UEFI loader
MFC after: 3 days Sponsored by: ScaleEngine Inc.
|
294072 |
15-Jan-2016 |
allanjude |
Move init_zfs_bootenv to sys/boot/zfs/zfs.c instead of having a copy in each loader
While here, add a filter to ignore special datasets
MFC after: 3 days Sponsored by: ScaleEngine Inc.
|
294068 |
15-Jan-2016 |
smh |
Add EFI ZFS boot support
This builds on the modular EFI loader support added r294060 adding a module to provide ZFS boot support on EFI systems.
It should be noted that EFI uses a fixed size memory block for all allocations performed by the loader so it may be necessary to tune this size.
For example when building an image which uses mfs_root e.g. mfsbsd, adding the following to /etc/make.conf would be needed to prevent EFI from running out of memory when loading the mfs_root image. EFI_STAGING_SIZE=128
Submitted by: Eric McCorkle MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
294060 |
15-Jan-2016 |
smh |
Modularise EFI boot loader
Make EFI boot loader modular in preparation for adding ZFS support.
This is a partial commit of the D4515.
Submitted by: Eric McCorkle Reviewed by: emaste (in part) MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay Differential Revision: https://reviews.freebsd.org/D4515
|
294059 |
15-Jan-2016 |
smh |
Ensure boot fsread correctly probes all partitions
The boot code fsread was caching the result of meta data request and reusing it even for calls with inode = 0, which is used to partitions trigger a probe.
The result was that success was incorrectly returned for all partition probes after the first valid success, even for partitions which are not UFS.
MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
294058 |
15-Jan-2016 |
smh |
Make common boot file_loadraw name parameter const
Fix compiler warnings about dropping const qualifier by changing file_loadraw name param to const, and updating method to make that the case (it was abusing the variable).
MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
294047 |
14-Jan-2016 |
jmallett |
Make it possible to specify the path to userboot.so with the -b flag.
Reviewed by: neel
|
294041 |
14-Jan-2016 |
smh |
Remove unused reg param from fdt_fixup_memory
MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
294040 |
14-Jan-2016 |
smh |
Prevent bogus compiler in ZFS boot code
Silence a bogus compiler warning about indexing past the end of dn_bonus.
The ZFS code ensures this is not possible but the compiler can't determine this so added an additional check to prevent this warning.
Sponsored by: Multiplay
|
294029 |
14-Jan-2016 |
smh |
Only build EFI components on supported compilers
As the in-tree GCC does not support __attribute__((ms_abi)) EFI can only be built with Clang.
The EFI loader and boot1 validated this, but unused libefi was still built causing issues under GCC after warnings where enabled by r293724.
Disable building all of EFI when the selected compiler is GCC.
MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
294028 |
14-Jan-2016 |
smh |
Revert r293903
Revert r293903 as EFI shouldn't be built on this platform that the this was reported on.
Sponsored by: Multiplay
|
293903 |
14-Jan-2016 |
smh |
Fix GCC warnings causing build failure after r293724
Disable some compiler warnings for GCC (non-standard compiler) fixing build failures introduced by r293724, which enabled WARNS in the EFI boot code, when compiling with none standard compiler (GCC).
Raised by: ian MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
293835 |
13-Jan-2016 |
smh |
Improve non-interactive forth cmd error reporting
Non-interactive forth command errors where silent even for critical issues e.g. failing to load a required kernel module or mfs_root.
This resulted in later unexplained and hard to trace errors such as mount root failures.
This introduces additional command return codes that are treated appropriately by the non-interactive command processor (bf_command). * CMD_CRIT = print error * CMD_FATAL = panic
Also fix minor style(9) issues with command_load return codes.
MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
293796 |
13-Jan-2016 |
smh |
Fix typo in libefi.c
Fix a typo in libefl.c (removal or L) introduced by r293724
MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
293792 |
13-Jan-2016 |
ian |
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.
The uintfptr_t type is apparently a freebsd invention, and exists only when compiling the kernel. It's a little hard to say for sure, since it doesn't seem to be documented anywhere except in email advice to unsuspecting and overly-trusting souls, who then get to wear the pointy hat for blindly following advice without investigating or testing it first.
|
293775 |
12-Jan-2016 |
ian |
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.
I had no idea there was such a thing as uintfptr_t.
Requested by: bde
|
293724 |
12-Jan-2016 |
smh |
Enable warnings in EFI boot code
Set WARNS if not set for EFI boot code and fix the issues highlighted by setting it.
Most components are set to WARNS level 6 with few being left at lower levels due to the amount of changes needed to fix at higher levels.
Error types fixed: * Missing / invalid casts * Missing inner structs * Unused vars * Missing static for internal only funcs * Missing prototypes * Alignment changes * Use of uninitialised vars * Unknown pragma (intrinsic) * Missing types etc due to missing includes * printf formatting types
Reviewed by: emaste (in part) MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay Differential Revision: https://reviews.freebsd.org/D4839
|
293661 |
11-Jan-2016 |
allanjude |
DIOCGSECTORSIZE expects to write to a u_int, but struct zfs_probe_args member secsz was a uint16_t
sys/boot/zfs/zfs.c has a probe args structure member, secsz, that is a uint16_t for media sector size; it is used as an argument for ioctl() at line 484. however, this ioctl writes 32 bits of data (u_int *) and therefore this ioctl will overwrite and corrupt 16 bits of memory. other use cases seem to use correct u_int type for secsz.
PR: 204358 Submitted by: Toomas Soome <tsoome at me.com> Reviewed by: asomers, delphij, smh MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D4811
|
293612 |
09-Jan-2016 |
allanjude |
Return call to init_zfs_bootenv to its previous location
When called to early, new_currdev->d_type was not yet set zfs_fmtdev() would then return null
While here, guard call to init_zfs_bootenv with if d_type == DEVT_ZFS
Reported by: tsoome at me.com MFC after: 3 days Sponsored by: ScaleEngine Inc.
|
293461 |
09-Jan-2016 |
smh |
Remove hidden "Not ufs" printfs from boot code
Remove the printf("Not ufs\n") from the boot code which was hidden by the local printf implementations, allowing these to have that code removed too.
MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
293460 |
09-Jan-2016 |
smh |
Switch EFT boot1 to use libstand
ARM and i386 already required libstand so switch to using it for all patforms, allowing the removal of custom print and memory methods.
This is also a pre-cursor to enabling WARNS which highlighted a number of issues with the removed methods.
MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
293454 |
09-Jan-2016 |
allanjude |
Only call init_zfs_bootenv() when the system was booted with ZFS
Add a few other safeguards to ensure things do not break when the boot device cannot be determined
Reported by: flo MFC after: 3 days Sponsored by: ScaleEngine Inc.
|
293451 |
09-Jan-2016 |
bdrewery |
Update dependencies.
Sponsored by: EMC / Isilon Storage Division
|
293435 |
08-Jan-2016 |
emaste |
Reduce libstand Makefile duplication
Userboot's copy of the libstand Makefile had more extensive changes compared to the one in sys/boot/libstand32, but it turns out these are not intentional and we can just include lib/libstand/Makefile as done for libstand32 in r293040.
Reviewed by: imp, jhb Tested by: allanjude MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D4793
|
293429 |
08-Jan-2016 |
emaste |
Avoid unintended $FreeBSD$ expansion in generate-fat.sh
|
293425 |
08-Jan-2016 |
emaste |
Add safety belt for boot1.efi file size
Reviewed by: smh Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D4833
|
293422 |
08-Jan-2016 |
smh |
Update generated efi boot image templates
r279533 increased the boot1 size from 64k to 128k but didn't regenerate the fat templates, hence the change was never activated.
With recent and upcoming changes the efi boot1 binary is now > 64k.
To avoid fat corruption in the created boot images regenerate the templates to activate the boot1 size increase.
MFC after: 2 weeks X-MFC-With: r293268
|
293414 |
08-Jan-2016 |
allanjude |
Add support for ZFS Boot Environments to userboot (for bhyve and others)
While here, also fix a possible null pointer
Reported by: lattera MFC after: 3 days Sponsored by: ScaleEngine Inc.
|
293345 |
07-Jan-2016 |
bdrewery |
DIRDEPS_BUILD: Update dependencies.
Sponsored by: EMC / Isilon Storage Division
|
293341 |
07-Jan-2016 |
bdrewery |
Don't install /usr/include/stand.h twice after r293040.
Only install it from lib/libstand.
Sponsored by: EMC / Isilon Storage Division
|
293274 |
06-Jan-2016 |
smh |
style(9) fixes for EFI boot
Fix some style(9) nits for EFI boot code, no functional changes.
MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
293269 |
06-Jan-2016 |
smh |
Fix return from zfs_probe_dev
Ensure zfs_probe_dev returns the correct value.
Also fix a style(9) trailing whitespace issue while here.
MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay
|
293268 |
06-Jan-2016 |
smh |
Fix _MSC_EXTENSIONS checks
Use #ifdef instead of #if checks to prevent warnings generated by checks to be enabled shortly.
MFC after: 2 weeks Sponsored by: Multiplay
|
293245 |
06-Jan-2016 |
emaste |
loader.efi style(9) cleanup
Submitted by: smh
|
293244 |
06-Jan-2016 |
emaste |
Introduce and use new EFI_ERROR_CODE macro for EFI errors
Submitted by: smh MFC after: 1 week
|
293234 |
06-Jan-2016 |
emaste |
Enable the beastie menu for the UEFI console
As of r293233 the UEFI console includes basic terminal emulator support.
MFC after: 2 weeks Relnotes: Yes
|
293233 |
06-Jan-2016 |
emaste |
loader.efi: add terminal emulation support
This is based on the vidconsole implementation.
Submitted by: Toomas Soome <tsoome@me.com> Reviewed by: adrian MFC after: 2 weeks Relnotes: Yes Differential Revision: https://reviews.freebsd.org/D4797
|
293165 |
04-Jan-2016 |
emaste |
loader.efi: support non-contiguous console modes
Submitted by: Toomas Soome <tsoome@me.com> MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D4760
|
293064 |
02-Jan-2016 |
ian |
Cast pointer through uintptr_t on the way to uint64_t to squelch a warning.
|
293053 |
02-Jan-2016 |
ian |
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.
This is a fix for one of the two problems mentioned in the PR. Something similar will need to be done on the kernel side before the PR is closed.
PR: 201614
|
293046 |
02-Jan-2016 |
ian |
Revert accidental change that snuck into r293045.
|
293045 |
02-Jan-2016 |
ian |
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.
|
293040 |
01-Jan-2016 |
emaste |
Reduce libstand Makefile duplication
libstand is built in three places (lib/libstand, sys/boot/libstand32, and sys/boot/userboot/libstand). Reduce Makefile duplication by .including libstand/Makefile from sys/boot/libstand32/Makefile.
sys/boot/userboot/libstand/Makefile will be addressed later, as it contains additional differences yet to be handled.
This change also switches libstand32 to use the new uuid_from_string and uuid_to_string, which was not included in r292473.
Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D4747
|
293001 |
31-Dec-2015 |
allanjude |
Introduce the ZFS Boot Environments menu to the loader menu
If the system was booted with ZFS, a new menu item (#7) appears It contains an autogenerated list of ZFS Boot Environments
This allows the user to switch to an alternate root file system Use Cases: - Revert a failed upgrade - Concurrently run different versions of FreeBSD with common home directory - Easier integration with the sysadmin/beadm utility
Requested by: many Reviewed by: dteske MFC after: 10 days Relnotes: yes Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D3167
|
293000 |
31-Dec-2015 |
dteske |
Remove supposition comment that code would better live elsewhere. Thinking this through, and looking at process_assignment, I believe moving the code would be wrong considering that set_conf_files is called in one condition while set_nextboot_conf is guarded by a different condition of having nextboot_enable="YES". So these must stay separated and not combined.
MFC after: 1 week
|
292999 |
31-Dec-2015 |
dteske |
Fix a memory leak. nextboot_conf_file is not volatile, as far as I can tell, and thus the strdup is entirely unnecessary.
Thanks to: Toomas Soome (tsoome at-me dot-com) MFC after: 1 week
|
292996 |
31-Dec-2015 |
dteske |
Remove debugging messages. NB: SVN r187143 reads: comment out some debugging messages that slipped in by mistake (removing them 7 years after they have been commented out)
MFC after: 1 week
|
292899 |
30-Dec-2015 |
dteske |
Fix stack leak introduced by SVN r97201 (nextboot_conf support). Fix erroneous error path in error messages when processing boot_conf. Fixup stack comments for functions introduced by SVN r97201. Remove a questioning stack comment introduced by SVN r186789. NB: Comment removed because strdup usage here is correct/not a leak.
MFC after: 1 week
|
292888 |
29-Dec-2015 |
ian |
Fix the error checking for the ubenv command. This moves the check for an empty ldvar (which amounts to the varname string starting with '=') into the if block that manipulates ldvar, which avoids later referencing ldvar when it was never initialized.
Submitted by: Thomas Skibo Pointy hat: ian
|
292682 |
24-Dec-2015 |
jhb |
Fix remaining direct tests of the carry flag in the v86 %eflags via a magic number to use V86_CY() instead. These should have been fixed as part of the cleanup in r226746 but were missed.
The md5 sums of the object files were unchanged, so there should be no functional change.
PR: 205424 Submitted by: Alexander Kuleshov <kuleshovmail@gmail.com> MFC after: 1 week
|
292625 |
22-Dec-2015 |
emaste |
Revert accidental whitespace changes included with r292623
|
292623 |
22-Dec-2015 |
emaste |
Support a.out format in nlist only on i386
i386 is the only current FreeBSD architecture that ever used a.out format.
Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D4687
|
292584 |
22-Dec-2015 |
ian |
Set env vars from values on the efi loader command line.
Examine each cmdline arg and if it contains an '=' convert it to ascii and pass it to putenv(). This allows var=value settings to come in on the command line.
This will allow overriding dhcp server-provided data in loader(8), as discussed in PR 202098
PR: 202098 Differential Revision: https://reviews.freebsd.org/D4561
|
292576 |
21-Dec-2015 |
emaste |
boot1.efi: show EFI error number, not full status value
EFI return values set the high bit to indicate an error. The log messages changed here are printed only in the case of an error, so including the error bit is redundant. Also switch to decimal to match the error definitions (in sys/boot/efi/include/efierr.h).
MFC after: 1 week Sponsored by: The FreeBSD Foundation
|
292563 |
21-Dec-2015 |
emaste |
loader.efi: strip trailing whitespace
Sponsored by: The FreeBSD Foundation
|
292527 |
21-Dec-2015 |
ian |
Add strlcat() and strlcpy() to libstand32. This should have been part of r292234, but I forgot there was a libstand32.
Submitted by: martymac Pointy hat: ian
|
292515 |
20-Dec-2015 |
emaste |
loader.efi: refresh size in GetMemoryMap retry loop
If ExitBootServices fails due to a changed efi_mapkey then GetMemoryMap must be called again. In this case it is also possible for the memory map to grow, so repeat the initial GetMemoryMap call to fetch the new size.
Also roll bi_add_efi_data_and_exit into bi_load_efi_data as there's no need for it to be a separate function.
PR: 202455 Reported by: Berislav Purgar <bpurgar@gmail.com> Tested by: Berislav Purgar <bpurgar@gmail.com> Reviewed by: kib MFC after: 1 week MFC with: r292338 Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D4621
|
292486 |
20-Dec-2015 |
ngie |
Add missing smbios.h #include to mute a -Wimplicit-function-declaration warning after r279222
Reported by: Jenkins Sponsored by: EMC / Isilon Storage Division
|
292471 |
19-Dec-2015 |
imp |
Pass the UEFI system table into the kernel from the boot loader via the FW_HANDLE metadata item. The kernel can get the rest of what it needs from this.
|
292442 |
18-Dec-2015 |
emaste |
loader.efi: show EFI error number, not full status value
EFI return values set the high bit to indicate an error. The log messages changed here are printed only in the case of an error, so including the error bit is redundant. Also switch to decimal to match the error definitions (in sys/boot/efi/include/efierr.h).
MFC after: 1 week Sponsored by: The FreeBSD Foundation
|
292345 |
16-Dec-2015 |
bapt |
Use human readable representation of ip for the pxeboot.ip kenv While here use colon as a separator for pxeboot.hwaddr kenv
Sponsored by: Gandi.net
|
292344 |
16-Dec-2015 |
bapt |
pxeboot: make the tftp loader use the option root-path directive
pxeboot in tftp loader mode (when built with LOADER_TFTP_SUPPORT) now prefix all the path to open with the path obtained via the option 'root-path' directive.
This allows to be able to use the traditional content /boot out of box. Meaning it now works pretty much like all other loaders. It simplifies hosting hosting multiple version of FreeBSD on a tftp server.
As a consequence, pxeboot does not look anymore for a pxeboot.4th (which was never provided)
Note: that pxeboot in tftp loader mode is not built by default.
Reviewed by: rpokala Relnotes: yes Sponsored by: Gandi.net Differential Revision: https://reviews.freebsd.org/D4590
|
292338 |
16-Dec-2015 |
emaste |
UEFI: combine GetMemoryMap and ExitBootServices and retry on error
The EFI memory map may change before or during the first ExitBootServices call. In that case ExitBootServices returns an error, and GetMemoryMap and ExitBootServices must be retried.
Glue together calls to GetMemoryMap(), ExitBootServices() and storage of (now up-to-date) MODINFOMD_EFI_MAP metadata within a single function.
That new function - bi_add_efi_data_and_exit() - uses space previously allocated in bi_load_efi_data() to store the memory map (it will fail if that space is too short). It handles re-calling GetMemoryMap() once to update the map key if necessary. Finally, if ExitBootServices() is successful, it stores the memory map and its header as MODINFOMD_EFI_MAP metadata.
ExitBootServices() calls are now done earlier, from within arch- independent bi_load() code.
PR: 202455 Submitted by: Ganael LAPLANCHE Reviewed by: kib MFC after: 2 weeks Relnotes: Yes Differential Revision: https://reviews.freebsd.org/D4296
|
292227 |
14-Dec-2015 |
ian |
Enhance the "ubenv import" command to allow importing a u-boot env var directly into a loader (and thus kernel) env var, using the syntax
ubenv import ldvarname=ubvarname
Without the varname= prefix it uses the historical behavior of importing to the name uboot.ubvarname.
|
292057 |
10-Dec-2015 |
ae |
Make detection of GPT a bit more reliable.
When we are detecting a partition table and didn't find PMBR, try to read backup GPT header from the last sector and if it is correct, assume that we have GPT.
Reviewed by: rpokala MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D4282
|
291972 |
08-Dec-2015 |
bdrewery |
DIRDEPS_BUILD: Update dependencies.
Sponsored by: EMC / Isilon Storage Division
|
291876 |
06-Dec-2015 |
ngie |
Remove stray unescaped `%` in `Booting from ...` informational message
PR: 204944 MFC after: 1 week X-MFC with: r291164 Reported by: David Binderman <dcb314@hotmail.com> Sponsored by: EMC / Isilon Storage Division
|
291683 |
03-Dec-2015 |
ganbold |
Add glue driver for Amlogic Meson Gigabit Ethernet Controller and enable it for Odroid C1 board. Together with r291676 change, dwc(4) can receive packets now.
|
291667 |
03-Dec-2015 |
nwhitehorn |
Clean up PowerPC bootloader compiler flags to fix the build with GCC 5.2 and binutils 2.25.
|
291598 |
01-Dec-2015 |
nwhitehorn |
Allow loader to load 64-bit ELFv2 PowerPC kernels.
|
291563 |
01-Dec-2015 |
bdrewery |
META MODE: Update dependencies with 'the-lot' and add missing directories.
This is not properly respecting WITHOUT or ARCH dependencies in target/. Doing so requires a massive effort to rework targets/ to do so. A better approach will be to either include the SUBDIR Makefiles directly and map to DIRDEPS or just dynamically lookup the SUBDIR. These lose the benefit of having a userland/lib, userland/libexec, etc, though and results in a massive package. The current implementation of targets/ is very unmaintainable.
Currently rescue/rescue and sys/modules are still not connected.
Sponsored by: EMC / Isilon Storage Division
|
291405 |
27-Nov-2015 |
zbb |
Add support for exynos5_ehci in loader
Create new driver which initializes Arndale PHY and calls ehci_init
Reviewed by: hselasky Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4192
|
291404 |
27-Nov-2015 |
zbb |
Increase malloc area in loader/usb
Previous value was not enough on Arndale platform.
Reviewed by: hselasky Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4145
|
291403 |
27-Nov-2015 |
zbb |
Run callouts during infinite waiting inside cv_wait
During cv_wait we may be waiting for an event triggered by callout. Run callbacks here to avoid code blocking.
Reviewed by: hselasky Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4144
|
291402 |
27-Nov-2015 |
zbb |
Implement simple ops for umass_disk
The initial IOCTL implementation supports reading disk physical geometry. Two additional functions were added. They allow reading/writing raw data to the disk (default partition).
Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4143
|
291401 |
27-Nov-2015 |
zbb |
Do not zero memory in umass_detach
The detach function is called very often, for example from get_capacity function. We don't want to loose any pointers here, so disable detaching for umass driver.
Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4141
|
291400 |
27-Nov-2015 |
zbb |
Implement missing bus_space_subregion in kshim
Add missing function, used by exynos5_ehci driver.
Reviewed by: hselasky Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4141
|
291399 |
27-Nov-2015 |
zbb |
Use properly aligned buffer in usb_alloc
The PA adress must be gathered from an aligned VA, not the RAW pointer to the memory space.
Reviewed by: hselasky Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4140
|
291320 |
25-Nov-2015 |
bdrewery |
META MODE: Don't create .meta files when symlinking sources into the obj directory.
Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine.
Sponsored by: EMC / Isilon Storage Division
|
291164 |
22-Nov-2015 |
ian |
Print more detailed info about the disk and partition chosen for booting. No behavioral changes, just cosmetics.
A partition number of zero is not a wildcard, it's the 'a' partition in a BSD slice, so don't print it as "<auto>". (Only slices are 1-based, unit and partition numbers are 0-based and -1 is their wildcard marker.)
Also, after doing all the probing and choosing, print the final result as "Booting from <disk spec>" where disk spec has all the wildcards resolved and looks like familiar BSD slice-and-partition notation (disk0s3a, etc).
|
291113 |
20-Nov-2015 |
emaste |
Disconnect unused kgzldr from sys/boot/i386
Sponsored by: The FreeBSD Foundation
|
291106 |
20-Nov-2015 |
bdrewery |
Remove disconnected boot0ext.
This was [re-]added in r127458 (apparently with disconnected history as well) and never connected to the build.
It is no longer relevant for modern systems from the past 20 years.
Discussed with: jhb Sponsored by: EMC / Isilon Storage Division
|
291048 |
19-Nov-2015 |
nwhitehorn |
The Linux kexec boot loader doesn't need a font built in to it. This got copied-and-pasted from the PS3 loader.
|
291012 |
18-Nov-2015 |
smh |
Document loader(8) dumpdev option
Add an entry for dumpdev environment variable to loader(8).
MFC after: 1 week Sponsored by: Multiplay
|
290769 |
13-Nov-2015 |
imp |
Add support for the Zybo and similar boards to ZEDBOARD kernel. Zybo needs its own DTB and has a different PHY, so add it to the base kernel. Details on building bootable SD images at http://www.thomasskibo.com/zedbsd/
Submitted By: Thomas Skibo
|
290494 |
07-Nov-2015 |
bapt |
Improve collation string and locales support
Merge collation support from Illumos and DragonflyBSD.
Locales are now generated with the new localedef(1) tool from CLDR POSIX files. The generated files are now identified as "BSD 1.0" format.
The libc now only read "BSD 1.0" locales definitions, all other version will be set to "C" The localedef(1) tool has been imported from Illumos and modified to use tree(3) instead of the CDDL avl(3) A set of tool created by edwin@ and extended by marino@ for dragonfly has been added to be able to generate locales and the Makefiles from the vanilla CLDR unicode databases + a universal UTF-8 charmap (by marino@) Update the locales to unicode v27 Given our regex(3) does not support multibyte (yet) it has been forced to always use locale C Remove now unused colldef(1) and mklocale(1) Finish implementing the numeric BSD extension for ctypes The number of supported locales has grown from 175 to 250 locales. Among the new locales: 6 Arabic locales (AE EG JO MA QA SA), Different variations of spanish locales. Added new 3 components locales for mn_Cyrl_MN, sr_Cyrl_RS sr_Latn_RS, zh_Hans_CN, zh_Hant_HK and zh_Hant_TW. Some aliases has been for 2 components version when possible.
Thanks: Garrett D'Amore (Illumos) who made sure all his work was done under BSD license!, Edwin Groothuis (edwin@) for the work he made on tools to be able to generate locales definition usable in freebsd sources out of vanilla CLDR definitions, John Marino (DragonflyBSD) who first merge the Illumos work into Dragonfly and spent hours tracking down bugs.
|
290321 |
03-Nov-2015 |
gonzo |
Raspberry Pi firmware passes cache line size as a DTB parameter
- Add cache-line-size paramter to vchiq node - Add cache_line_size DTB parameter referencing to .../vchiq/cache-line-size property
|
290102 |
28-Oct-2015 |
bapt |
Merge mpsutil(8) branch
mpsutil(8)/mprutil(8) are new utilities for managing LSI Fusion-MPT 2/3 controllers (mps(4) and mpr(4))
For now only informational commands have been implemented.
This utility has been written by scottl@ [1] and polished by myself[2]
Submitted by: scottl Discussed with: scottl Relnotes: yes Sponsored by: Netflix [1] Sponsored by: Gandi.net [2]
|
289896 |
24-Oct-2015 |
ngie |
Make vers.c creation atomic by using a temporary file, then moving the temporary file to vers.c at the end of the script
The previous logic wrote out to vers.c multiple times, so the file could be incorrectly interpreted as being completely written out after one of the echo calls with recursive make, when in reality it was only partially written.
Also, in the event the build was interrupted when creating vers.c (small race window), it would have a leftover file that needed to be cleaned up before resuming the build.
MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division
|
289031 |
08-Oct-2015 |
cperciva |
Change gptldr from relocating 0xfff1 bytes of boot2 to relocating 0x20000 bytes of boot2. Since we're in 16-bit mode, we can't copy all 128kB at once; instead we loop four times and copy 32 kB each time.
This change was made necessary by an upcoming increase in the size of the boot2 binary; should it increase further, the COPY_BLKS value can be adjusted without anyone needing to remember 8086 assembly language again.
Requested by: allanjude Tested by: allanjude MFC after: 1 week
|
288943 |
06-Oct-2015 |
dim |
Upgrade our copies of clang, llvm, lldb, compiler-rt and libc++ to 3.7.0 release.
Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11 support to build; see UPDATING for more information.
Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html> <http://llvm.org/releases/3.7.0/tools/clang/docs/ReleaseNotes.html>
Thanks to Ed Maste, Andrew Turner and Antoine Brodin for their help.
Exp-run: antoine Relnotes: yes
|
288372 |
29-Sep-2015 |
jhb |
Use EFI page size constants instead of hardcoding 4096.
Reviewed by: emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D3692
|
288311 |
27-Sep-2015 |
loos |
Set the #address-cells and #size-cells for the I2C controllers in RPi2.
This allows the use of I2C addresses in 'reg' property.
|
288228 |
25-Sep-2015 |
bdrewery |
META_MODE: Remove DEP_MACHINE from Makefile.depend files.
This has not been needed since r246865 in projects/bmake.
Sponsored by: EMC / Isilon Storage Division
|
288226 |
25-Sep-2015 |
bdrewery |
META_MODE: Remove DEP_RELDIR from Makefile.depend files.
This has not been needed since r284171 in projects/bmake.
Sponsored by: EMC / Isilon Storage Division
|
288056 |
21-Sep-2015 |
loos |
Enable if_dwc for Allwinner A20 based boards.
This enables the gigabit ethernet on cubieboard2 and banana pi.
A special thanks to Netgate who gently provided me with a banana pi almost a year ago.
|
287934 |
17-Sep-2015 |
jhb |
The EFI boot loader allocates a single chunk of contiguous memory to hold the kernel, modules, and any other loaded data. This memory block is relocated to the kernel's expected location during the transfer of control from the loader to the kernel.
The GENERIC kernel on amd64 has recently grown such that a kernel + zfs.ko no longer fits in the default staging size. Bump the default size from 32MB to 48MB to provide more breathing room.
PR: 201679 Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D3666
|
287930 |
17-Sep-2015 |
jhb |
Various small cleanups to EFI loader Makefiles.
Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D3641
|
287773 |
14-Sep-2015 |
hselasky |
Add missing file to build.
|
287538 |
07-Sep-2015 |
marcel |
As expected, things aren't as simple as hoped. Consequently, we have no option but to use the smbios information to fill in the blanks. It's a good thing UGA is a protocol of the past and GOP has all the info we need.
Anyway, the logic has been tweaked a little to get the easier bits of information up front. This includes the resolution and the frame buffer address. Then we look at the smbios information and define expected values as well as the missing bits (frame buffer offset and stride). If the values obtained match the expect values, we fill in the blanks and return. Otherwise we use the existing detection logic to figure it out.
Rename the environment variables from uga_framebuffer abd uga_stride to hw.efifb.address and hw.efifb.stride. The latter names are more in line with other variable names.
We currently have hardcoded settings for: 1. Mid-2007 iMac (iMac7,1) 2. Late-2007 MacBook (MacBook3,1)
|
287489 |
05-Sep-2015 |
marcel |
Auto-detect the UGA frame buffer and stride on a MacBook. We're striking a delicate balance between exhaustive searching and banking on assumptions. The environment variables can be used as a fall-back anyway. With this change, all known and tested Macs with only UGA should have a working console out of the box... for now...
|
287475 |
05-Sep-2015 |
marcel |
My MacBook has UGA only, but we fail to detect any changes in the frame buffer when we flip pixels. Allow the detection to be bypassed by setting the uga_framebuffer and uga_stride variables. The kernel console works fine even when we can't detect pixel changes in the frame buffer, which indicates that the problem could be with reading from the frame buffer and not writing to it.
|
287422 |
03-Sep-2015 |
marcel |
For UGA, the frame buffer address obtained by scanning the PCI BARs does not necessarily correspond to the upper-left most pixel. Scan the frame buffer for which byte changed when changing the pixel at (0,0).
Use the same technique to determine the stride. Except for changing the pixel at (0,0), we change the pixel at (0,1).
PR: 202730 Tested by: hartzell (at) alerce.com
|
287419 |
03-Sep-2015 |
gonzo |
Enable both i2c1 and i2c2. These devices are disabled in TI's DTS so they were disabled during DTS transition. Though there are no standard devices/drivers on them people might use iic(4) userland interface to access these buses.
|
287365 |
01-Sep-2015 |
andrew |
Install the forth bits on arm64. For now limit it to just arm64 as on x86 these should have been installed as part of the regular loader.
|
287317 |
31-Aug-2015 |
marcel |
Add support for the UGA draw protocol. This includes adding a command called 'uga' to show whether UGA is implemented by the firmware and what the settings are. It also includes filling the efi_fb structure from the UGA information when GOP isn't implemented by the firmware.
Since UGA does not provide information about the stride, we set the stride to the horizontal resolution. This is likely not correct and we should determine the stride by trial and error. For now, this should show something on the console rather than nothing.
Refactor this file to maximize code reuse.
PR: 202730
|
287316 |
30-Aug-2015 |
loos |
Add the LED definitions from vendor's DTS.
Add gpioled support to A20 kernel.
While here rename the gpio phandle to match the one used in the vendor's DTS.
|
287307 |
30-Aug-2015 |
loos |
Reduce the difference to vendor DTS by using the vendor compat strings (at some point we have to use the complete vendor DTS files, but we're not there yet).
|
287299 |
30-Aug-2015 |
marcel |
Add a gop command to help diagnose VT efifb problems. The gop command has the following sub-commands: list - list all possible modes (paged) get - return the current mode set <mode> - set the current mode to <mode>
|
287257 |
28-Aug-2015 |
imp |
Add back missing -m32 for amd64 and powerpc64 that was lost in the move to bsd.stand.mk.
|
287227 |
27-Aug-2015 |
imp |
Use CFLAGS_NO_SIMD in preference to varying lists of -mno-xxxx flags. Go ahead and defined -D_STANDALONE for all targets (only strictly needed for some architecture, but harmless on those it isn't required for). Also add -msoft-float to all architectures uniformly rather that higgley piggley like it is today.
Differential Revision: https://reviews.freebsd.org/D3496
|
286967 |
20-Aug-2015 |
imp |
The flags -mno-aes -mno-avx only exist for clang, not gcc, so add them only to the clang CFLAGS.
|
286815 |
15-Aug-2015 |
gonzo |
Make dtb file configurable via loader(8) variable. ubldr already checks "fdt_file" and "fdtfile" U-Boot variables. Add one more check for "fdt_file" loader(8) variable.
loader(8) variable takes precedence over u-boot env one
|
286773 |
14-Aug-2015 |
hselasky |
Improve the realtime properties of USB transfers for embedded systems like RPI-B and RPI-2.
Description of problem: USB transfers can process data in their callbacks sometimes causing unacceptable latency for other USB transfers. Separate BULK completion callbacks from CONTROL, INTERRUPT and ISOCHRONOUS callbacks, and give BULK completion callbacks lesser execution priority than the others. This way USB audio won't be interfered by heavy USB ethernet usage for example.
Further serve USB transfer completion in a round robin fashion, instead of only serving the most CPU hungry. This has been done by adding a third flag to USB transfer queue structure which keeps track of looping callbacks. The "command" callback function then decides what to do when looping.
MFC after: 2 weeks
|
286368 |
06-Aug-2015 |
allanjude |
Remove guards around overwriting loader.rc and menu.rc
There have been .local version of each for user modifications for some time This allows users to receive future updates to these files
PR: 183765 Submitted by: Bertram Scharpf, Nikolai Lifanov (patch) Reviewed by: dteske, loos, eadler Approved by: bapt (mentor) MFC after: 1 month Relnotes: yes Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D3176
|
286234 |
03-Aug-2015 |
trasz |
Fix a problem which made loader(8) load non-kld files twice.
For example, without this patch, the following three lines in /boot/loader.conf would result in /boot/root.img being preloaded twice, and two md(4) devices - md0 and md1 - being created.
initmd_load="YES" initmd_type="md_image" initmd_name="/boot/root.img"
Reviewed by: marcel@ MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3204
|
286111 |
31-Jul-2015 |
ed |
Document the existence of cloudabi_load and cloudabi64_load.
|
285882 |
25-Jul-2015 |
trasz |
Use consistent spacing.
MFC after: 1 month Sponsored by: The FreeBSD Foundation
|
285881 |
25-Jul-2015 |
trasz |
Add md_root example to defaults/loader.conf.
Note that this doesn't quite work yet - the preloaded image gets loaded twice for some reason.
MFC after: 1 month Sponsored by: The FreeBSD Foundation
|
285875 |
25-Jul-2015 |
trasz |
Use double newlines consistently.
MFC after: 1 month Sponsored by: The FreeBSD Foundation
|
285870 |
25-Jul-2015 |
trasz |
Document md_root in loader(8). The md(4) manual page mentions it, but it's hard to find and easy to miss.
Reviewed by: wblock@ MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3183
|
285683 |
18-Jul-2015 |
jmg |
move the prototype to the lib.h header.. This makes more sense, and it's an API between boot2.c and arm_init.S which calls it..
|
285682 |
18-Jul-2015 |
jmg |
other fixes to make boot2 compile for IXP... Properly end the asm sections, and for some reason, main needs a prototype... If someone has a better fix, I'm all ears...
Pointed out by: Berislav Purgar
|
285681 |
18-Jul-2015 |
jmg |
revert r278579, this is in a different compile environment than the kernel, and needs to be named cpu_id...
Pointed out by: Berislav Purgar
|
285250 |
07-Jul-2015 |
loos |
Add the Banana Pi DTS.
The Banana Pi support is in progress and this is intended to help the early adopters.
|
285246 |
07-Jul-2015 |
emaste |
Avoid creating invalid UEFI device path
The UEFI loader on the 10.1 release install disk (disc1) modifies an existing EFI_DEVICE_PATH_PROTOCOL instance in an apparent attempt to truncate the device path. In doing so it creates an invalid device path.
Perform the equivalent action without modification of structures allocated by firmware.
PR: 197641 MFC After: 1 week Submitted by: Chris Ruffin <chris.ruffin@intel.com>
|
285245 |
07-Jul-2015 |
loos |
Add the GMAC entries to sun7i (A20) DTS.
While here make EMAC disabled unless explicitly enabled.
|
285138 |
04-Jul-2015 |
loos |
Install loader.rc with ARM u-boot loader (ubldr).
loader.rc is the responsible to read and process loader.conf variables.
This fix the issue of loader.conf being silently ignored.
MFC after: 3 days
|
285095 |
03-Jul-2015 |
br |
o Add a description for virtio block device implemented in PISM (Bluespec C-interface device) o Add a kernel config
Sponsored by: HEIF5
|
285090 |
03-Jul-2015 |
loos |
Add AHCI attachment code for Allwinner A10/A20 SoCs.
The Allwinner SoC has an AHCI device on its internal main bus rather than the PCI bus. This SoC is somewhat underdocumented, and its SATA controller is no exception. The methods to support this chip were harvested from the Linux Allwinner SDK, and then constants invented to describe what's going on based on low-level constants contained in the SATA standard and guess work.
This SoC requires a specific AHCI channel setup in order to start the operations on the channel properly.
Clock setup and AHCI channel setup idea came from NetBSD.
Tested on Cubieboard 2 and Banana pi (and attachment on Cubieboard by Pratik Singhal).
Differential Revision: https://reviews.freebsd.org/D737 Submitted by: imp Reviewed by: imp, ganbold, mav, andrew
|
284960 |
30-Jun-2015 |
markm |
Updated random(4) boot/shutdown scripting. Fix the man pages as well.
Differential Revision: https://reviews.freebsd.org/D2924 Approved by: so (delphij)
|
284885 |
27-Jun-2015 |
nyan |
MFi386: r284878
Reduce warnings:
- Add prototype for boot2 main() - Don't make assignment within if statement, split it into two.
|
284878 |
26-Jun-2015 |
delphij |
Reduce warnings:
- Add prototype for boot2 main() - Don't make assignment within if statement, split it into two.
No functional or binary change -- verified with sha256(1).
MFC after: 2 weeks
|
284672 |
21-Jun-2015 |
antoine |
Install version.4th.8 again It was disconnected from installation in r281081, but was never removed from the tree or added to ObsoleteFiles.inc
|
284614 |
19-Jun-2015 |
sobomax |
Provide bug4bug workaround for certain dumbiness of the u-boot's API_env_enum function, which is expected to set returned env to NULL upon reaching the end of the environment list but fails to do so in certain cases. The respective u-boot code looks like the following (HEAD at the time of this commit):
--- api.c --- 496 static int API_env_enum(va_list ap) ... 510 *next = last; 511 512 for (i = 0; env_get_char(i) != '\0'; i = n + 1) { 513 for (n = i; env_get_char(n) != '\0'; ++n) { 514 if (n >= CONFIG_ENV_SIZE) { 515 /* XXX shouldn't we set *next = NULL?? */ 516 return 0; 517 } 518 } -------------
The net result is that any unfortunate user of the loader's ub_env_enum() function hitting this condition would be trapped in the infinite loop, as the main use pattern of ub_env_enum() is basically the following:
while ((env = ub_env_enum(env)) != NULL) { DO STUFF }
Which would stuck forever with the last element.
|
284599 |
19-Jun-2015 |
sobomax |
Fix bug in the ubldr introduced in the rev.283035. The new code fails to properly consider memory regions when the loader is located below of those regions or engulfs their lower limit. This results in "not enough RAM to load kernel" panic, which is totally bogus. On top of that, there are some variables that can be left unitialized in those cases, which might cause it fail with memory access violation instead of panic while trying to load kernel to a wrong or non-existing address of memory.
Augment the code to properly deal with the loader being below or at the lower bound of the memory region in question. Also, don't leave ununitialized variables behind.
Reviewed by: ian
|
284597 |
19-Jun-2015 |
bapt |
Fix fallouts from r284590
Reported by: kib
|
284590 |
19-Jun-2015 |
bapt |
Install loader(8) and zfsloader(8) only once
Differential Revision: https://reviews.freebsd.org/D2841 Reviewed by: imp
|
284534 |
18-Jun-2015 |
gonzo |
Add HDMI support to Beaglebone Black:
- Add driver for TDA19988 HDMI framer - Add simple interface to communicate with HDMI sink: read EDID and set videomode - Add event-based API to notify LCD controller when HDMI sink is available - Add HDMI framer node and add refernce to it to lcdc node. This part of DTS tree is custom and does not match Linux DTS because Linux uses combination of pseudo-node in DTS and hardcoded driver information that does not map to our model.
|
284345 |
13-Jun-2015 |
sjg |
Add META_MODE support.
Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree.
Still need to add real targets under targets/ to build packages.
Differential Revision: D2796 Reviewed by: brooks imp
|
284266 |
11-Jun-2015 |
andrew |
Pass the ACPI table pointer to the arm64 kernel from loader.efi.
Sponsored by: The FreeBSD Foundation
|
284142 |
08-Jun-2015 |
araujo |
Revert my previoius commit as it explicit pollute the ficl on other architectures. It will be reworked by GSoC students.
Requested by: ngie, bms and pfg.
|
284116 |
07-Jun-2015 |
araujo |
Include header libi386.h to silence the clang warning of implicit declaration of functions biospci_*.
Differential Revision: D2668 Reviewed by: rodrigc
|
284032 |
05-Jun-2015 |
avg |
dnode_read: fixup r284025, BP_IS_HOLE macro expects a pointer
PR: 199804 Reported by: sbruno Pointyhat to: avg MFC after: 10 days X-MFC with: r284025
|
284025 |
05-Jun-2015 |
avg |
dnode_read: handle hole blocks in zfs boot code
A hole block pointer can be encountered at any level and the hole can cover multiple data blocks, but we are reading the data blocks one by one, so we care only about the current one.
PR: 199804 Reported by: Toomas Soome <tsoome@me.com> Submitted by: Toomas Soome <tsoome@me.com> (earlier version) Tested by: Toomas Soome <tsoome@me.com> MFC after: 11 days
|
283939 |
03-Jun-2015 |
avg |
userboot: enable bzipfs support
Additionally, sort all real filesystems before the virtual ones.
Differential Revision: https://reviews.freebsd.org/D2709 Reviewed by: grehan MFC after: 5 days
|
283933 |
02-Jun-2015 |
dteske |
Add comments to indicate where the flag for later abort" originates.
MFC after: 3 days X-MFC-to: stable/10
|
283794 |
30-May-2015 |
loos |
Remove the broken-txfifo setting for Allwinnner SoCs.
This fixes the eventual missing characters when you type too fast or paste some text on console.
|
283579 |
26-May-2015 |
gonzo |
Print error message if autoload fails due to missing DTB blob, otherwise ubldr just falls back to loader prompt with no apparent reason
|
283361 |
24-May-2015 |
ganbold |
Add kernel config and dts files for an aml8726-m3 based device. Following u-boot commands allow FreeBSD boot on Yiyate Android TV Box (aml8726-m3):
tv open 480p mmc rescan 0 fatload mmc 0 0x80100000 kernel.bin go 0x80100000
The current FreeBSD driver doesn't program the video clocks so the u-boot tv command is necessary in order for the frame buffer to be useful (otherwise it can be skipped).
The SD card for the Yiyate Android TV Box doesn't need anything special beyond creating a FAT16 and a UFS filesystem.
Differential Revision: https://reviews.freebsd.org/D2636 Submitted by: John Wehle
|
283352 |
24-May-2015 |
ganbold |
Enable leds for VSATV102 in dts.
Differential Revision: https://reviews.freebsd.org/D2614 Submitted by: John Wehle
|
283276 |
22-May-2015 |
gonzo |
Switch TI platform support code from using FreeBSD's custom-baked DTS files to vendor-provided ones. It should make easier to adopt platform code to new revisions of hardware and to use DTS overlays for various Beaglebone extensions (shields/capes).
Original dts filenames were not changed, they're now wrappers over dts files provided by TI. So make sure you update .dtb files on your devices as part of kernel update
GPIO addressing was changed: instead of one global /dev/gpioc0 there are per-bank instances of /dev/gpiocX. Each bank has 32 pins so for instance pin 121 on /dev/gpioc0 in old addressing scheme is now pin 25 on /dev/gpioc3
On Pandaboard serial console devices was changed from /dev/ttyu0 to /dev/ttyu2 so you'll have to update /etc/ttys to get login prompt on serial port in multiuser mode. Single user mode serial console should work as-is
Differential Revision: https://reviews.freebsd.org/D2146 Reviewed by: rpaulo, ian, Michal Meloun, Svatopluk Kraus
|
283253 |
21-May-2015 |
loos |
Add the MMC/SD driver for Allwinner SoCs.
This is based on the patch sent by Alexander Fedorov with the following fixes/improvements:
- Better error handling; - Clock is derived from PLL6 (obtained from netbsd); - No more unnecessary busy loops on interrupt handler; - style(9) fixes and code cleanup.
I also want to thanks Martin Galvan who has sent an alternative implementation with some interesting fixes.
Tested on CubieBoard2, Banana-Pi (thanks to netgate!) and Cubieboard1 (Pratik Singhal).
This is intended to pave the way for the upcoming GSoC work (and make easier the build of images for the supported boards).
PR: 196081 Submitted by: Alexander Fedorov <alexander.fedorov@rtlservice.com>
|
283181 |
21-May-2015 |
ganbold |
The RTC initialization values are based on the SoC which can be determined at runtime so there's no need to set the values in each DTS. Tested on YYHD18 (aml8726-m3), VSATV102 (aml8726-m6), and ODROIDC1 (aml8726-m8b).
Differential Revision: https://reviews.freebsd.org/D2588 Submitted by: John Wehle
|
283069 |
18-May-2015 |
ian |
Enable the NETIF_OPEN_CLOSE_ONCE option for ubldr. This keeps the network interface open continuously instead of closing it after each filesystem access and reopening it before the next (causing it to re-obtain network params each time). This vastly speeds up netbooting.
|
283066 |
18-May-2015 |
ian |
Add a routine to obtain netboot parameters from the U-Boot env vars. Call it from the uboot net_init() implementation. The routine uses the standard U-Boot env vars plus a freebsd-specific variable named "rootpath" (the corresponding u-boot variable for that would be "bootfile" except that it refers to ubldr, so a new name was needed to communicate the path to ubldr).
This allows ubldr to load a kernel from nfs without requiring a dhcp or bootp server to provide the server ip and rootpath parameters.
|
283062 |
18-May-2015 |
ian |
Refactor net_getparams() to make it easier to get params from sources other than bootp and rarp.
The code which splits a serverip:/rootpath string into rootip and a plain pathname is now a separate net_parse_rootpath() function that can be called by others. The code that sets the kernel env vars needed for nfs_diskless is moved into net_open() so that the variables get set no matter where the params came from.
There was already code in net_open() that allowed for the possibility that some other entity has set up the network-related global variables. It uses the rootip variable as the key, assuming that if it is set all the other required variables are set too. These changes don't alter the existing behavior, they just make it easier to actually write some new code to get the params from another source (such as the U-Boot environment).
|
283035 |
17-May-2015 |
ian |
An ARM kernel can be loaded at any 2MB boundary, make ubldr aware of that.
Previously, ubldr would use the virtual addresses in the elf headers by masking off the high bits and assuming the result was a physical address where the kernel should be loaded. That would sometimes discard significant bits of the physical address, but the effects of that were undone by archsw copy code that would find a large block of memory and apply an offset to the source/dest copy addresses. The result was that things were loaded at a different physical address than requested by the higher code layers, but that worked because other adjustments were applied later (such as when jumping to the entry point). Very confusing, and somewhat fragile.
Now the archsw copy routines are just simple copies, and instead archsw.arch_loadaddr is implemented to choose a load address. The new routine uses some of the code from the old offset-translation routine to find the largest block of ram, but it excludes ubldr itself from that range, and also excludes If ubldr splits the largest block of ram in two, the kernel is loaded into the bottom of whichever resulting block is larger.
As part of eliminating ubldr itself from the ram ranges, export the heap start/end addresses in a pair of new global variables.
This change means that the virtual addresses in the arm kernel elf headers now have no meaning at all, except for the entry point address. There is an implicit assumption that the entry point is in the first text page, and that the address in the the header can be turned into an offset by masking it with PAGE_MASK. In the future we can link all arm kernels at a virtual address of 0xC0000000 with no need to use any low-order part of the address to influence where in ram the kernel gets loaded.
|
283013 |
16-May-2015 |
ian |
Re-link ubldr when any of its libraries change.
|
283006 |
16-May-2015 |
thomas |
Minor comments fixes
|
282985 |
15-May-2015 |
zbb |
Introduce support for the Alpine PoC from Annapurna Labs
The Alpine Platform-On-Chip offers multicore processing (quad ARM Cortex-A15), 1/10Gb Ethernet, SATA 3, PCI-E 3, DMA engines, Virtualization, Advanced Power Management and other.
This code drop involves basic platform support including: SMP, IRQs, SerDes, SATA. As of now it is missing the PCIe support. Part of the functionality is provided by the low-level code (HAL) delivered by the chip vendor (Annapurna Labs) and is a subject to change in the future (is planned to be moved to sys/contrib directory).
The review log for this commit is available here: https://reviews.freebsd.org/D2340
Reviewed by: andrew, ian, imp Obtained from: Semihalf Sponsored by: Annapurna Labs
|
282896 |
14-May-2015 |
andrew |
Remove OUTPUT_FORMAT from theARM EFI linker script, it breaks building for big-endian arm.
|
282827 |
13-May-2015 |
loos |
Add support for the power button on BeagleBone Black.
Shutdown and turn off the board when the power button is pressed.
Submitted by: Michal Meloun <meloun@miracle.cz> Relnotes: yes
|
282731 |
10-May-2015 |
ian |
Create a relocatable instance of ubldr for ARM. The original ubldr, static-linked to run at a fixed position, is still installed to maintain compatibility with existing configurations. The makefile now also creates and installs ubldr.bin, a stripped binary (no elf headers) with an entry point offset of 0 that can be loaded by u-boot at any address and launched with "go ${loadaddr}".
To use ubldr.bin, U-Boot must still be built with the CONFIG_API option, but no longer needs the CONFIG_ELF option.
|
282728 |
10-May-2015 |
ian |
Don't check the return value from self_reloc(), it can't fail and doesn't return a value.
Despite what I said in my prior commit, it turns out this one platform was checking the return value from the old self-reloc code (which returned a hard-coded 0).
|
282727 |
10-May-2015 |
ian |
The self-relocation code is not efi-specific, move it to boot/common.
The function was defined as taking 4 parameters and returning EFI_STATUS, but all existing callers (in asm code) passed only two parameters and don't use the return value. The function signature now matches that usage, and doesn't refer to efi-specific types.
Parameters and variables now use the cannonical typenames set up by elf.h (Elf_Word, Elf_Addr, etc) instead of raw C types. Hopefully this will prevent suprises as new platforms come along and use this code.
The function was renamed from _reloc() to self_reloc() to emphasize its difference from the other elf relocation code found in boot/common.
Differential Revision: https://reviews.freebsd.org/D2490
|
282661 |
08-May-2015 |
ian |
Move the text section to the start of the output file, so that when you create a stripped .bin file from it the entry point is the first byte of the file. (Will allow "load $addr $file ; go $addr" in u-boot.)
|
282619 |
08-May-2015 |
ganbold |
The interrupt-parent is set globally so it's unnecessary to also set it at each node.
Differential Revision: https://reviews.freebsd.org/D2471 Submitted by: John Wehle
|
282610 |
07-May-2015 |
loos |
Add the SMP support for Raspberry Pi 2 (BCM2836).
Tested with the build of some ports and a buildworld.
Submitted by: Daisuke Aoyama <aoyama@peach.ne.jp>
|
282477 |
05-May-2015 |
andrew |
Add FDT to the list of known GUIDs.
|
282474 |
05-May-2015 |
andrew |
Disable the use of floating-point and vector registers in the loader. They need the vfp unit to be enabled which may not be the case.
|
282470 |
05-May-2015 |
andrew |
When cross-building ${LIBSTAND} may be set to the host copy. Point to the version built with the toolchain.
Differential Revision: https://reviews.freebsd.org/D2312 Submitted by: jhb
|
282320 |
01-May-2015 |
andreast |
Fix the loader for sparc64. The commit from r279799 missed the adaptation of md_load in sparc64/loader/main.c. This resulted in Memory Address Align issues at the early boot stage.
Tested on a netbooted Fire 120.
|
282228 |
29-Apr-2015 |
scottl |
Improve support for blacklisting bad memory locations. The user can supply a text file with a list of physical memory addresses to exclude, and have it loaded at boot time via the provided example in loader.conf. The tunable 'vm.blacklist' remains, but using an external file means that there's no practical limit to the size of the list. This change also improves the scanning algorithm for processing the list, scanning the list only once instead of scanning it for every page in the system. Both the sysctl and the file can be unsorted and contain duplicates so long as each entry is numeric (decimal or hex) and is separated by a space, comma, or newline character. The sysctl 'vm.page_blacklist' is now provided to report what memory locations were successfully excluded.
Reviewed by: imp, emax Obtained from: Netflix, Inc. MFC after: 3 days
|
282064 |
27-Apr-2015 |
scottl |
Small change in header order to allow this to compile.
Obtained from: Netflix, Inc. MFC after: 3 days
|
281899 |
23-Apr-2015 |
loos |
Fix the gpio-leds node to match the LEDs on RPI2.
The 'pwr' LED is connected to GPIO pin 35 (active high) and the 'act' LED is connected to GPIO pin 47 (active high).
Remove the GPIO pin 47 from reserved pins list, previously it was used to signaling the SD Card presence and now it is used by act LED.
|
281890 |
23-Apr-2015 |
loos |
Enable the watchdog on RPI2.
The watchdog is used to reset the SoC on cpu_reset().
Without this, RPI2 will not reboot when asked to.
|
281887 |
23-Apr-2015 |
jhb |
Reassign copyright statements on several files from Advanced Computing Technologies LLC to Hudson River Trading LLC.
Approved by: Hudson River Trading LLC (who owns ACT LLC) MFC after: 1 week
|
281886 |
23-Apr-2015 |
emaste |
Reduce diffs between the three copies of libstand's Makefile
This should be a non-functional change. A future change should address the functional differences between these three and converge on a single source.
Differential Revision: https://reviews.freebsd.org/D2058 Reviewed by: jhb Sponsored by: The FreeBSD Foundation
|
281859 |
22-Apr-2015 |
loos |
Fix the SDHCI clock frequency for RPI2, the default clock (for the newer firmware versions) is 250MHz.
|
281616 |
16-Apr-2015 |
dteske |
Add "GELI Passphrase:" prompt to boot loader.
A new loader.conf(5) option of geom_eli_passphrase_prompt="YES" will now allow you to enter your geli(8) root-mount credentials prior to invoking the kernel.
See check-password.4th(8) for details.
Differential Revision: https://reviews.freebsd.org/D2105 Reviewed by: imp, kmoore Discussed on: -current MFC after: 3 days X-MFC-to: stable/10 Relnotes: yes
|
281527 |
14-Apr-2015 |
andrew |
* Remove the wfi when the efi loader returns, it's unneeded and is not available on older designs. * Enable the efi loader on arm
|
281526 |
14-Apr-2015 |
andrew |
Add support for arm64 to loader.efi and boot1.efi
Reviewed by: emaste Sponsored by: The FreeBSD Foundation
|
281525 |
14-Apr-2015 |
andrew |
Fix the arm64 MACHINE_CPUARCH value in the efi fdt glue code.
Sponsored by: The FreeBSD Foundation
|
281524 |
14-Apr-2015 |
andrew |
Use MACHINE in the efi loader when it is what we mean, it may not be the same as MACHINE_CPUARCH, it just happened to be the case the architectures this code currently supports.
Sponsored by: The FreeBSD Foundation
|
281496 |
13-Apr-2015 |
andrew |
Create the correct symlinks for the machine directory, and only create the x86 symlink on i386 and amd64. Before this incorrect symlinks were being created on armi and i386.
Differential Revision: https://reviews.freebsd.org/D2283 Reviewed by: emaste, imp Sponsored by: The FreeBSD Foundation
|
281435 |
11-Apr-2015 |
andrew |
Add fdt support to the arm loader.efi
|
281434 |
11-Apr-2015 |
andrew |
Only add -fPIC to CFLAGS and -Wl,-znocombreloc to LDFLAGS on x86, they shouldn't be used on arm.
|
281433 |
11-Apr-2015 |
andrew |
Move reloc.c to the top level Makefile as it has become generic.
|
281431 |
11-Apr-2015 |
andrew |
Update the arm efi ldscript to generate a valid efi binary
|
281415 |
11-Apr-2015 |
ganbold |
This modifies the FreeBSD Amlogic DTS files to use the GNU files as the base.
Submitted by: John Wehle Reviewed by: imp
|
281413 |
11-Apr-2015 |
ganbold |
The GNU files don't include a DTS for the aml8726-m8b (which has cortex-a5 cores unlike the aml8726-m8 which has cortex-a9 cores).
Submitted by: John Wehle Reviewed by: imp
|
281377 |
10-Apr-2015 |
emaste |
Add build support for i386 loader.efi
Kernel changes are required for this to be useful but this will allow others to experiment.
Differential Revision: https://reviews.freebsd.org/D2276
|
281376 |
10-Apr-2015 |
emaste |
Limit EFI framebuffer metadata to amd64 for now
The i386 loader.efi does not yet exist. Avoid dealing with vt and framebuffer issues there until the initial bootstrapping is done.
|
281357 |
10-Apr-2015 |
andrew |
Port the EFI reloc codeto work on arm64. This used the rela relocation table so wiill need the addend included in the relocation calculation.
Sponsored by: The FreeBSD Foundation
|
281322 |
09-Apr-2015 |
emaste |
Remove EOL whitespace from i386 EFI loader source
|
281307 |
09-Apr-2015 |
andrew |
Print error values with hex to make it easier to find the EFI error type.
|
281300 |
09-Apr-2015 |
andrew |
Only use -fPIC when building boot1.efi for x86.
Sponsored by: The FreeBSD Foundation
|
281297 |
09-Apr-2015 |
andrew |
Add the arm64 machine dependent parts of ficl. This is not machine dependent, as most copies of these files are identical, but unfortunately this is still needed.
Sponsored by: The FreeBSD Foundation
|
281275 |
08-Apr-2015 |
dteske |
Re-do proper mode-endings. Antithesis of r281176-281179 which reverted earlier migration away from sloppy mode-endings (r280925,280974-280976) due to a red-herring in diagnosing HardenedBSD boot lockup.
Thanks to: lattera (shawn.webb@hardenedbsd<dot>org) MFC after: 3 days X-MFC-to: stable/10 X-MFC-with: r280925,280974-280976,281176-281179
|
281271 |
08-Apr-2015 |
dteske |
Fix a bootlock condition if/when loader_logo is set in loader.conf(5) NB: This deeply effected HardenedBSD which had a default value set.
Embarassingly, I allowed the `type' primitive to be passed -1/-1 for c-addr/u stack input (the effect of which is to pull INT_MAX bytes from character address negative one in which hilarity ensues over a black screen in full-on bootlock). Much thanks to Shawn Webb [lattera] for helping me diagnose.
NB: The mode-ending revisions were initially suspected (and reverted) but proved to be a red-herring. Proper mode endings will be returning.
Thanks to: lattera (@HardenedBSD [<dot><com>]) Reported by: lattera MFC after: 3 days X-MFC-to: stable/10
|
281238 |
07-Apr-2015 |
emaste |
Add EFI boot1 for i386
loader.efi still needs work, but boot1.efi now builds.
Differential Revision: https://reviews.freebsd.org/D2244 Reviewed by: rpaulo Sponsored by: The FreeBSD Foundation
|
281237 |
07-Apr-2015 |
emaste |
EFI: use common reloc.c for all architectures
Much of this file is common to the architectures we support, so share an implementation by adding a little #ifdef-ery.
Differential Revision: https://reviews.freebsd.org/D2241 Reviewed by: imp Sponsored by: The FreeBSD Foundation
|
281180 |
06-Apr-2015 |
dteske |
Eliminate literal escape sequences from *.rc
Suggested by: alfred MFC after: 3 days X-MFC-to: stable/10 X-MFC-with: r280976, r281179
|
281179 |
06-Apr-2015 |
dteske |
Partially revert r280976: Back to previous mode-endings based on feedback
Reported by: lattera MFC after: 3 days X-MFC-to: stable/10 X-MFC-with: r280976
|
281178 |
06-Apr-2015 |
dteske |
Partially revert r280975: Back to previous mode-endings based on feedback
Reported by: lattera MFC after: 3 days X-MFC-to: stable/10 X-MFC-with: r280975
|
281177 |
06-Apr-2015 |
dteske |
Partially revert r280974: Back to previous mode-endings based on feedback
MFC after: 3 days X-MFC-to: stable/10 X-MFC-with: r290974 Reported by: lattera
|
281176 |
06-Apr-2015 |
dteske |
Partially revert r280925: Back to previous mode-endings based on feedback
MFC after: 3 days X-MFC-with: r280925 Reported by: lattera
|
281169 |
06-Apr-2015 |
andrew |
Make global variabled only used in this file static.
|
281156 |
06-Apr-2015 |
andrew |
Add support to the efi boot1 and loader for 32-bit ARM. This will be used by the future qemu virt support.
Differential Revision: https://reviews.freebsd.org/D2238 Reviewed by: emaste
|
281138 |
06-Apr-2015 |
rpaulo |
SMBIOS support for EFI.
MFC after: 1 week
|
281117 |
05-Apr-2015 |
andrew |
Move boot1.efi to the global CLEANFILES list, it's not x86 specific.
|
281115 |
05-Apr-2015 |
andrew |
Spell MACHINE_CPUARCH correctly
|
281114 |
05-Apr-2015 |
andrew |
Add FDT support to loader.efi. This will be used on arm and arm64.
Differential Revision: https://reviews.freebsd.org/D2219
|
281081 |
04-Apr-2015 |
bapt |
Make sure forth manpages are only installed once.
Differential Revision: https://reviews.freebsd.org/D2224 Reviewed by: imp
|
281061 |
04-Apr-2015 |
rpaulo |
loader/EFI: improve the help of the 'mode' command.
|
281060 |
04-Apr-2015 |
rpaulo |
Remove an unnecessary space in a printf call.
|
281059 |
04-Apr-2015 |
rpaulo |
boot1 EFI: reset the screen and select the best mode.
It's necessary to reset the screen to make sure any vendor pixels are gone when we start boot1. In the Lenovo X1 (3rd gen), this is the only way to clear the screen. Previously, the Lenovo logo would only disappear after the kernel started scrolling the display.
After resetting the screen, EFI could put us in the worst LCD mode (oversized characters), so we now find the largest mode we can use and hope it's the most appropriate one (it's not trivial to tell what's the correct LCD resolution at this point). It's worth noting that the final stage loader has a 'mode' command that can be used to switch text modes.
While there, enable the software cursor, just like in the legacy boot mode.
MFC after: 1 week
|
281058 |
04-Apr-2015 |
rpaulo |
Remove whitespace.
|
281028 |
03-Apr-2015 |
andrew |
Add the start of the efi fdt bindings. These will be used on arm and arm64.
Sponsored by: The FreeBSD Foundation
|
281027 |
03-Apr-2015 |
andrew |
Clean up more x86 only options in the efi code.
|
281022 |
03-Apr-2015 |
andrew |
Only enable the efi framebuffer on x86 for now
|
281021 |
03-Apr-2015 |
andrew |
Only include machine/specialreg.h on x86
|
281020 |
03-Apr-2015 |
andrew |
Only enable comconsole and nullconsole on x86.
|
281011 |
03-Apr-2015 |
jkim |
Fix powerpc/ps3 build, too.
|
281010 |
03-Apr-2015 |
jkim |
Fix mips build, really. :-(
|
281009 |
03-Apr-2015 |
jkim |
Revert .PATH changes to fix mips build.
Reported by: bz Pointy hat to: jkim
|
281002 |
02-Apr-2015 |
jkim |
Install newly added brand-*.4th and logo-*.4th files and reduce duplication.
Reviewed by: dteske Pointy hat to: dteske
|
281000 |
02-Apr-2015 |
emaste |
Move i386/efi files to new home in efi/loader/arch/i386
This was not (and still is not) connected to the build, but the EFI loader is in the process of being built for other than amd64 so these files ought to live in their eventual MD location.
|
280980 |
02-Apr-2015 |
dim |
Ensure the cross assembler, linker and objcopy are used for the build32 stage, just like for the regular world stage.
Reviewed by: rodrigc, imp, bapt, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D2187
|
280976 |
02-Apr-2015 |
dteske |
Use ^[[m mode-ending (as-in screen.4th `me') versus ^[[37m
MFC after: 3 days X-MFC-to: stable/10
|
280975 |
02-Apr-2015 |
dteske |
Eliminate literal escape sequences from *.4th
Suggested by: alfred MFC after: 3 days X-MFC-to: stable/10
|
280974 |
02-Apr-2015 |
dteske |
Use fg/b/me from screen.4th instead of literals
MFC after: 3 days X-MFC-to: stable/10
|
280954 |
01-Apr-2015 |
royger |
multiboot: fix error codes
Return EINVAL instead of EFTYPE if we have a multiboot kernel loaded but failed to load the modules. This makes it clear that the kernel/module should be handled by the multiboot handler but something went wrong.
Sponsored by: Citrix Systems R&D
|
280953 |
01-Apr-2015 |
royger |
multiboot: zero mod list array
Zero the list of modules array before using it, or else we might pass uninitialized data in unused fields of the struct that will make Xen choke. Also add a check to make sure malloc succeeds.
Sponsored by: Citrix Systems R&D
|
280950 |
01-Apr-2015 |
andrew |
Move the efi loaders to be under sys/boot/efi. This will help us add support for booting arm and arm64 from UEFI.
Differential Revision: https://reviews.freebsd.org/D2164 Reviewed by: emaste, imp (previous version) Sponsored by: The FreeBSD Foundation
|
280939 |
01-Apr-2015 |
dteske |
Whoops! "arc commit --revision" != "arc diff --update"
|
280938 |
01-Apr-2015 |
dteske |
Add "GELI Passphrase:" prompt to boot loader.
Summary: Add "GELI Passphrase:" prompt to boot loader.
A new loader.conf(5) option of geom_eli_passphrase_prompt="YES" will now allow you to enter your geli(8) root-mount credentials prior to invoking the kernel.
See check-password.4th(8) for details.
Differential Revision: https://reviews.freebsd.org/D2105 Reviewed by: (your name[s] here) MFC after: 3 days X-MFC-to: stable/10 Relnotes: yes
Test Plan: Drop a head copy of check-password.4th into /boot and then apply the patch (only the patch to /boot/check-password.4th is required; no other changes are required but you do have to have a HEAD copy of check-password.4th to apply the patch).
NB: The rest of your /boot files can be up to 2 years old but no older. NB: The test won't work unless your kernel has the following change
https://svnweb.freebsd.org/base?view=revision&revision=273489
Now, put into /boot/loader.conf:
geom_eli_passphrase_prompt="YES"
and reboot.
You should be prompted for a GELI passphrase before the menu (if enabled), just after loading loader.conf(5).
NB: It doesn't matter if you're using GELI or not. However if you are using GELI and a sufficiently new enough release (has SVN r273489) and you entered the proper passphrase to mount your GELI encrypted root device(s), you should notice that the boot process did not stop (you went from loader all the way to login).
Reviewers: cperciva, allanjude, scottl, kmoore
Subscribers: jkh, imp
Differential Revision: https://reviews.freebsd.org/D2105
|
280937 |
01-Apr-2015 |
dteske |
Solve dreaded "dictionary full" issue by segregating words into new vocabularies delay-processing, password-processing, version-processing, frame-drawing, menu-infrastructure, menu-namespace, menu-command-helpers, and menusets-infrastructure. The net effect is to remove almost 200 definitions from the main forth vocabulary reducing the dictionary size by over 50%. The chances of hitting "dictionary full" should be greatly reduced by this patch.
MFC after: 3 days X-MFC-to: stable/10
|
280936 |
01-Apr-2015 |
dteske |
When forced to draw ASCII lines/boxen, use `=' for the horizontal line when double frames are requested versus single.
MFC after: 3 days X-MFC-to: stable/10
|
280935 |
01-Apr-2015 |
dteske |
Securely overwrite (zero) user input when we finish password checks.
MFC after: 3 days X-MFC-to: stable/10
|
280934 |
01-Apr-2015 |
dteske |
Add remainder of supported ANSI escape sequences.
MFC after: 3 days X-MFC-to: stable/10
|
280933 |
01-Apr-2015 |
dteske |
Move beastie to logo-*.4th; brands to brand-*.4th
Suggested by: jkh, alfred MFC after: 3 days X-MFC-to: stable/10
|
280931 |
01-Apr-2015 |
dteske |
Comments. No functional change.
MFC after: 3 days X-MFC-to: stable/10
|
280926 |
31-Mar-2015 |
dteske |
Whitespace and cleanup. No functional change(s).
MFC after: 3 days X-MFC-to: stable/10
|
280925 |
31-Mar-2015 |
dteske |
Optimize bootmsg to use fg/bg/me from screen.4th NB: screen.4th is included by way of check-password.4th
MFC after: 3 days X-MFC-to: stable/10
|
280924 |
31-Mar-2015 |
dteske |
Comments. No functional change(s).
MFC after: 3 days X-MFC-to: stable/10
|
280923 |
31-Mar-2015 |
dteske |
Whitespace. No functional change(s).
MFC after: 3 days MFH: stable/10
|
280922 |
31-Mar-2015 |
dteske |
Change contents of the exec variable in loader.conf to be friendly to both Ficl/Forth and Lua. No visible change for Forth while enabling Lua support.
Submitted by: rpaulo
|
280906 |
31-Mar-2015 |
ganbold |
Add device tree files for Hardkernel Odroid-C1 and Visson ATV-102 devices.
Submitted by: John Wehle Approved by: stas (mentor)
|
280808 |
29-Mar-2015 |
andrew |
Reorder to help with moving the efi loader parts to sys/boot/efi. As these will depend on ficl having been built, and are set via bsd.arch.inc.mk we need to place this after ficl.
As Makefile.amd64 is now late enough we can add the i386 directory to this.
|
280520 |
25-Mar-2015 |
andrew |
Add the Raspberry Pi 2 dtb, based on the existing rpi.dts, but with a different base address for the devces.
MFC after: 1 week
|
280451 |
24-Mar-2015 |
mav |
Remove from legacy ata(4) driver support for hardware, supported by newer and more functional drivers ahci(4), siis(4) and mvs(4).
This removes about 3400 lines of code, unused since FreeBSD 9.0 release.
|
280385 |
23-Mar-2015 |
dteske |
Add missing variables password/bootlock_password. NB: Using NULL for default values in-case someone or something uncomments it and reboots. See check-password.4th(8) for additional details.
MFC after: 3 days X-MFC-to: stable/10 stable/9
|
280384 |
23-Mar-2015 |
dteske |
Increase max input for password/bootlock_password from 16 to 255. When taking user input, don't show asterisks as the user types but instead spin a twiddle. Implement Ctrl-U to clear user input. If the buffer is empty, either because the user has yet to type anything, presses Ctrl-U at any time, or presses backspace enough to end in an empty buffer, the twiddle is erased to provide feed- back to the user.
MFC after: 3 days X-MFC-to: stable/10 stable/9
|
280383 |
23-Mar-2015 |
dteske |
Prevent password/bootlock_password features of loader.conf(5) from locking out everyone in the case of setting a password longer than the maximum (currently 16 characters). Now the required password is truncated to the maximum input that can be read from the user.
PR: kern/198760 MFC after: 3 days MFH: stable/10 stable/9
|
280382 |
23-Mar-2015 |
dteske |
Fix sgetkey indentation to be consistent with the rest of the file. Remove some blank lines, adjust some comments and update copyright.
MFC after: 3 days X-MFC-to: stable/10 stable/9
|
280351 |
22-Mar-2015 |
andrew |
Stop calling x86_efi_copyin and x86_efi_getdev directly. This is to help port loader.efi to both 32 and 64-bit ARM where we can use this file with minimal changes.
Differential Revision: https://reviews.freebsd.org/D2031 Reviewed by: imp
|
280194 |
17-Mar-2015 |
ian |
Fix fdt_platform_fixups() mem region handling. It turns out u-boot puts several types of data into the mem-info array (DRAM, SRAM, flash). We need to extract just the DRAM entries for translation into fdt memory properties.
Also, increase the number of regions we can handle from 5 to 16.
Submitted by: Michal Meloun
|
280047 |
15-Mar-2015 |
andrew |
Move the x86 specific files to be built in the amd64 loader.efi. This will help with importing the arm and arm64 versions of loader.efi.
|
280031 |
15-Mar-2015 |
dim |
Upgrade our copy of clang, llvm and lldb to 3.6.0 release.
Please note that from 3.5.0 onwards, clang/llvm/lldb require C++11 support to build; see UPDATING for more information.
Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.6.0/docs/ReleaseNotes.html> <http://llvm.org/releases/3.6.0/tools/clang/docs/ReleaseNotes.html>
Thanks to Ed Maste for the lldb part of this upgrade.
Exp-run: antoine
|
279950 |
13-Mar-2015 |
jhb |
Enable bzipfs support in the EFI loader. - Add bzipfs to the list of supported filesystems in the EFI loader. - Increase the heap size allocated for the EFI loader from 2MB to 3MB.
Differential Revision: https://reviews.freebsd.org/D2053 Reviewed by: benno, emaste, imp MFC after: 2 weeks Sponsored by: Cisco Systems, Inc.
|
279949 |
13-Mar-2015 |
jhb |
The System V ABI for amd64 allows functions to use space in a 128 byte redzone below the stack pointer for scratch space and requires interrupt and signal frames to avoid overwriting it. However, EFI uses the Windows ABI which does not support this. As a result, interrupt handlers in EFI push their interrupt frames directly on top of the stack pointer. If the compiler used the red zone in a function in the EFI loader, then a device interrupt that occurred while that function was running could trash its local variables. In practice this happens fairly reliable when using gzipfs as an interrupt during decompression can trash the local variables in the inflate_table() function resulting in corrupted output or hangs.
Fix this by disabling the redzone for amd64 EFI binaries. This requires building not only the loader but any libraries used by the loader without redzone support.
Thanks to Jilles for pointing me at the redzone once I found the stack corruption.
Differential Revision: https://reviews.freebsd.org/D2054 Reviewed by: imp MFC after: 2 weeks Sponsored by: Cisco Systems, Inc.
|
279929 |
12-Mar-2015 |
jhb |
Allow the EFI loader to work with large kernels and/or modules (for example, a large mfsroot). Note that for EFI the kernel and modules (as well as other metadata files such as splash screens or memory disk images) are loaded into a statically-sized staging area. When the EFI loader exits it copies this staging area down to the location the kernel expects to run at. - Add bounds checking to the copy routines to fail attempts to access memory outside of the staging area. Previously loading a combined kernel + modules larger than the staging size (32MB) would overflow the staging area trashing whatever memory was afterwards. Under Intel's OVMF firmware for qemu this resulted in fatal faults in the firmware itself. Now the attempt will fail with ENOMEM. - Allow the staging area size to be configured at compile time via an EFI_STAGING_SIZE variable in src.conf or on the command line. It accepts the size of the staging area in MB. The default size remains 32MB.
MFC after: 2 weeks Sponsored by: Cisco Systems, Inc.
|
279923 |
12-Mar-2015 |
jhb |
Fix 'make depend' by moving the LDSCRIPT dependency into DPADD.
Sponsored by: Cisco Systems, Inc.
|
279922 |
12-Mar-2015 |
jhb |
Revert r279381. The EFI loader needs to use a separate libstand that is compiled against the ABI EFI expects (specifically, no stack redzone) so it cannot share libstand with userboot (which must use the System V ABI).
|
279799 |
09-Mar-2015 |
nwhitehorn |
Provide a shim layer in loader to condense the Open Firmware device tree to an FDT. This is how Linux and OS X boot and can avoid some issues with using Open Firmware at runtime. The code is highly experimental and disabled by default; it can be turned on by setting the loader environment variable "usefdt" to a non-NULL value.
|
279798 |
09-Mar-2015 |
nwhitehorn |
Fix loader on PowerPC following r279784. It turns out that, due to .PATH confusion, the _setjmp.S in libstand was never being used and was instead being shadowed by the libc version. Since the libc version now uses FPRs, it caused loader to crash.
|
279738 |
07-Mar-2015 |
trasz |
Add error reporting (but not actual handling yet, apart from reporting them) for EFI calls to boot1.efi.
MFC after: 1 month Sponsored by: The FreeBSD Foundation
|
279598 |
04-Mar-2015 |
dim |
When compiling boot2 with gcc on i386 and pc98, only use the custom flag -mno-align-long-strings when compiling with base gcc. This is checked by comparing the version number against 4.2.1, which is not exactly right, but good enough. (There is no other way to check whether we are using the non-standard gcc in base, as far as I know.)
Reported by: rodrigc MFC after: 3 days
|
279533 |
02-Mar-2015 |
br |
o Add more room for EFI boot blocks o Specify the filename as argument
Differential Revision: https://reviews.freebsd.org/D1999 Reviewed by: emaste@
|
279382 |
27-Feb-2015 |
obrien |
sys/boot/userboot/libstand/libstand.a should also include strtoul.c; as lib/libstand/ and sys/boot/libstand32/ already does.
|
279381 |
27-Feb-2015 |
obrien |
Use sys/boot/userboot/libstand/ and not /usr/lib/libstand.a.
|
279380 |
27-Feb-2015 |
obrien |
Remove duplicated -I.
|
279345 |
27-Feb-2015 |
jchandra |
Move PCI bus below simplebus for Broadcom XLP
This will enable us to do common allocation code for memory and interrupts for SoC devices as well as PCI devices.
|
279306 |
26-Feb-2015 |
jchandra |
Remove run-time allocation of XLP IRQs
Follow the same static IRQ to Interrupt Table Entry mapping as the other OS supported on XLP.
|
279305 |
26-Feb-2015 |
jchandra |
Add netlogic,xlp-pic as interrupt controller for XLP
Add an empty driver for netlogic,xlp-pic to ensure that the device tree is correct and has an interrupt controller.
|
279275 |
25-Feb-2015 |
mav |
Fix potential NULL dereference.
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> MFC after: 2 weeks
|
279222 |
23-Feb-2015 |
grembo |
Improve memory detection in biosmem.c
- Add a quirk to allow ignoring e820 extended memory detection. - Improve memory detection through e801. - Add bootloader command "biosmem".
See differential revision for more details.
Reviewed by: jhb, adrian Approved by: adrian Differential Revision: https://reviews.freebsd.org/D1741
|
279038 |
20-Feb-2015 |
imp |
Allow EFI and ACPI to be included together. When ACPI is included first, EFI will use its definitions for {,U}INT{8,16,32,64} and BOOLEAN. When EFI is included first, define ACPI_USE_SYSTEM_INTTYPES to tell ACPI that these are already defined.
Differential Revision: https://reviews.freebsd.org/D1905
|
278915 |
17-Feb-2015 |
loos |
Set the #address-cells and #size-cells properties on I2C controllers of Raspberry-pi.
This fixes the issues of dtc(1) while compiling I2C addresses set in "reg" property.
MFC after: 2 weeks
|
278582 |
11-Feb-2015 |
jhb |
MFi386: When building some of the boot loaders with clang, and DEBUG_FLAGS or CFLAGS having '-g' in it, clang outputs several assembly directives that are too new for our version of binutils.
Therefore, assemble the resulting .s files with clang instead. A more general solution can be implemented when a GNU as-compatible driver for clang's integrated assembler appears.
Tested by: gjb
|
278579 |
11-Feb-2015 |
gnn |
Summary: Update CPU identification call to recent version.
|
278335 |
06-Feb-2015 |
dteske |
Revert SVN r277693.
Discussed on: src-committers Approved by: core (emaste)
|
278304 |
06-Feb-2015 |
rpaulo |
Add a FAT label to the EFI boot1 partition.
MFC after: 1 week
|
278234 |
05-Feb-2015 |
rpaulo |
EFI: print more information about EFI Tables.
This adds the GUIDs for DXE, HOB, Memory Type Information and Debug Image Info.
|
278032 |
01-Feb-2015 |
ian |
Do not skip setting the memory 'reg' property if the fdt data already contains one. Published dts source often includes a minimal default memory definition and expects it to be overridden by the bootloader after determining the actual physical memory in the system.
|
278020 |
01-Feb-2015 |
nwhitehorn |
Allow this to work with disks greater than 4 GB and with names not beginning with "s".
|
277997 |
31-Jan-2015 |
nwhitehorn |
Relocate kernel to high address space (a static + 64 MB for now) to avoid conflicts with the Linux host kernel. This lets you kexec an unmodified GENERIC64.
|
277991 |
31-Jan-2015 |
nwhitehorn |
Add FDT reservations for memory areas used by OPAL or RTAS runtime firmware. This allows a kexec'ed kernel to boot multiuser under PHYP.
|
277988 |
31-Jan-2015 |
nwhitehorn |
Add code to support loading relocatable kernels at offsets that are not zero.
|
277962 |
31-Jan-2015 |
nwhitehorn |
Add support for booting relocatable kernels on PowerPC.
|
277957 |
31-Jan-2015 |
grembo |
Fix order of functions in smbios.c (corrects r277949), since this corrects a build error I committed this directly, sorry.
|
277949 |
30-Jan-2015 |
grembo |
New function smbios_match to detect BIOS versions during boot
Motivation is to introduce BIOS specific quirks early in the boot process. smbios_match can be called before malloc is avaible, that's why parts of smbios_detect have been moved into a separate function smbios_probe that will be called by smbios_detect as well as smbios_match.
Reviewed by: jhb Approved by: jhb Differential Revision: https://reviews.freebsd.org/D1679
|
277943 |
30-Jan-2015 |
ambrisko |
Fix UEFI PXE boot on a NIC that isn't the first NIC.
In UEFI it appears all available NICS are present to pass network traffic. This gives the capability to load the loader.efi from disk then set currdev="net3:" and then all I/O will over over the 2nd NIC. On this machine is appears the first handle is the first NIC in IPv4 mode and then the 2nd handle is the first NIC in IPv6 mode. The 3rd handle is the 2nd NIC in IPv4 mode. The fix is to index into the handle based on the unit cached from boot device passed into the loader.
Some testing info from a test boot via kenv: currdev="net3:" loaddev="net3:" boot.netif.name="igb1"
|
277745 |
26-Jan-2015 |
br |
Add a generic way for hooking PMC interrupt.
|
277693 |
25-Jan-2015 |
des |
Fix the font in the text version. This has bothered me for a long time...
MFC after: 1 week
|
277644 |
24-Jan-2015 |
br |
Add support for audio transmitting, include drivers for: 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.
|
277622 |
24-Jan-2015 |
will |
Fix panic in firewire and creation of invalid config ROM. (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
|
277418 |
20-Jan-2015 |
royger |
loader: fix the size of MODINFOMD_MODULEP
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
|
277413 |
20-Jan-2015 |
ganbold |
Enable Synopsys DesignWare Mobile Storage Host Controller 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)
|
277291 |
17-Jan-2015 |
royger |
loader: use correct types for parse_modmetadata
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
|
277215 |
15-Jan-2015 |
royger |
loader: implement multiboot support for Xen Dom0
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>
|
277208 |
15-Jan-2015 |
loos |
Fix the PMIC node name to match the PMIC i2c address.
Remove an extra blank line.
No functional changes.
MFC after: 3 days
|
277205 |
15-Jan-2015 |
imp |
Reserve and ignore the a new module metadata type MDT_PNP_INFO for 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
|
277134 |
13-Jan-2015 |
hselasky |
Add new USB template to the USB bootloader module.
|
277042 |
12-Jan-2015 |
loos |
Add support to turn off Beaglebone with poweroff(8) or shutdown(8) -p.
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
|
276853 |
08-Jan-2015 |
dim |
Apparently more Makefiles use stuff from compiler-rt, so fix them up too. (This did not show during a make universe, strangely.)
|
276711 |
05-Jan-2015 |
nwhitehorn |
Missed change in r276688. Apologies for build breakage.
|
276688 |
05-Jan-2015 |
nwhitehorn |
Add kexec-based Linux shim loader for use with the firmware petitboot 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
|
276632 |
03-Jan-2015 |
ian |
Create a custom /boot/defaults/loader.conf for ARM. This differs from the 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.
|
276533 |
02-Jan-2015 |
br |
Add driver for general-purpose I/O (GPIO).
Sponsored by: DARPA, AFRL
|
276479 |
31-Dec-2014 |
dim |
Upgrade our copy of clang, llvm and lldb to 3.5.0 release.
Please note that this version now requires C++11 support to build; see UPDATING for more information.
Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.5.0/docs/ReleaseNotes.html> <http://llvm.org/releases/3.5.0/tools/clang/docs/ReleaseNotes.html>
Thanks to Ed Maste, Roman Divacky, Andrew Turner, Justin Hibbits and Antoine Brodin for their invaluable help with this import.
Approved by: portmgr (antoine) MFC after: 1 month
|
276360 |
29-Dec-2014 |
joel |
mdoc: remove EOL whitespace.
|
276356 |
29-Dec-2014 |
dim |
Use -Wl, to pass options to the linker for PowerPC's boot1.chrp.
MFC after: 3 days
|
276306 |
27-Dec-2014 |
ian |
Use the proper markup for single quotes.
|
276292 |
27-Dec-2014 |
joel |
mdoc: improvements to SEE ALSO.
|
276207 |
25-Dec-2014 |
loos |
Add interrupt support for GPIO pins on OMAP4 and AM335x.
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
|
276161 |
24-Dec-2014 |
ian |
Revert r276101, it didn't fix the problem and causes a compile error (nested comment blocks).
|
276147 |
23-Dec-2014 |
emaste |
Update comment: only one file in the FAT file system EFI boot image
Sponsored by: The FreeBSD Foundation
|
276146 |
23-Dec-2014 |
emaste |
Use explicit --output-target to set EFI file format
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
|
276145 |
23-Dec-2014 |
ian |
Convert a couple lingering NO_FORTH conditionals to test MK_FORTH.
|
276101 |
23-Dec-2014 |
rpaulo |
Temporarily disable the cpus directive until I figure out what's wrong.
|
276087 |
22-Dec-2014 |
ian |
Add a new loader(8) variable, twiddle_divisor, allowing control over the 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.
|
276074 |
22-Dec-2014 |
imp |
Make this compile when TERM_EMU is not defined.
|
276026 |
21-Dec-2014 |
ian |
Allow whitspace to appear between device name and unit number in loaderdev. 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}".
|
275963 |
20-Dec-2014 |
rpaulo |
Driver for CPU frequency/voltage control on the Raspberry Pi.
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
|
275861 |
17-Dec-2014 |
br |
Add configuration files for BERI soft-core synthesized on Terasic SoCKit board (Altera FPGA).
Use virtio block as root filesystem device.
Sponsored by: DARPA, AFRL
|
275860 |
17-Dec-2014 |
br |
Move memory node to the root, so fdt_get_mem_regions() can find it.
|
275859 |
17-Dec-2014 |
br |
o Add PIO[2,3] devices information o Enable Virtio Block
|
275647 |
09-Dec-2014 |
br |
o Add BERI Virtio Networking Frontend (if_vtbe) 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
|
275506 |
05-Dec-2014 |
hselasky |
Define the ffs() function in the USB bootloader's global and independent header file.
|
275457 |
03-Dec-2014 |
emaste |
Increase BERI loader section alignment to 16
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
|
275411 |
02-Dec-2014 |
nyan |
MFi386: r275305 (by rdivacky)
Unbreak the code for non-digits below '0' by casting the expression to unsigned int.
|
275305 |
30-Nov-2014 |
rdivacky |
Unbreak the code for non-digits below '0' by casting the expression to unsigned int.
Pointed out by: bde
|
275261 |
29-Nov-2014 |
imp |
The current limit of 100k for the linker hints file is getting a bit 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
|
275241 |
29-Nov-2014 |
nyan |
MFi386: r275059, r275061, r275062 and r275191 (by rdivacky)
Shrink boot2 by a couple more bytes.
|
275239 |
29-Nov-2014 |
nyan |
MFi386: r275237 (by rdivacky)
Shrink boot2 a bit more by factoring out common pattern of printf();return(-1);
|
275237 |
29-Nov-2014 |
rdivacky |
Shrink boot2 a bit more by factoring out common pattern of printf();return(-1);
This shrinks it by 8bytes using clang35 and by 12bytes using clang34.
|
275191 |
27-Nov-2014 |
rdivacky |
Revert part of r275059. Comparing unsigned 8 bit value against -'0' is always false so the conditional block is optimized away.
|
275062 |
25-Nov-2014 |
rdivacky |
Fix style(9).
Suggested by: jkim
|
275061 |
25-Nov-2014 |
rdivacky |
Fix style(9).
Suggested by: jkim
|
275059 |
25-Nov-2014 |
rdivacky |
Shrink boot2 by a couple more bytes.
Reviewed by: jhb Tested by: me, dim
|
275049 |
25-Nov-2014 |
br |
o Add PIO and vtblk mmio device info to the tree o Add FPGA memory window to static dev mappings o Fix whitespace
|
274925 |
23-Nov-2014 |
joel |
Misc mdoc fixes:
- Remove superfluous paragraph macros. - Remove/fix empty or incorrect macros. - Sort sections into conventional order. - Terminate quoted strings properly. - Remove EOL whitespace.
|
274823 |
21-Nov-2014 |
brooks |
Merge from CheriBSD:
commit 6d3c4c09226ad6bdd662e3e52489ef294a6ce298 Add terasic_mtl vt(4) framebuffer driver
terasic_mtl can be built with syscons(4) and vt(4) attachments, selected at compile time.
commit 33240259b47a7c990a5a88a19f133a5600432a4c Clear terasic_mtl text buffer on attach
commit d188c2d2412953f949624aa35cd07082830943c9 Update terasic vt(4) driver for FreeBSD r269783
commit d1cc54eee852fa4fc9d359d5bb2171d24ec73369 Safety belt to ensure vt(4) fb parameters are correct
commit 76e6d468ef45711d7952786095fc4791289ebb4b Improve terasic_mtl_vt fdt parsing
- Use OF_getencprop to avoid need for explicit endian handling (submitted by ray@freebsd.org) - Check for expected length and correct pointer type
commit 3e2524b8995ab66e8a9295e4c87cbc7126eeddf4 Correct device_printf usage
commit 9e53e3c8e0766414e25662c95b09cc51c92443b0 Switch framebuffer to match host endianness
Xorg and xf86-video-scfb work much better with a native-endian framebuffer.
commit 0f49259d596321ed85288ac0e1fb4ee1c966df48 Switch DE4 to vt(4) and enable kbdmux
commit 5bc96ebc89db7d134ad478335090c8477c1677c7 Add missing \n in device_printf calls
Submitted by: emaste Sponsored by: DARPA, AFRL
|
274818 |
21-Nov-2014 |
brooks |
Merge from CheriBSD (3422ebe71b6c06fe78b1be73623b240c219e08e3):
Rename beripic to beripic0.
MFC after: 1 week Sponsored by: DARPA, AFRL
|
274537 |
15-Nov-2014 |
nyan |
MFi386: r274398
Move NFS and TFTP filesystems before the synthetic filesystems (bzip, gzip, and split).
|
274528 |
14-Nov-2014 |
imp |
Cleanup trailing newlines noticed while looking for other issues.
|
274439 |
12-Nov-2014 |
andrew |
Add the FDT table GUID. This is used to pass the device tree blob from UEFI to the loader in a similar way to the ACPI tables.
This will be used on arm64 but is not specific to the architecture.
Sponsored by: The FreeBSD Foundation
|
274407 |
11-Nov-2014 |
grehan |
Fix incorrect reading of 32-bit modinfo by 64-bit loaders.
The various structures in the mod_metadata set of a FreeBSD kernel and modules contain pointers. The FreeBSD loader correctly deals with a mismatch in loader and kernel pointer size (e.g. 32-bit i386/ppc loader, loading 64-bit amd64/ppc64 kernels), but wasn't dealing with the inverse case where a 64-bit loader was loading a 32-bit kernel.
Reported by: ktcallbox@gmail.com with a bhyve/i386 and ZFS root install Differential Revision: https://reviews.freebsd.org/D1129 Reviewed by: neel, jhb MFC after: 1 week
|
274398 |
11-Nov-2014 |
jhb |
Move NFS and TFTP filesystems before the synthetic filesystems (bzip, gzip, and split). "Real" filesystems should always be listed first so that the "bare" filename is tried before alternate filenames. For PXE booting in particular this can remove a lot of spurious pathname lookups.
While here, move splitfs to the bottom after the bzip and gzip filesystems as it is the least often used.
Tested by: Prokash Sinha <psinha@panasas.com> MFC after: 1 week
|
274337 |
10-Nov-2014 |
delphij |
MFV r274273:
ZFS large block support.
Please note that booting from datasets that have recordsize greater than 128KB is not supported (but it's Okay to enable the feature on the pool). This *may* remain unchanged because of memory constraint.
Limited safety belt is provided for mounted root filesystem but use caution is advised.
Illumos issue: 5027 zfs large block support
MFC after: 1 month
|
274331 |
09-Nov-2014 |
melifaro |
Renove faith(4) and faithd(8) from base. It looks like industry have chosen different (and more traditional) stateless/statuful NAT64 as translation mechanism. Last non-trivial commits to both faith(4) and faithd(8) happened more than 12 years ago, so I assume it is time to drop RFC3142 in FreeBSD.
No objections from: net@
|
274127 |
05-Nov-2014 |
marcel |
In alloc_pread() and kern_pread(), print errors only when DEBUG is defined. An error is not fatal and is supposed to be handled by the caller.
Obtained from: Juniper Networks, Inc.
|
273940 |
01-Nov-2014 |
marcel |
Change the order of the arguments to file_loadraw(). They were swapped as of r262345 when file_loadraw() was made public and this little detail got overlooked during porting.
Obtained from: Juniper Networks, Inc.
|
273934 |
01-Nov-2014 |
andrew |
Start to allow platforms other than U-Boot to use the FDT code in loader by moving U-Boot specific code from libfdt.a to a new libuboot_fdt.a. This needs to be a new library for linking to work correctly.
Differential Revision: https://reviews.freebsd.org/D1054 Reviewed by: ian, rpaulo (earlier version) MFC after: 1 week
|
273927 |
01-Nov-2014 |
andrew |
Move the definitions of the fdt functions from a uboot header to a new fdt header. There is nothing in the fdt spec that ties it to U-Boot.
While here sort and fix the signature of fdt_setup_fdtp.
MFC after: 1 week
|
273914 |
31-Oct-2014 |
andrew |
The command name is a constant, use the correct type.
MFC after: 1 week
|
273913 |
31-Oct-2014 |
andrew |
Clean up the types of a few strings to make them const when they are never written to.
|
273865 |
30-Oct-2014 |
ambrisko |
Make UEFI booting of 4Kn disks work: - convert boot1.efi to corrrectly calculate the lba for what the media reports and convert the size based on what FreeBSD uses. The existing code would use the 512 byte lba and convert the size using 4K byte size. - make fsck_msdosfs read the boot block as 4K so the read doesn't fail on a 4Kn drive since FreeBSD will error out parition reads of a block. Make the bpbBytesPerSec check a multiple of 512 since it can be 512 or 4K depending on the disk. This allows fsck to pass checking the EFI partition on a 4Kn disk.
To create the EFI file system I used: newfs_msdos -F 32 -S 4096 -c 1 -m 0xf8 <partition> This works for booting 512 and 4Kn disks.
Caveat is that loader.efi cannot read the 4Kn EFI partition. This isn't critical right now since boot1.efi will read loader.efi from the ufs partition. It looks like loader.efi can be fixed via making some of the 512 bytes reads more flexible. loader.efi doesn't have trouble reading the ufs partition. This is probably a simple fix.
I now have FreeBSD installed on a system with 4Kn drives and tested the same code works on 512.
MFC after: 1 week
|
273469 |
22-Oct-2014 |
br |
Provide a character device allowing us to access BERI memory regions.
Sponsored by: DARPA, AFRL
|
273380 |
21-Oct-2014 |
br |
Add driver for Micrel KSZ9021 Gigabit Ethernet Transceiver (PHY).
Sponsored by: DARPA, AFRL
|
273334 |
20-Oct-2014 |
marcel |
Fully support constructors for the purpose of code coverage analysis. This involves: 1. Have the loader pass the start and size of the .ctors section to the kernel in 2 new metadata elements. 2. Have the linker backends look for and record the start and size of the .ctors section in dynamically loaded modules. 3. Have the linker backends call the constructors as part of the final work of initializing preloaded or dynamically loaded modules.
Note that LLVM appends the priority of the constructors to the name of the .ctors section. Not so when compiling with GCC. The code currently works for GCC and not for LLVM.
Submitted by: Dmitry Mikulin <dmitrym@juniper.net> Obtained from: Juniper Networks, Inc.
|
273298 |
20-Oct-2014 |
ian |
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.
|
273278 |
19-Oct-2014 |
br |
Add driver for BERI soft processor 'ring buffer' device. Ring device provides a way for communicate to BERI peripherals such as BERI debug unit and console.
Sponsored by: DARPA, AFRL
|
273256 |
18-Oct-2014 |
rpaulo |
AM335X FDT: use the oma3-wdt string for compatibility with Linux.
Submitted by: andrew MFC after: 1 week
|
273248 |
18-Oct-2014 |
rpaulo |
AM335x FDT: add an entry for the watchdog.
MFC after: 1 week
|
273142 |
15-Oct-2014 |
schweikh |
Correct grammos.
MFC after: 3 weeks
|
272896 |
10-Oct-2014 |
br |
o Add machine-dependent SMP part o Enable SMP
Sponsored by: DARPA, AFRL
|
272888 |
10-Oct-2014 |
bapt |
Rename elf*-powerpc into elf*-powerpc-freebsd in binutils
The powerpc support was the only supported architecture not prepending the elf format name with "-freebsd" in base this change makes it consistent with other architectures. On newer version of binutils the powerpc format is also prepended with "-freebsd".
Also modify the kernel ldscripts in that regards.
As a result it is now possible cross build the kernel on powerpc using newer binutils
Differential Revision: https://reviews.freebsd.org/D926 Differential Revision: https://reviews.freebsd.org/D928
|
272785 |
09-Oct-2014 |
marcel |
Properly NUL-terminate the on-stack buffer for reading /boot.config or /boot/config. In qemu, on a warm boot, the stack is not all zeroes and we parse beyond the file's contents.
Obtained from: Juniper Networks, Inc.
|
272749 |
08-Oct-2014 |
ae |
Fix comment.
MFC after: 1 week
|
272712 |
07-Oct-2014 |
br |
Add driver for Synopsys DesignWare Mobile Storage Host Controller.
Sponsored by: DARPA, AFRL
|
272557 |
05-Oct-2014 |
ae |
Rework bootparttest to use more code from sys/boot. Use disk_open() call to emulate loader behavior.
|
272556 |
05-Oct-2014 |
ae |
Add a bit more debug messages.
|
272487 |
03-Oct-2014 |
ae |
Add GUID of FreeBSD slice to GPT scheme.
MFC after: 1 week
|
272350 |
01-Oct-2014 |
andrew |
Remove MK_ARM_EABI, the armeb issues have been fixed. The code to support the oabi is still in the tree, but it is expected this will be removed as developers work on surrounding code.
With this commit the ARM EABI is the only supported supported ABI by FreeBSD on ARMa 32-bit processors.
X-MFC after: never Relnotes: yes Differential Revision: https://reviews.freebsd.org/D876
|
272256 |
28-Sep-2014 |
nyan |
MFi386: r261567
Switch from lib/libstand to sys/boot/libstand32.
|
272255 |
28-Sep-2014 |
nyan |
MFi386: r268974
Supress clang warning for FreeBSD printf %b and %D formats.
|
272252 |
28-Sep-2014 |
nyan |
MFi386: r261520
Drop the 3rd clause from all 3 clause BSD licenses.
|
272250 |
28-Sep-2014 |
nyan |
Reduce diffs against i386.
|
272249 |
28-Sep-2014 |
nyan |
Remove extra '\'.
|
272214 |
27-Sep-2014 |
kan |
Remove obsolete compatibility glue and improve firewire code readability.
Commit my version of style(9) pass over the firewire code. Now that other people have started changing the code carrying this is as a local patch is not longer a viable option.
MFC after: 1 month
|
272120 |
25-Sep-2014 |
br |
Add driver for Synopsys DesignWare 3504-0 Universal 10/100/1000 Ethernet MAC.
Sponsored by: DARPA, AFRL
|
272105 |
25-Sep-2014 |
emaste |
Remove duplicated header content
I fail at patch(1).
MFC after: 3 days
|
271762 |
18-Sep-2014 |
emaste |
Switch to text mode in UEFI boot
The loader previously failed to display on MacBooks and other systems where the UEFI firmware remained in graphics mode.
Submitted by: Rafael EspÃndola
|
271757 |
18-Sep-2014 |
emaste |
Wrap long lines introduced in r268227
|
271609 |
15-Sep-2014 |
avg |
add gptzfsboot.8, zfsboot.8 and zfsloader.8 manual pages
Many thanks to Warren Block for his reviews, corrections and additions.
Reviewed by: Warren Block <wblock@FreeBSD.org> MFC after: 1 week
|
271475 |
12-Sep-2014 |
ambrisko |
Add support for serial and null console to UEFI boot loader.
|
271431 |
11-Sep-2014 |
br |
Add Reset Manager driver. This driver provides generic way to reset and provides sysctl tunables for enable/disable FPGA<->HPS bridges.
Sponsored by: DARPA, AFRL
|
271406 |
10-Sep-2014 |
imp |
Add support for calling pcibios routines from the bootloader. Implement the following routines: pcibios-device-count count the number of instances of a devid pcibios-read-config read pci config space pcibios-write-config write pci config space pcibios-find-devclass find the nth device with a given devclass pcibios-find-device find the nth device with a given devid pcibios-locator convert bus device function ti pcibios locator These commands are thin wrappers over their PCI BIOS 2.1 counterparts. More informaiton, such as it is, can be found in the standard.
Export a nunmber of pcibios.X variables into the environment to report what the PCI IDENTIFY command returned.
Also implmenet a new command line primitive (pci-device-count), but don't include it by default just yet, since it depends on the recently added words and any errors here can render a system unbootable.
This is intended to allow the boot loader to do special things based on the hardware it finds. This could be have special settings that are optimized for the specific cards, or even loading special drivers. It goes without saying that writing to pci config space should not be done without a just cause and a sound mind.
Sponsored by: Netflix
|
271285 |
08-Sep-2014 |
ian |
Add a 'ubenv import' command to import environment variables from the u-boot env into the loader(8) env (which also gets them into the kernel env). You can import selected variables or the whole environment. Each u-boot var=value becomes uboot.var=value in the loader env. You can also use 'ubenv show' to display uboot vars without importing them.
|
271186 |
06-Sep-2014 |
br |
Add FPGA Manager driver. This driver allows to program FPGA core from FreeBSD userspace running on ARM core.
Sponsored by: DARPA, AFRL
|
271124 |
04-Sep-2014 |
ian |
Stop setting the iomux device status to disabled, now that we have a driver.
|
271093 |
04-Sep-2014 |
br |
Add initial support for Altera SOCFPGA (heterogeneous ARM/FPGA) SoC family. Include board configuration for Terasic SoCKit (Altera Cyclone V).
Sponsored by: DARPA, AFRL
|
271054 |
03-Sep-2014 |
ian |
When built with FDT support, add /boot/dtb to the list of search directories.
|
270971 |
02-Sep-2014 |
imp |
The proper compatibility string for the AHCI device is allwinner,sun4i-ahci, so use that instead of the older string which had become FreeBSD specific.
|
270521 |
25-Aug-2014 |
ae |
Since the size of GPT entry may differ from the sizeof(struct gpt_ent), use the size from GPT header to iterate entries.
Suggested by: marcel@ MFC after: 1 week
|
270445 |
24-Aug-2014 |
ae |
The size of the GPT table can not be less than one sector.
Reported by: rodrigc@ MFC after: 1 week
|
270168 |
19-Aug-2014 |
bdrewery |
Revert r267233 for now. PIE support needs to be reworked.
1. 50+% of NO_PIE use is fixed by adding -fPIC to INTERNALLIB and other build-only utility libraries. 2. Another 40% is fixed by generating _pic.a variants of various libraries. 3. Some of the NO_PIE use is a bit absurd as it is disabling PIE (and ASLR) where it never would work anyhow, such as csu or loader. This suggests there may be better ways of adding support to the tree. Many of these cases can be fixed such that -fPIE will work but there is really no reason to have it in those cases. 4. Some of the uses are working around hacks done to some Makefiles that are really building libraries but have been using bsd.prog.mk because the code is cleaner. Had they been using bsd.lib.mk then NO_PIE would not have been needed.
We likely do want to enable PIE by default (opt-out) for non-tree consumers (such as ports). For in-tree though we probably want to only enable PIE (opt-in) for common attack targets such as remote service daemons and setuid utilities. This is also a great performance compromise since ASLR is expected to reduce performance. As such it does not make sense to enable it in all utilities such as ls(1) that have little benefit to having it enabled.
Reported by: kib
|
270161 |
19-Aug-2014 |
imp |
New DTS files to suppport the SAM9260EK eval board. Derived, in part, from the SAM9G20EK dts files (so that file is GPL'd).
|
269741 |
08-Aug-2014 |
sbruno |
Quiesce warning about discarding a const qualifier in assignement.
Phabric: https://phabric.freebsd.org/D445 Reviewed by: neel
|
269621 |
06-Aug-2014 |
marcel |
Optionally include the install command as found on Juniper products like EX and SRX. The install command uses pkgfs to extract a kernel, zero or more modules and a root file system from the specified package and boots the kernel. The name of the kernel, the list of modules and the name of the root file system can be specified by putting a file called "metatags in the package.
The package to use is given by an URL. The schemes supported are tftp and file. For the file scheme, the disk is currently hardcoded but that should really look for the package on all devices and partititions.
Obtained from: Juniper Networks, Inc.
|
269618 |
06-Aug-2014 |
marcel |
Rename command_unload() to unload() and re-implement command_unload() in terms of unload() This allows unloading all files by the loader itself.
Obtained from: Juniper Networks, Inc.
|
269616 |
06-Aug-2014 |
marcel |
In command_lsmod() prevent overrunning lbuf due to long path names. Call pager_output() separately for the module name.
Obtained from: Juniper Networks, Inc.
|
269614 |
05-Aug-2014 |
marcel |
In file_loadraw() print the name of the file as well as its size so that we know what file is being loaded and how big the file is once complete. This has ELF modules and disk images emit the same output.
|
269567 |
05-Aug-2014 |
hselasky |
Add new USB phone descriptor template for USB device side mode.
MFC after: 3 days
|
269541 |
04-Aug-2014 |
brooks |
Merge from CheriBSD:
Make the sysinit tool a build tool rather than building in with /usr/bin/cc and running it from OBJDIR. (It will be moved to usr.bin once a manpage is written and a few style cleanups are done.)
Split the makefile bits for Hans' kernel shim layer into their own includable kshim.mk.
Move USB support into a .mk file so loaders can include it.
|
269385 |
01-Aug-2014 |
br |
Rename files: keep codename only to make it shorter.
|
269369 |
01-Aug-2014 |
br |
Add support for Chromebook2 -- next-generation 8-core (4 in operation), 4GB ram (3.5 usable) ARM machine.
Support covers device drivers for: - Serial Peripheral Interface (SPI) - Chrome Embedded Controller (EC) - SPI-based version - XHCI and USB 3.0 dual-role device PHY
Also: - Add support for Exynos5420 in Pad module - Move power-related functions to separate driver -- Power Management Unit (PMU) - Enable XHCI for Chromebook1
Special thanks to grehan@ for hardware, and to hselasky@ for r269139.
|
269361 |
31-Jul-2014 |
marcel |
Add pkgfs, a file system implementation for reading files out of a compressed tarball, aka package. The file system assumes that the files are layed-out in the same order as needed to allow for the package to be streamed. As such, it does not read an entire package into memory first.
Some properties of the file system: o Files that start with '+' are silently skipped. These are found in FreeBSD package files. o Files smaller than or equal to 4KB will be cached in memory and as such allow for some flexibility in accessing files out of order. o Files with the .tgz suffix are assumed to be (sub-)packages and signal the end for a directory scan.
Obtained from: Juniper Networks, Inc.
|
269154 |
27-Jul-2014 |
marcel |
1. Suppress output for the TFTP-based PXE loader, but leave it in place for the NFS-based PXE loader. Information like rootpath or rootip aren't that useful for TFTP and the gateway IP is typically already printed by the firmware. 2. Only set boot.nfsroot.* environment variables for NFS. This makes it possible for the OS to work either way by checking for the presence or absence of environment variables. 3. Set boot.netif.server when using TFTP so that the OS can fetch files as well. A typical use case for this is network-based installations with the installation process implemented on top of FreeBSD. 4. The pxelinux loader has a set of alternative names it tries for configuration files. Make it easier to do something similar in Forth by providing the IP address as a 32-bit hex number in the pxeboot.ip variable and the MAC address with dashes in the pxeboot.hwaddr environment variable.
Obtained from: Juniper Networks, Inc.
|
269153 |
27-Jul-2014 |
marcel |
Give loaders more control over the Forth initialization process. In particular, allow loaders to define the name of the RC script the interpreter needs to use. Use this new-found control to have the PXE loader (when compiled with TFTP support and not NFS support) read from ${bootfile}.4th, where ${bootfile} is the name of the file fetched by the PXE firmware.
The normal startup process involves reading the following files: 1. /boot/boot.4th 2. /boot/loader.rc or alternatively /boot/boot.conf
When these come from a FreeBSD-defined file system, this is all good. But when we boot over the network, subdirectories and fixed file names are often painful to administrators and there's really no way for them to change the behaviour of the loader.
Obtained from: Juniper Networks, Inc.
|
269114 |
26-Jul-2014 |
sjg |
Reviewed by: imp
LDFLAGS is supposed to be given to CC not LD. Define _LDFLAGS as a filtered version of LDFLAGS safe to give to LD
|
269113 |
26-Jul-2014 |
ian |
Enable at91 systems to boot from high capacity SD cards.
This also fixes a few minor violations of the SD protocol, such as running the bus at high speed during the card identification sequence.
The sdcard_init() routine now probes for SDHC cards so that later read requests can make needed adjustments between block and byte offsets based on card type.
There is a new MCI_readblocks() function that takes block number and block count parameters instead of byte-offset values. Using this routine, boot loader code can load a kernel from any location on an SDHC or standard SD.
The old MCI_read() interface remains unchanged so that existing customized boot loader code will still keep working without changes. Using this routine, boot loaders can load a kernel from anywhere in the first 4GB of an SDHC card (or of course any location on a standard SD card).
A new sdcard_use4wire() routine allows boot loaders to request 4-bit transfers; it should be called after sdcard_init(). The sdcard_init() routine no longer assumes the hardware is 4-wire capable and by default sets things up for 1-bit transfers. (4-wire mode is unreliable on at91rm9200, works on later SoCs.)
PR: 155894 Submitted by: me. years ago.
|
269112 |
26-Jul-2014 |
ian |
The 'flags' variable is conflicting with some inline code in a header file ("variable flags shadows a global..."), just rename this variable to wish away the problem.
|
269111 |
26-Jul-2014 |
ian |
Eliminate "no previous prototype for main" warnings.
|
269110 |
26-Jul-2014 |
ian |
Silence a clang warning about a while loop with an empty body.
|
269036 |
23-Jul-2014 |
sbruno |
Delete the entire cleandepend/cleanmachine target thing now that its been cleared out in r269029
Reviewed by: emaste@freebsd.org
|
269030 |
23-Jul-2014 |
sbruno |
Add .NOPATH to the machine target so that builds in sys/boot work and don't error out building zfs loader.
Submitted by: sjg@freebsd.org
|
269029 |
23-Jul-2014 |
sbruno |
Update so that clean target in sys/boot will delete the symlink created for machine
Reviewed by: emaste
|
269017 |
23-Jul-2014 |
royger |
don't set CR4 PSE bit on amd64
Setting PSE together with PAE or in long mode just makes the PSE bit completely ignored, so don't set it.
Sponsored by: Citrix Systems R&D Reviewed by: kib
|
268978 |
22-Jul-2014 |
sbruno |
copyin/copyout should return 0 if they are truly emulating copyin/copyout behavior.
remove stray %s in printf
rewrite printf to display 64bit type without warning.
|
268977 |
22-Jul-2014 |
br |
Enable Freescale i.MX I2C driver for i.MX6.
|
268975 |
22-Jul-2014 |
sbruno |
Remove boot1.efi during clean target.
|
268974 |
22-Jul-2014 |
sbruno |
Supress clang warning for FreeBSD printf %b and %D formats
MFC after: 2 weeks
|
268838 |
18-Jul-2014 |
br |
Add support for Toradex Apalis i.MX6 development board.
Sponsored by: Toradex AG
|
268836 |
18-Jul-2014 |
br |
Fix typo.
|
268834 |
18-Jul-2014 |
br |
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
Discussed with: ian
|
268633 |
14-Jul-2014 |
ian |
Fix the Zedboard/Zynq ethernet driver to handle media speed changes so that it can connect to switches at speeds other than 1gb.
This requires changing the reference clock speed. Since we still don't have a general clock API that lets a SoC-independant driver manipulate its own clocks, this change includes a weak reference to a routine named cgem_set_ref_clk(). The default implementation is a no-op; SoC-specific code can provide an implementation that actually changes the speed.
Submitted by: Thomas Skibo <ThomasSkibo@sbcglobal.net>
|
268476 |
10-Jul-2014 |
imp |
Compile boot2 with clang on pc98.
|
268475 |
10-Jul-2014 |
imp |
Make SERIAL support optional again. Enable it for i386 because a huge percentage of machines has a 16550. Disable it for pc98 since only a tiny fraction of them have one. These changes save 293 bytes when building with clang, but preserves the ability to build with serial if you really want. We now have 92 bytes free (412 with the in-tree gcc).
|
268474 |
10-Jul-2014 |
imp |
Merge the clang support from i386. Don't move to clang yet.
|
268351 |
07-Jul-2014 |
marcel |
Remove ia64.
This includes: o All directories named *ia64* o All files named *ia64* o All ia64-specific code guarded by __ia64__ o All ia64-specific makefile logic o Mention of ia64 in comments and documentation
This excludes: o Everything under contrib/ o Everything under crypto/ o sys/xen/interface o sys/sys/elf_common.h
Discussed at: BSDcan
|
268254 |
04-Jul-2014 |
jmg |
add a hit that you can enable this by default if you want... necessary if you want the keyboard break to work early in boot..
MFC after: 1 week
|
268227 |
03-Jul-2014 |
emaste |
Display efi framebuffer dimensions on boot
The EFI framebuffer produces corrupted output on certain systems. For now display the framebuffer parameters (address, dimensions, etc.) on boot to aid in tracking down these issues.
Sponsored by: The FreeBSD Foundation
|
268075 |
01-Jul-2014 |
delphij |
MFV r267565:
4757 ZFS embedded-data block pointers ("zero block compression") 4913 zfs release should not be subject to space checks
MFC after: 2 weeks
|
267293 |
09-Jun-2014 |
joel |
mdoc: fix AUTHORS section.
|
267233 |
08-Jun-2014 |
bdrewery |
In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE.
This is currently an opt-in build flag. Once ASLR support is ready and stable it should changed to opt-out and be enabled by default along with ASLR.
Each application Makefile uses opt-out to ensure that ASLR will be enabled by default in new directories when the system is compiled with PIE/ASLR. [2]
Mark known build failures as NO_PIE for now.
The only known runtime failure was rtld.
[1] http://www.bsdcan.org/2014/schedule/events/452.en.html Submitted by: Shawn Webb <lattera@gmail.com> Discussed between: des@ and Shawn Webb [2]
|
267202 |
07-Jun-2014 |
rpaulo |
Mov p2041rdb.dts, p3041ds.dts, and p5020ds.dts to the powerpc directory.
|
267199 |
07-Jun-2014 |
rpaulo |
Fix the script to run make_dtb.sh instead of just dtc.
|
267197 |
07-Jun-2014 |
rpaulo |
Add Makefiles to automatically test all the DTS files.
There are several broken DTS files right now in the arm directory.
|
267183 |
06-Jun-2014 |
hselasky |
Compilation fixes.
|
267021 |
03-Jun-2014 |
loos |
FreeBSD, historically, has always used 8-bit addresses for i2c devices (7-bit device address << 1), always leaving the room for the read/write bit.
This commit convert ti_i2c and revert r259127 on bcm2835_bsc to make them compatible with 8-bit addresses. Previous to this commit an i2c device would have different addresses depending on the controller it was attached to (by example, when compared to any iicbb(4) based i2c controller), which was a pretty annoying behavior.
Also, update the PMIC i2c address on beaglebone* DTS files to match the new address scheme.
Now the userland utilities need to do the correct slave address shifting (but it is going to work with any i2c controller on the system).
Discussed with: ian MFC after: 2 weeks
|
266943 |
01-Jun-2014 |
br |
Add support for Exynos 5420 Octa - 8-core heterogeneous (big.LITTLE) ARM machine (4 x Cortex-A15 @ 1.8Ghz, 4 x Cortex-A7 @ 1Ghz)
Add configuration for Arndale Octa development board
|
266938 |
01-Jun-2014 |
rodrigc |
Allow customization of the brand displayed in the boot menu. If the user specifies in /boot/loader.conf:
loader_brand="mycustom-brand"
Then "mycustom-brand" will be executed instead of "fbsd-logo".
Submitted by: alfred Obtained from: FreeNAS
|
266894 |
30-May-2014 |
hselasky |
Use own memory pool of 128K until further, hence that works the best.
Sponsored by: DARPA, AFRL
|
266893 |
30-May-2014 |
hselasky |
Add optional support for USB to BERI loader. Fix the linker script so that the garbage collection feature can be used when linking.
Sponsored by: DARPA, AFRL
|
266887 |
30-May-2014 |
hselasky |
Resolve issue with resolving malloc() and free() functions at linking time.
Sponsored by: DARPA, AFRL
|
266886 |
30-May-2014 |
hselasky |
Export structure(s) properly.
Sponsored by: DARPA, AFRL
|
266885 |
30-May-2014 |
hselasky |
Fix delay() function in the BERI loader code.
Reviewed by: brooks @ Sponsored by: DARPA, AFRL
|
266882 |
30-May-2014 |
hselasky |
USB boot library improvements: - Make the USB boot library more configurable. - Resolve compile issues when cross building. - Allow use of separate malloc. - Allow use of separate endian macros.
Sponsored by: DARPA, AFRL
|
266881 |
30-May-2014 |
hselasky |
Add support for USB mass storage to libusbboot.
Sponsored by: DARPA, AFRL
|
266875 |
30-May-2014 |
br |
Reset HSIC hub during EHCI initialization. This makes devices connected to external USB ports available to the system.
Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>
|
266872 |
30-May-2014 |
br |
o Make keyboard-related properties to be compatible with vendor standard o Allow setting keymap in FDT, use hardcoded one by default o Represent fallback keymap as a list rather than directly usable M*N array
Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>
|
266871 |
30-May-2014 |
ganbold |
Add common kernel config file for Rockchip RK3188 systems by splitting current RADXA config. Radxa Rock (RR) boards have few types such as RR (full version), RR Lite and some variants of RR engineering samples. Add kernel config and FDT file for RR Lite board.
Approved by: stas (mentor)
|
266832 |
29-May-2014 |
hselasky |
Hook the ISP/SAF1761 driver into MIPS kernel builds. - Update FDT file for BERI DE4 boards. - Add needed kernel configuration keywords. - Rename module to saf1761otg so that the device unit number does not interfere with the hardware ID in dmesg.
Sponsored by: DARPA, AFRL
|
266785 |
28-May-2014 |
br |
Describe I2C arbitrator device in DTS and use it for Chromebook Snow only.
Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>
|
266783 |
28-May-2014 |
br |
o Add kernel configuration for HP Chromebook 11 o Use machine codename in filenames o Add GEOM_PART_GPT kernel option
Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>
|
266515 |
21-May-2014 |
hselasky |
"%p" formatting already includes "0x" prefix in printout.
|
266396 |
18-May-2014 |
hselasky |
Fix build after recent DWC OTG changes.
|
266318 |
17-May-2014 |
andrew |
Mark the i.MX51 and i.MX53 boards as compatible with the i.MX51 and i.MX53 respectively.
MFC after: 1 week
|
265766 |
09-May-2014 |
bz |
Adjust the register layout to allow for 64bit registers in the future for nf10bmac(4). Also, add support for and enable RX interrupts.
MFC after: 2 weeks
|
265624 |
08-May-2014 |
ganbold |
Silence no interrupt-parent found message during boot.
Approved by: stas (mentor)
|
265420 |
06-May-2014 |
imp |
Use src.opts.mk in preference to bsd.own.mk except where we need stuff from the latter.
|
265400 |
05-May-2014 |
imp |
Introduce CWARNFLAGS.${COMPILER_TYPE} and use that to simplify the thicket of .if ${COMPILER_TYPE} == "clang" that controls warnings. Also, use CFLAGS.clang in a couple places in preference to having a similar construct that's related to the CWARNFLAGS changes.
|
265215 |
02-May-2014 |
eadler |
lindev(4): finish the partial commit in r265212
lindev(4) was only used to provide /dev/full which is now a standard feature of FreeBSD. /dev/full was never linux-specific and provides a generally useful feature.
Document this in UPDATING and bump __FreeBSD_version. This will be documented in the PH shortly.
Reported by: jkim
|
265208 |
02-May-2014 |
ian |
Honor the max-frequency property if it appears in the fdt data. Adjust the exynos and zedboard dts files to use max-frequency (the documented standard property) instead of clock-frequency.
Submitted by: Thomas Skibo <ThomasSkibo@sbcglobal.net>
|
265165 |
01-May-2014 |
grehan |
Provide an alias for the userboot console and name it 'comconsole'. This allows existing loader.conf files that set "console=comconsole" to work without failing. No functional difference otherwise.
Reported by: Michael Dexter, pfSense install. Reviewed by: neel MFC after: 3 weeks
|
265057 |
28-Apr-2014 |
nwhitehorn |
Turn off various fancy instruction sets, as well as deduplicate some options. This makes the EFI loader build work with CPUTYPE=native in make.conf on my Core i5.
|
265038 |
28-Apr-2014 |
ganbold |
Move common device tree informations to separate dtsi files for A10 and A20 SoC. Change cubieboard1 and cubieboard2 dts files accordingly.
Approved by: stas (mentor)
|
265028 |
27-Apr-2014 |
dteske |
Disable the beastie menu for EFI console which doesn't support ANSI codes (so things like `at-xy', `clear', and other commands don't work making it impossible to generate a living menu).
Reviewed by: nwhitehorn, emaste
|
265013 |
27-Apr-2014 |
loos |
Revert r258678. Make the led gpio-specifier match again the #gpio-cells settings from the GPIO controller, which i had broken in r258678. Restore the active-low flag.
|
264993 |
27-Apr-2014 |
nwhitehorn |
Revert to FAT12. This file system is apparently too small for FAT32, even if the old (pre r264889) newfs_msdos allowed it. And FAT12 seems to work perfectly well.
|
264980 |
26-Apr-2014 |
nwhitehorn |
Apparently this is supposed to be FAT32, not FAT12.
|
264975 |
26-Apr-2014 |
nwhitehorn |
Add generation of an EFI filesystem to hold boot1.efi. This is a near-exact copy of the code from boot1.chrp again.
The resulting image is installed to /boot/boot1.efifat. If dd'ed to an 800K "efi" partition, it should result in a bootable system.
|
264928 |
25-Apr-2014 |
imp |
Spell NO_PROFILE= as MK_PROFILE=no.
|
264925 |
25-Apr-2014 |
imp |
Eliminate last vestigies of NO_MAN= in the tree. Also, remove ineffectual NOMAN= lines. These don't change the build at all.
|
264601 |
17-Apr-2014 |
bz |
Add the initial version of if_nf10bmac(4), a driver to support an NetFPGA-10G Embedded CPU Ethernet Core.
The current version operates on a simple PIO based interface connected to a NetFPGA-10G port.
To avoid confusion: this driver operates on a CPU running on the FPGA, e.g. BERI/mips, and is not suited for the PCI host interface.
MFC after: 1 week Relnotes: yes Sponsored by: DARPA/AFRL
|
264482 |
14-Apr-2014 |
brueffer |
Re-indent break statement.
MFC after: 1 week
|
264428 |
13-Apr-2014 |
rpaulo |
Improve the i.MX53 / Digi DTS:
* Fix the IPU address. * Fix the PATA definition. * Add another I2C. * Add more UARTs. * Add SATA.
|
264414 |
13-Apr-2014 |
nwhitehorn |
Apparently some of the i386 boot blocks are so close to full that adding single lines to ufsread.c spills them over. Duplicate a whole bunch of code to get file sizes into boot1.efi/boot1.c rather than modifying ufsread.c.
|
264404 |
13-Apr-2014 |
nwhitehorn |
Add my copyright here. Most of this is unmodified from the original sparc64 version, but at least some indication of changes that postdate the actual invention of EFI is probably a good idea.
|
264403 |
13-Apr-2014 |
nwhitehorn |
Fix buildworld. I had some local bits in my build tree that caused this to work by accident.
|
264400 |
13-Apr-2014 |
imp |
NO_MAN= has been deprecated in favor of MAN= for some time, go ahead and finish the job. ncurses is now the only Makefile in the tree that uses it since it wasn't a simple mechanical change, and will be addressed in a future commit.
|
264391 |
13-Apr-2014 |
nwhitehorn |
Add a simple EFI stub loader. This is a quick and dirty of boot1.chrp from the PowerPC port with all the Open Firmware bits removed and replaced by their EFI counterparts. On the whole, I think I prefer Open Firmware.
This code is supposed to be an immutable shim that sits on the EFI system partition, loads /boot/loader.efi from UFS and tells the real loader what disk/partition to look at. It finds the UFS root partition by the somewhat braindead approach of picking the first UFS partition it can find. Better approaches are called for, but this works for now. This shim loader will also be useful for secure boot in the future, which will require some rearchitecture.
|
264319 |
10-Apr-2014 |
emaste |
Fix EFI loader object tree creation on 9.x build hosts
Previously ${COMPILER_TYPE} was checked in sys/boot/amd64, and the efi subdirectory was skipped altogether for gcc (since GCC does not support a required attribute). However, during the early buildworld stages ${COMPILER_TYPE} is the existing system compiler (i.e., gcc on 9.x build hosts), not the compiler that will eventually be used. This caused "make obj" to skip the efi subdirectory. In later build stages ${COMPILER_TYPE} is "clang", and then the efi loader would attempt to build in the source directory.
Sponsored by: The FreeBSD Foundation
|
264268 |
08-Apr-2014 |
emaste |
(Re)connect sys/boot/amd64 to the build
Sponsored by: The FreeBSD Foundation
|
264263 |
08-Apr-2014 |
emaste |
Add explicit casts to quiet warnings in libefi
Sponsored by: The FreeBSD Foundation
|
264262 |
08-Apr-2014 |
emaste |
Fix printf args for 64-bit archs
Sponsored by: The FreeBSD Foundation
|
264261 |
08-Apr-2014 |
emaste |
Correct a variable's type for 64-bit Ficl
FICL_INT is long.
|
264260 |
08-Apr-2014 |
emaste |
Revert r264132, disconnecting sys/boot/amd64 for now
Some 64-bit Ficl warnings broke tinderbox builds.
|
264251 |
08-Apr-2014 |
rpaulo |
Updates to i.MX53:
* Define support for the SDHCI driver, although it doesn't work yet * Fix the memory mappings for IPU [1]
Reviewed by: ray [1]
|
264230 |
07-Apr-2014 |
imp |
These were bogusly placed in the arm directory. Move them to their proper location in powerpc directory.
|
264208 |
07-Apr-2014 |
emaste |
Do not build the amd64 UEFI loader with GCC
The UEFI loader causes buildworld to fail when building with (in-tree) GCC, due to a typedef redefinition. As it happens the in-tree GCC cannot successfully build the UEFI loader anyhow, as it does not support __attribute__((ms_abi)). Thus, just avoid trying to build it with GCC, rather than disconnecting it from the build until the underlying issue is fixed.
Sponsored by: The FreeBSD Foundation
|
264206 |
06-Apr-2014 |
rpaulo |
Fix the memory region. This board has two memory regions.
|
264204 |
06-Apr-2014 |
ian |
Define the full 1024M of ram on the imx53 QSB board.
|
264199 |
06-Apr-2014 |
imp |
Fix the mips64el build: mips64el should use the mips64 directory, not the mips64el directory.
|
264132 |
04-Apr-2014 |
emaste |
Connect sys/boot/amd64 to the build
Sponsored by: The FreeBSD Foundation
|
264115 |
04-Apr-2014 |
emaste |
Fix printf format mismatches
Sponsored by: The FreeBSD Foundation
|
264096 |
04-Apr-2014 |
ian |
Various fixes to the ti_sdhci driver, mostly to make it work on Pandaboard.
- Don't allow high-speed mode on OMAP4 due to hardware erratum. - Check the proper bit in the status register when waiting for the controller to come out of reset. - Add handling for the "non-removable" fdt property by always returning "card is present" status. - Add the non-removable property for the MMC card on a Beaglebone Black. - Add the non-removable property for Pandaboard as a workaround.
For Pandaboard the card detect pin is handled by the twl6030 fpga device which gets an interrupt on pin change and then has to query the fpga for the actual status. We don't have code to do that yet.
Submitted by: Svatopluk Kraus <onwahe@gmail.com>
|
264095 |
04-Apr-2014 |
emaste |
Support UEFI booting on amd64 via loader.efi
This is largely the work from the projects/uefi branch, with some additional refinements. This is derived from (and replaces) the original i386 efi implementation; i386 support will be restored later.
Specific revisions of note from projects/uefi:
r247380:
Adjust our load device when we boot from CD under UEFI.
The process for booting from a CD under UEFI involves adding a FAT filesystem containing your loader code as an El Torito boot image. When UEFI detects this, it provides a block IO instance that points at the FAT filesystem as a child of the device that represents the CD itself. The problem being that the CD device is flagged as a "raw device" while the boot image is flagged as a "logical partition". The existing EFI partition code only looks for logical partitions and so the CD filesystem was rendered invisible.
To fix this, check the type of each block IO device. If it's found to be a CD, and thus an El Torito boot image, look up its parent device and add that instead so that the loader will then load the kernel from the CD filesystem. This is done by using the handle for the boot filesystem as an alias.
Something similar to this will be required for booting from other media as well as the loader will live in the EFI system partition, not on the partition containing the kernel.
r246231:
Add necessary code to hand off from loader to an amd64 kernel.
r246335:
Grab the EFI memory map and store it as module metadata on the kernel.
This is the same approach used to provide the BIOS SMAP to the kernel.
r246336:
Pass the ACPI table metadata via hints so the kernel ACPI code can find them.
r246608:
Rework copy routines to ensure we always use memory allocated via EFI.
The previous code assumed it could copy wherever it liked. This is not the case. The approach taken by this code is pretty ham-fisted in that it simply allocates a large (32MB) buffer area and stages into that, then copies the whole area into place when it's time to execute. A more elegant solution could be used but this works for now.
r247214:
Fix a number of problems preventing proper handover to the kernel.
There were two issues at play here. Firstly, there was nothing preventing UEFI from placing the loader code above 1GB in RAM. This meant that when we switched in the page tables the kernel expects to be running on, we are suddenly unmapped and things no longer work. We solve this by making our trampoline code not dependent on being at any given position and simply copying it to a "safe" location before calling it.
Secondly, UEFI could allocate our stack wherever it wants. As it happened on my PC, that was right where I was copying the kernel to. This did not cause happiness. The solution to this was to also switch to a temporary stack in a safe location before performing the final copy of the loaded kernel.
r246231:
Add necessary code to hand off from loader to an amd64 kernel.
r246335:
Grab the EFI memory map and store it as module metadata on the kernel.
This is the same approach used to provide the BIOS SMAP to the kernel.
r246336:
Pass the ACPI table metadata via hints so the kernel ACPI code can find them.
r246608:
Rework copy routines to ensure we always use memory allocated via EFI.
The previous code assumed it could copy wherever it liked. This is not the case. The approach taken by this code is pretty ham-fisted in that it simply allocates a large (32MB) buffer area and stages into that, then copies the whole area into place when it's time to execute. A more elegant solution could be used but this works for now.
r247214:
Fix a number of problems preventing proper handover to the kernel.
There were two issues at play here. Firstly, there was nothing preventing UEFI from placing the loader code above 1GB in RAM. This meant that when we switched in the page tables the kernel expects to be running on, we are suddenly unmapped and things no longer work. We solve this by making our trampoline code not dependent on being at any given position and simply copying it to a "safe" location before calling it.
Secondly, UEFI could allocate our stack wherever it wants. As it happened on my PC, that was right where I was copying the kernel to. This did not cause happiness. The solution to this was to also switch to a temporary stack in a safe location before performing the final copy of the loaded kernel.
r247216:
Use the UEFI Graphics Output Protocol to get the parameters of the framebuffer.
Sponsored by: The FreeBSD Foundation
|
264092 |
03-Apr-2014 |
emaste |
Add -fPIC for amd64
Sponsored by: The FreeBSD Foundation
|
264088 |
03-Apr-2014 |
emaste |
Merge efilib changes from projects/uefi
r247216:
Add the ability for a device to have an "alias" handle.
r247379:
Fix network device registration.
r247380:
Adjust our load device when we boot from CD under UEFI.
The process for booting from a CD under UEFI involves adding a FAT filesystem containing your loader code as an El Torito boot image. When UEFI detects this, it provides a block IO instance that points at the FAT filesystem as a child of the device that represents the CD itself. The problem being that the CD device is flagged as a "raw device" while the boot image is flagged as a "logical partition". The existing EFI partition code only looks for logical partitions and so the CD filesystem was rendered invisible.
To fix this, check the type of each block IO device. If it's found to be a CD, and thus an El Torito boot image, look up its parent device and add that instead so that the loader will then load the kernel from the CD filesystem. This is done by using the handle for the boot filesystem as an alias.
Something similar to this will be required for booting from other media as well as the loader will live in the EFI system partition, not on the partition containing the kernel.
r247381:
Remove a scatalogical debug printf that crept in.
|
264087 |
03-Apr-2014 |
emaste |
Build boot/ficl as 64-bit library on amd64
The 32-bit bootloaders on amd64 now use the 32-bit version in ficl32, as is done with libstand32. The native 64-bit ficl will be used by the upcoming UEFI loader.
Sponsored by: The FreeBSD Foundation
|
264078 |
03-Apr-2014 |
emaste |
Put each source file on a separate line
This will simplify rebasing the amd64 UEFI patch set.
Sponsored by: The FreeBSD Foundation
|
264065 |
03-Apr-2014 |
br |
- Setup both secure and non-secure timer IRQs. We don't know our ARM security state, so one of them will operate. - Don't set frequency, since it's unpossible in non-secure state. Only rely on DTS clock-frequency value or get clock from timer.
Discussed with: ian, cognet
|
264056 |
02-Apr-2014 |
ian |
Switch imx6 to using the mpcore per-cpu event timers, but continue to use the GPT timer, which is fixed-frequency, as a timecounter.
|
263968 |
31-Mar-2014 |
emaste |
Merge r246607 by benno from projects/uefi
Use EFI types for EFI values (silences warnings).
EFI UINTN is actually a 64-bit type on 64-bit processors.
Sponsored by: The FreeBSD Foundation
|
263936 |
30-Mar-2014 |
br |
Add support for keyboard used in Samsung Chromebook (ARM machine)
Support covers device drivers for: - Interrupt Combiner - gpio/pad, External Interrupts Controller (pad) - I2C Interface - Chrome Embedded Controller - Chrome Keyboard
Also: - Use new gpio dev class in EHCI driver - Expand device tree information
|
263711 |
25-Mar-2014 |
ganbold |
Switch to my freebsd.org emal address in copyright.
Approved by: stas (mentor)
|
263693 |
24-Mar-2014 |
loos |
Adds the ADC driver for TI AM3xxx SoC family.
The ADC has a 12bit resolution and its raw output can be read via sysctl(8) interface.
The driver allows the setup of ADC clock, samples average and open delay (the number of clock cycles to wait before start the conversion).
The TSC_ADC module is set in the general purpose mode (no touchscreen support).
Tested on Beaglebone-black.
Written based on AM335x TRM.
Reviewed by: rpaulo Approved by: adrian (mentor) Tested by: me, Brian J. McGovern, Sulev-Madis Silber (ketas)
|
263675 |
23-Mar-2014 |
bz |
For the moment also disable interrupts on the altera-jtag-uart imitation and force polling mode.
|
263632 |
22-Mar-2014 |
bz |
For BERI on NetFPGA assume HZ=100 by default.
Remove the uart support in favour of a "jtag-uart" interface imitation providing a much simpler interface, directly exported to the host, allowing the toolchain to be shared with BERI on Altera. [1]
Submitted by: Jong Hun HAN (jong.han cl.cam.ac.uk) [1] MFC after: 2 weeks
|
263468 |
21-Mar-2014 |
ae |
When loader(8) inspects MBR, it chooses GPT as main partition table, when MBR contains only PMBR entry or it is bootcamp-compatible. If MBR has PMBR entry and some other, the loader rejects it.
Make these checks to be less strict. If loader decided that PMBR isn't suitable for GPT, it will use MBR.
Reported by: Paul Thornton Tested by: Paul Thornton MFC after: 1 week
|
263427 |
20-Mar-2014 |
br |
Add support for Samsung Chromebook (ARM Cortex A15 machine).
|
263425 |
20-Mar-2014 |
br |
- Add display-related and clk devices to the tree - Prevent resources intersection with EHCI driver
|
263267 |
17-Mar-2014 |
ian |
Cosmetic changes to printed output, mostly related to probing devices...
- Display slice and partition as <auto> instead of 0 or -1 when they're not set to specific values (the paritition=-1 was confusing folks). - When loaderdev isn't set in the u-boot environment, say so rather than displaying unknown device ''. - Print the loader(8) ident/version info earlier, so that all device- related info appears together afterwards.
The one change here that isn't purely cosmetic is to call setheap() earlier. The comment says "Initialise heap as early as possible", now that's more accurate. It shouldn't make any functional difference, but may be safer if future changes lead to trying to allocate memory earlier.
|
263265 |
17-Mar-2014 |
ian |
Fix the paren nesting so that the network device is probed if the load device type is either network or wildcard.
|
263124 |
14-Mar-2014 |
ian |
Fix an uninitialized variable error I perpetrated when splitting some code into a separate function. Pass the missing value from main() to the probe_disks() function.
|
263117 |
13-Mar-2014 |
emaste |
Connect 64-bit boot ficl to the build
It is not yet used, but this will ensure it doesn't get broken.
Sponsored by: The FreeBSD Foundation
|
263115 |
13-Mar-2014 |
emaste |
Add amd64 EFI headers
Sponsored by: The FreeBSD Foundation
|
263052 |
11-Mar-2014 |
ian |
Enhance the mechanism that lets you configure the ubldr boot device by setting the u-boot environment variable loaderdev=. It used to accept only 'disk' or 'net'. Now it allows specification of unit, slice, and partition as well. In addition to the generic 'disk' it also accepts specific storage device types such as 'mmc' or 'sata'.
If there isn't a loaderdev env var, the historical behavior is maintained. It will use the first storage device it finds, or a network device if no working storage device exists.
99% of the work on this was done by Patrick Kelsey, but I made some changes, so if anything goes wrong, blame me.
Submitted by: Patrick Kelsey <kelsey@ieee.org>
|
263005 |
11-Mar-2014 |
royger |
howto_names: unify declaration
Approved by: gibbs Sponsored by: Citrix Systems R&D
boot/i386/efi/bootinfo.c: boot/i386/libi386/bootinfo.c: boot/ia64/common/bootinfo.c: boot/powerpc/ofw/metadata.c: boot/powerpc/ps3/metadata.c: boot/sparc64/loader/metadata.c: boot/uboot/common/metadata.c: boot/userboot/userboot/bootinfo.c: i386/xen/xen_machdep.c: - Include sys/boot.h - Remove custom definition of howto_names.
sys/boot.h: - Define howto_names.
x86/xen/pv.c: - Include sys/boot.h
|
262918 |
08-Mar-2014 |
imp |
Initial cut for DTS on the hl201 board.
|
262891 |
07-Mar-2014 |
br |
- Export panel info to DTS - Reset all the layers before setup first one - Enable display
|
262885 |
07-Mar-2014 |
br |
Add driver for Port control and interrupts (PORT).
PORT is responsible for external interrupts management, so move IRQ lines from GPIO driver.
|
262736 |
04-Mar-2014 |
ian |
Use an empty ranges statement for the bus, because all the children on the bus have their register properties declared as full physical addresses, not offsets from a base range for the bus.
|
262725 |
04-Mar-2014 |
imp |
Fix syntax errors and warnings emitted by the GPL dtc.
|
262714 |
03-Mar-2014 |
ian |
Add a missing semicolong, noticed by the gnu dt compiler.
|
262711 |
03-Mar-2014 |
ganbold |
Add EMAC and SRAM controller entries to FDT. Add EMAC device to kernel config files and enable EMAC, SRAM drivers for build.
Approved by: stas (mentor)
|
262694 |
02-Mar-2014 |
ian |
Include needed header. I don't know why clang didn't complain about this but gcc sure did.
|
262682 |
02-Mar-2014 |
gonzo |
- Fix BBB's dts compilation with GNU dtc
|
262666 |
01-Mar-2014 |
ian |
If we can't find the u-boot api signature, exit with an error status that includes "badab1"; u-boot displays the status in hex, so this may help give some clue about why ubldr isn't working (more than -1 does anyway).
|
262664 |
01-Mar-2014 |
ian |
Prevent fdt data loaded from a file from overwriting the kernel environment, by having uboot_autoload() do the fdt setup (which may load a file) rather than waiting until we're actually in the process of launching the kernel.
As part of making this happen... - Define LOADER_FDT_SUPPORT on the uboot/lib compile command line when MK_FDT is set. - Make fdt_setup_fdtb() public. - Declare public fdt_whatever() functions in a header instead of using scattered extern decls in .c files.
|
262627 |
28-Feb-2014 |
imp |
Fix syntax errors (missing ;) that bsdl dtc was tolerant of, but gpl dtc isn't.
|
262614 |
28-Feb-2014 |
imp |
Integrate device-tree upstream files into the build process: (1) Invoke cpp to bring in files via #include (although the old /include/ stuff is supported still). (2) bring in files from either vendor tree or freebsd-custom files when building. (3) move all dts* files from sys/boot/fdt/dts to sys/boot/fdt/dts/${MACHINE} as appropriate. (4) encode all the magic to do the build in sys/tools/fdt/make_dtb.sh so that the different places in the tree use the exact same logic. (5) switch back to gpl dtc by default. the bsdl one in the tree has significant issues not easily addressed by those unfamiliar with the code.
|
262613 |
28-Feb-2014 |
dim |
Merge the projects/clang-sparc64 branch back to head. This brings in several updates from the llvm and clang trunks to make the sparc64 backend fully functional.
Apart from one patch to sys/sparc64/include/pcpu.h which is still under discussion, this makes it possible to let clang fully build world and kernel for sparc64.
Any assistance with testing this on actual sparc64 hardware is greatly appreciated, as there will unavoidably be bugs left.
Many thanks go to Roman Divacky for his upstream work on getting the sparc64 backend into shape.
MFC after: 1 month
|
262562 |
27-Feb-2014 |
loos |
Add geom_uncompress to the list of available geom modules on loader.conf.
Approved by: adrian (mentor)
|
262523 |
26-Feb-2014 |
grehan |
Change the MK_ZFS != "no" case slightly to avoid a name clash with LIBZFS in bsd.lib.mk
Submitted by: Max N Boyarov zotrix at bsd dot by OK'd by: sbruno
|
262495 |
25-Feb-2014 |
sbruno |
Slightly better revision of teaching userboot how to respect MK_CDDL
Reviewed by: grehan
|
262487 |
25-Feb-2014 |
sbruno |
Teach userboot to comply with WITHOUT_CDDL/WITHOUT_ZFS
Apparently, LIBZFS is set to a non-empty string when WITHOUT_CDDL/WITHOUT_ZFS are set, I think this is a bug, but work around this feature for now.
Reviewed by: grehan
|
262483 |
25-Feb-2014 |
br |
- Pin configuration is a complete iomux register now and includes drive strength, pull mode, mux mode, speed, etc. - Add i2c devices to the tree - Add IPG clock
|
262456 |
24-Feb-2014 |
br |
Add support for Quartz Module.
Quartz is a tiny module utilized Freescale VF6xx system-on-chip and development kit produced by Device Solutions.
Quartz is available in a form of LGA (38x38x2mm) or as a module with high-density connectors.
Sponsored by: Device Solutions
|
262453 |
24-Feb-2014 |
rwatson |
Build FICL support into little-endian 64-bit MIPS boot-loader fragments; while this won't actually be used for anything (yet), it doesn't hurt to ensure it is exposed to the tinderbox.
Requested by: imp, jmallett MFC after: 3 weeks
|
262452 |
24-Feb-2014 |
rwatson |
Build 64-bit ELF support into little-endian 64-bit MIPS boot-loader fragments; while this won't actually be used for anything (yet), it doesn't hurt to ensure it is exposed to the tinderbox.
Requested by: imp, jmallett MFC after: 3 weeks
|
262440 |
24-Feb-2014 |
loos |
Enable the second and the third I2C controllers on Beaglebone-black.
The first I2C controller is only used to manage the on-board devices (PMIC and HDMI framer) and its bus is not exposed on the expasion headers.
With this change the following pins on the P9 expansion headers are now reserved as I2C pins:
Pin 17 - I2C1 SCL Pin 18 - I2C1 SDA Pin 19 - I2C2 SCL Pin 20 - I2C2 SDA
The I2C2 is the bus that should be used to read the contents of cape eeproms.
Approved by: adrian (mentor, implicit)
|
262406 |
23-Feb-2014 |
rwatson |
Build the BERI boot loader on 64-bit MIPS (but not 32-bit MIPS). While these binaries aren't immediately useful on other MIPSes, still build them as part of mips64 world in order to expose them to tinderbox.
MFC after: 3 weeks Sponsored by: DARPA, AFRL
|
262404 |
23-Feb-2014 |
rwatson |
When building FDT on MIPS, use softfloat.
MFC after: 3 weeks Sponsored by: DARPA, AFRL
|
262403 |
23-Feb-2014 |
rwatson |
On mips64, built 64-bit ELF support.
MFC after: 3 weeks Sponsored by: DARPA, AFRL
|
262402 |
23-Feb-2014 |
rwatson |
Give mips64 its own ficl configuration that sizes pointers/etc suitably for a 64-bit architecture, rather than trying to share the 32-bit MIPS ficl configuration.
When building ficl on MIPS, don't conflate 32-bit and 64-bit ISAs -- unlike x86, we don't want a 32-bit loader on a 64-bit CPU. Use quite conservative code generation -- e.g., softfloat, no GOT, etc -- suitable for early boot.
MFC after: 3 weeks Sponsored by: DARPA, AFRL
|
262347 |
22-Feb-2014 |
ian |
Add a feature for automatically finding and loading a dtb file by name. The name is taken from the u-boot env vars fdtfile or fdt_file. If the name isn't fully-qualified a search is done in module_path locations.
The search order for a usable dtb in fdt_setup_fdtp() is now
- A dtb loaded with an explicit "load -t dtb" command. - A dtb already loaded into memory somehow[*] and pointed to by fdt_to_load. - A dtb in the memory pointed to by the u-boot env vars fdtaddr or fdt_addr. - A file named by the u-boot env vars fdtfile or fdt_file. - A static dtb compiled into the kernel.
* Presumably by some arch-specific command or code.
|
262345 |
22-Feb-2014 |
ian |
Change file_loadraw() from static to public. Change the order of its arguments from type,filename to filename,type to be consistant with other public file_whatever() functions, and change it to return a pointer to the preloaded_file struct describing the file. Adjust existing callers.
|
262340 |
22-Feb-2014 |
ian |
Change fdt_setup_fdtp() from "guess then fail" to more probe-like behavior.
The old code basically said it was going to use some particular blob without knowing whether it could successfully do so, then it would invoke the function to do that and return its status. If it failed, you were done, even if other blobs might be available. Now the code attempts to use some particular blob and if that succeeds it says so and returns success, otherwise it moves on to try another potential blob.
One specific problem this solves is when u-boot sets an fdtaddr variable to point to some memory address, then doesn't actually load a blob at that address. Now the header check will fail, and the code will move on to the fallback dtb compiled into the kernel (if any).
|
262337 |
22-Feb-2014 |
ian |
Allow the ubldr boot device to be choosen by a u-boot environment variable.
If a "loaderdev=<device>" env variable is set and the named device exists, it is used. If the device doesn't exist, fall back to the historic "probe" loop that prefers disk devices over network devices.
If the env var is not set, preserve the historic behavior of using the first working disk device provided by u-boot, or a network device if no functional disk device is found and a network device exists.
The old probe loop is reworked so that it checks all bootable devices provided by u-boot rather than taking an early-out on the first device found. This results in the cosmetic change of listing all potential boot devices for the user, but the behavior of which device it chooses is the same as it has always been.
|
262331 |
22-Feb-2014 |
grehan |
ZFS boot support for bhyveload.
Modelled after the i386 zfsloader. However, with no 2nd stage zfsboot to search for a bootable dataset, attempt a ZFS boot if there is more than one ZFS dataset found during the disk probe.
sys/boot/userboot/zfs - build the ZFS boot library
sys/boot/userboot/userboot/ conf.c - Add the ZFS pool and filesystem tables devicename.c - correctly format ZFS devices main.c - increase the size of the libstand malloc pool to account for the increased usage from ZFS buffers - probe for a ZFS dataset, and if one is found, attempt to boot from it.
usr.sbin/bhyveload/bhyveload.c - allow multiple invocations of the '-d' option to specify multiple disks e.g. a raidz set. Up to 32 disks are supported.
Tested with various combinations of GPT, MBR, single and multiple disks, RAID-Z, mirrors.
Reviewed by: neel Discussed with: avg Tested by: Michael Dexter and others MFC after: 3 weeks
|
262327 |
22-Feb-2014 |
ian |
Look for both fdtaddr and fdt_addr env var names. Grepping the u-boot source shows that board vendors seem to be about evenly split on this.
This commit is a trivial change to note that while the previous change was supposed to be whitespace only, this functional change also crept in. The added lines were:
/* Board vendors use both fdtaddr and fdt_addr names. Grrrr. */
if (s == NULL) s = ub_env_get("fdt_addr");
|
262326 |
22-Feb-2014 |
ian |
Fix the strange 2-space indentation that appears only in this one function.
|
262280 |
21-Feb-2014 |
ian |
Add basic cpu frequency control and temperature monitoring to imx6_anatop.
The temperature monitor device is enabled to sample the die temperature at 16hz. The temperature is published via sysctl. A callout routine at 10hz monitors the temperature and throttles back the cpu if the temperature goes over a user-settable throttle point (by default 10C less than the critical high-point temperature for the chip). The hardware is supposed to be able to deliver an interrupt when the temperature exceeds a settable limit, but the interrupt never arrives so for now a callout does the job.
At attach time we read the maximum cpu frequency the chip is allowed to run at and the cpu is set to run at that speed. It's reported at attach time. A sysctl variable reports the current speed when queried.
New sysctl values:
dev.imx6_anatop.0.cpu_mhz: 984 dev.imx6_anatop.0.temperature: 37.9C dev.imx6_anatop.0.throttle_temperature: 95.0C
Steven Lawrance did the initial heavy lifting on this, but I changed enough stuff that I'm the one to blame if anything breaks.
Submitted by: Steven Lawrance <stl@koffein.net>
|
262242 |
20-Feb-2014 |
loos |
Fix the boot on FDT-enabled systems after r261819.
While here, don't overwrite the error message on interactive use and add the missing '\n' at end of error message for the non interactive use.
Tested by: ian, myself Approved by: adrian (mentor, implicit)
|
262235 |
19-Feb-2014 |
rwatson |
Temporarily unhook BERI boot loader from the build until 32-bit MIPS properly excludes building our 64-bit only boot-loader adaptation.
|
262224 |
19-Feb-2014 |
rwatson |
Do build boot-loader FDT code on MIPS.
MFC after: 3 weeks Sponsored by: DARPA, AFRL
|
262198 |
18-Feb-2014 |
rwatson |
Replace Apache-style license on two Makefiles with stock 2-clause BSD; license, although the former is pretty safe, it wasn't intended to be used in the version of MIPS boot2/loader upstreamed to FreeBSD.
MFC after: 3 weeks Sponsored by: DARPA, AFRL
|
262197 |
18-Feb-2014 |
rwatson |
Commit a first cut at ports of boot2 and loader to 64-bit MIPS, with a particular interest in (and support for) SRI International and the University of Cambridge's BERI FPGA soft-core processor. This includes micro device drivers for the Altera JTAG UART console, memory-mapped flash, and the Altera SD Card IP core in both boot2 and loader. boot2 can be written to the on-board Intel StrataFlash on the DE4 board, and loader can be placed in StrataFlash or the SD Card.
Plenty of XXX comments, but works quite well locally in practice and I am using it daily. Although I had originally ported the ARM version of boot2, the current version is x86-derived as that proved more feature-complete. As we don't currently use partitions on our flash disks, support for that has been commented out relative to x86, but would be easy to add back. FDT support has not yet been hooked up, although some skeleton parts have been put in place for that.
This may well be a useful starting point for ports to other 32-bit and 64-bit MIPS-ISA systems.
This merge is synchronised to CheriBSD github commit e41d74fd719525d4dd7a7ee499114679165eeaf6, but with some additions of $FreeBSD.
MFC after: 3 weeks Sponsored by: DARPA, AFRAL
|
261982 |
16-Feb-2014 |
br |
Add driver for Synchronous Audio Interface (SAI).
SAI supports full-duplex serial interfaces with frame synchronization such as I2S, AC97, TDM, and codec/DSP interfaces.
|
261975 |
16-Feb-2014 |
brueffer |
Retire the nve(4) driver; nfe(4) has been the default driver for NVIDIA nForce MCP adapters for a long time.
Yays: jhb, remko, yongari Nays: none on the current and stable lists
|
261938 |
15-Feb-2014 |
ian |
Add a driver to provide access to imx6 on-chip one-time-programmble data.
Submitted by: Steven Lawrance <stl@koffein.net>
|
261846 |
13-Feb-2014 |
loos |
Make the gpioled(4) work out of the box on BBB.
Add gpioled(4) to BEAGLEBONE kernel and add the description of the four on-board leds of beaglebone-black to its DTS file.
Approved by: adrian (mentor, implicit)
|
261819 |
13-Feb-2014 |
ian |
Validate the header of a new dtb before using it. Remove the comment that says that should be done.
|
261818 |
13-Feb-2014 |
ian |
Enable both sdcard slots, but not the sdio-based wifi that we don't yet have a driver for.
|
261816 |
13-Feb-2014 |
ian |
Add standard non-removable and cd-gpios properties to the usdhc devices. That generates references to gpio devices, so uncomment them even though there isn't a gpio driver to do anything with them yet.
|
261639 |
08-Feb-2014 |
br |
Add drivers for: - Enhanced Direct Memory Access Controller (eDMA) - Direct Memory Access Multiplexer (DMAMUX)
|
261614 |
07-Feb-2014 |
emaste |
Build a 32-bit libstand under sys/boot/ for ppc64
This change is equivalent to r261567 for i386/amd64.
Sponsored by: The FreeBSD Foundation
|
261603 |
07-Feb-2014 |
emaste |
Don't force efi to a 32-bit build on amd64
Sponsored by: The FreeBSD Foundation
|
261567 |
06-Feb-2014 |
emaste |
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
|
261522 |
05-Feb-2014 |
wblock |
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
|
261520 |
05-Feb-2014 |
jhb |
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
|
261517 |
05-Feb-2014 |
jhb |
Similar to r130943 for cdboot.S, update the license on this file to a stock 2-clause BSD license.
MFC after: 1 week
|
261516 |
05-Feb-2014 |
loos |
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)
|
261504 |
05-Feb-2014 |
jhb |
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
|
261411 |
02-Feb-2014 |
br |
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.
|
261406 |
02-Feb-2014 |
br |
o Expand device tree information o Export iomuxc (pins) configuration to DTS o Allow devices to assign clocks in DTS
|
260949 |
20-Jan-2014 |
mav |
Make comconsole options set before its activation to be remembered.
MFC after: 2 weeks Sponsored by: iXsystems, Inc.
|
260447 |
08-Jan-2014 |
ganbold |
Update dts files of Cubieboard1,2 to use 1GB memory. Whilst there, fix cpu config register address for Cubieboard2.
Approved by: stas (mentor)
|
260334 |
05-Jan-2014 |
dim |
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
|
260333 |
05-Jan-2014 |
ian |
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
|
260235 |
03-Jan-2014 |
ian |
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>
|
260150 |
01-Jan-2014 |
delphij |
MFV r259170:
4370 avoid transmitting holes during zfs send
4371 DMU code clean up
illumos/illumos-gate@43466aae47bfcd2ad9bf501faec8e75c08095e4f
NOTE: Make sure the boot code is updated if a zpool upgrade is done on boot zpool.
MFC after: 2 weeks
|
260095 |
30-Dec-2013 |
dim |
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
|
259927 |
26-Dec-2013 |
dim |
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
|
259913 |
26-Dec-2013 |
dim |
For libstand and sys/boot, split off gcc-only flags into CFLAGS.gcc.
MFC after: 3 days X-MFC-With: r259730
|
259591 |
19-Dec-2013 |
marcel |
Bump the loader version to 3.2 after various dosfs fixes (in particular).
|
259267 |
12-Dec-2013 |
bz |
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
|
259122 |
09-Dec-2013 |
ganbold |
Add gpio config for usb1 in dts. That way it gives power to other usb hub via gpio at boot time.
Reviewed by: stas@
|
258780 |
30-Nov-2013 |
eadler |
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
|
258719 |
28-Nov-2013 |
emaste |
Purely cosmetic change: order DT_REL* and DT_RELA* consistently.
From projects/uefi, r246107
Sponsored by: The FreeBSD Foundation
|
258678 |
27-Nov-2013 |
loos |
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)
|
258547 |
25-Nov-2013 |
ganbold |
Add clock frequency for rk3188 watchdog. Whilst here, replace "clocks" to "clock-frequency".
Approved by: ray@
|
258527 |
24-Nov-2013 |
andrew |
Recent versions of U-Boot require us to also backup and restore r9 for API calls to work.
|
258270 |
17-Nov-2013 |
dteske |
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
|
258269 |
17-Nov-2013 |
dteske |
Refactor draw-beastie function.
Discussed on: -hackers
|
258057 |
12-Nov-2013 |
br |
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)
|
257821 |
07-Nov-2013 |
dteske |
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
|
257650 |
04-Nov-2013 |
dteske |
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
|
257518 |
01-Nov-2013 |
ian |
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.
|
257486 |
01-Nov-2013 |
ian |
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).
|
257393 |
30-Oct-2013 |
ian |
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.
|
257299 |
29-Oct-2013 |
rpaulo |
Digi-CCWMX53: enable ffec and uart.
|
257261 |
28-Oct-2013 |
glebius |
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
|
257210 |
27-Oct-2013 |
andrew |
Always build ubldr as a soft-float binary as there is no support for VFP this early on in the boot process.
|
257198 |
26-Oct-2013 |
nwhitehorn |
Fix build after r257162.
|
257172 |
26-Oct-2013 |
zbb |
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)
|
257171 |
26-Oct-2013 |
zbb |
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)
|
257127 |
25-Oct-2013 |
loos |
Remove all the instances of '#undef DEBUG' from kernel.
Suggested by: rpaulo Approved by: adrian (mentor)
|
257062 |
24-Oct-2013 |
loos |
Add the Raspberry Pi SPI controller driver.
Reviewed by: rpaulo Approved by: adrian (mentor)
|
256959 |
23-Oct-2013 |
loos |
Add the Raspberry Pi BSC (I2C compliant) controller driver.
Reviewed by: rpaulo Approved by: adrian (mentor)
|
256948 |
23-Oct-2013 |
ganbold |
Add FDT for Radxa Rock board and Rockchip RK3188 SoC.
Reviewed by: ray@
|
256940 |
22-Oct-2013 |
jkim |
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.
|
256912 |
22-Oct-2013 |
brooks |
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
|
256809 |
20-Oct-2013 |
ian |
Add configuration for the Freescale i.MX53 Quick Start Board.
|
256804 |
20-Oct-2013 |
ian |
Switch to using the standard uart console driver instead of the special driver for early boot debugging.
|
256377 |
12-Oct-2013 |
markm |
Merge from project branch. Uninteresting commits are trimmed.
Refactor of /dev/random device. Main points include:
* Userland seeding is no longer used. This auto-seeds at boot time on PC/Desktop setups; this may need some tweeking and intelligence from those folks setting up embedded boxes, but the work is believed to be minimal.
* An entropy cache is written to /entropy (even during installation) and the kernel uses this at next boot.
* An entropy file written to /boot/entropy can be loaded by loader(8)
* Hardware sources such as rdrand are fed into Yarrow, and are no longer available raw.
------------------------------------------------------------------------ r256240 | des | 2013-10-09 21:14:16 +0100 (Wed, 09 Oct 2013) | 4 lines
Add a RANDOM_RWFILE option and hide the entropy cache code behind it. Rename YARROW_RNG and FORTUNA_RNG to RANDOM_YARROW and RANDOM_FORTUNA. Add the RANDOM_* options to LINT.
------------------------------------------------------------------------ r256239 | des | 2013-10-09 21:12:59 +0100 (Wed, 09 Oct 2013) | 2 lines
Define RANDOM_PURE_RNDTEST for rndtest(4).
------------------------------------------------------------------------ r256204 | des | 2013-10-09 18:51:38 +0100 (Wed, 09 Oct 2013) | 2 lines
staticize struct random_hardware_source
------------------------------------------------------------------------ r256203 | markm | 2013-10-09 18:50:36 +0100 (Wed, 09 Oct 2013) | 2 lines
Wrap some policy-rich code in 'if NOTYET' until we can thresh out what it really needs to do.
------------------------------------------------------------------------ r256184 | des | 2013-10-09 10:13:12 +0100 (Wed, 09 Oct 2013) | 2 lines
Re-add /dev/urandom for compatibility purposes.
------------------------------------------------------------------------ r256182 | des | 2013-10-09 10:11:14 +0100 (Wed, 09 Oct 2013) | 3 lines
Add missing include guards and move the existing ones out of the implementation namespace.
------------------------------------------------------------------------ r256168 | markm | 2013-10-08 23:14:07 +0100 (Tue, 08 Oct 2013) | 10 lines
Fix some just-noticed problems:
o Allow this to work with "nodevice random" by fixing where the MALLOC pool is defined.
o Fix the explicit reseed code. This was correct as submitted, but in the project branch doesn't need to set the "seeded" bit as this is done correctly in the "unblock" function.
o Remove some debug ifdeffing.
o Adjust comments.
------------------------------------------------------------------------ r256159 | markm | 2013-10-08 19:48:11 +0100 (Tue, 08 Oct 2013) | 6 lines
Time to eat crow for me.
I replaced the sx_* locks that Arthur used with regular mutexes; this turned out the be the wrong thing to do as the locks need to be sleepable. Revert this folly.
# Submitted by: Arthur Mesh <arthurmesh@gmail.com> (In original diff)
------------------------------------------------------------------------ r256138 | des | 2013-10-08 12:05:26 +0100 (Tue, 08 Oct 2013) | 10 lines
Add YARROW_RNG and FORTUNA_RNG to sys/conf/options.
Add a SYSINIT that forces a reseed during proc0 setup, which happens fairly late in the boot process.
Add a RANDOM_DEBUG option which enables some debugging printf()s.
Add a new RANDOM_ATTACH entropy source which harvests entropy from the get_cyclecount() delta across each call to a device attach method.
------------------------------------------------------------------------ r256135 | markm | 2013-10-08 07:54:52 +0100 (Tue, 08 Oct 2013) | 8 lines
Debugging. My attempt at EVENTHANDLER(multiuser) was a failure; use EVENTHANDLER(mountroot) instead.
This means we can't count on /var being present, so something will need to be done about harvesting /var/db/entropy/... .
Some policy now needs to be sorted out, and a pre-sync cache needs to be written, but apart from that we are now ready to go.
Over to review.
------------------------------------------------------------------------ r256094 | markm | 2013-10-06 23:45:02 +0100 (Sun, 06 Oct 2013) | 8 lines
Snapshot.
Looking pretty good; this mostly works now. New code includes:
* Read cached entropy at startup, both from files and from loader(8) preloaded entropy. Failures are soft, but announced. Untested.
* Use EVENTHANDLER to do above just before we go multiuser. Untested.
------------------------------------------------------------------------ r256088 | markm | 2013-10-06 14:01:42 +0100 (Sun, 06 Oct 2013) | 2 lines
Fix up the man page for random(4). This mainly removes no-longer-relevant details about HW RNGs, reseeding explicitly and user-supplied entropy.
------------------------------------------------------------------------ r256087 | markm | 2013-10-06 13:43:42 +0100 (Sun, 06 Oct 2013) | 6 lines
As userland writing to /dev/random is no more, remove the "better than nothing" bootstrap mode.
Add SWI harvesting to the mix.
My box seeds Yarrow by itself in a few seconds! YMMV; more to follow.
------------------------------------------------------------------------ r256086 | markm | 2013-10-06 13:40:32 +0100 (Sun, 06 Oct 2013) | 11 lines
Debug run. This now works, except that the "live" sources haven't been tested. With all sources turned on, this unlocks itself in a couple of seconds! That is no my box, and there is no guarantee that this will be the case everywhere.
* Cut debug prints.
* Use the same locks/mutexes all the way through.
* Be a tad more conservative about entropy estimates.
------------------------------------------------------------------------ r256084 | markm | 2013-10-06 13:35:29 +0100 (Sun, 06 Oct 2013) | 5 lines
Don't use the "real" assembler mnemonics; older compilers may not understand them (like when building CURRENT on 9.x).
# Submitted by: Konstantin Belousov <kostikbel@gmail.com>
------------------------------------------------------------------------ r256081 | markm | 2013-10-06 10:55:28 +0100 (Sun, 06 Oct 2013) | 12 lines
SNAPSHOT.
Simplify the malloc pools; We only need one for this device.
Simplify the harvest queue.
Marginally improve the entropy pool hashing, making it a bit faster in the process.
Connect up the hardware "live" source harvesting. This is simplistic for now, and will need to be made rate-adaptive.
All of the above passes a compile test but needs to be debugged.
------------------------------------------------------------------------ r256042 | markm | 2013-10-04 07:55:06 +0100 (Fri, 04 Oct 2013) | 25 lines
Snapshot. This passes the build test, but has not yet been finished or debugged.
Contains:
* Refactor the hardware RNG CPU instruction sources to feed into the software mixer. This is unfinished. The actual harvesting needs to be sorted out. Modified by me (see below).
* Remove 'frac' parameter from random_harvest(). This was never used and adds extra code for no good reason.
* Remove device write entropy harvesting. This provided a weak attack vector, was not very good at bootstrapping the device. To follow will be a replacement explicit reseed knob.
* Separate out all the RANDOM_PURE sources into separate harvest entities. This adds some secuity in the case where more than one is present.
* Review all the code and fix anything obviously messy or inconsistent. Address som review concerns while I'm here, like rename the pseudo-rng to 'dummy'.
# Submitted by: Arthur Mesh <arthurmesh@gmail.com> (the first item)
------------------------------------------------------------------------ r255319 | markm | 2013-09-06 18:51:52 +0100 (Fri, 06 Sep 2013) | 4 lines
Yarrow wants entropy estimations to be conservative; the usual idea is that if you are certain you have N bits of entropy, you declare N/2.
------------------------------------------------------------------------ r255075 | markm | 2013-08-30 18:47:53 +0100 (Fri, 30 Aug 2013) | 4 lines
Remove short-lived idea; thread to harvest (eg) RDRAND enropy into the usual harvest queues. It was a nifty idea, but too heavyweight.
# Submitted by: Arthur Mesh <arthurmesh@gmail.com>
------------------------------------------------------------------------ r255071 | markm | 2013-08-30 12:42:57 +0100 (Fri, 30 Aug 2013) | 4 lines
Separate out the Software RNG entropy harvesting queue and thread into its own files.
# Submitted by: Arthur Mesh <arthurmesh@gmail.com>
------------------------------------------------------------------------ r254934 | markm | 2013-08-26 20:07:03 +0100 (Mon, 26 Aug 2013) | 2 lines
Remove the short-lived namei experiment.
------------------------------------------------------------------------ r254928 | markm | 2013-08-26 19:35:21 +0100 (Mon, 26 Aug 2013) | 2 lines
Snapshot; Do some running repairs on entropy harvesting. More needs to follow.
------------------------------------------------------------------------ r254927 | markm | 2013-08-26 19:29:51 +0100 (Mon, 26 Aug 2013) | 15 lines
Snapshot of current work;
1) Clean up namespace; only use "Yarrow" where it is Yarrow-specific or close enough to the Yarrow algorithm. For the rest use a neutral name.
2) Tidy up headers; put private stuff in private places. More could be done here.
3) Streamline the hashing/encryption; no need for a 256-bit counter; 128 bits will last for long enough.
There are bits of debug code lying around; these will be removed at a later stage.
------------------------------------------------------------------------ r254784 | markm | 2013-08-24 14:54:56 +0100 (Sat, 24 Aug 2013) | 39 lines
1) example (partially humorous random_adaptor, that I call "EXAMPLE") * It's not meant to be used in a real system, it's there to show how the basics of how to create interfaces for random_adaptors. Perhaps it should belong in a manual page
2) Move probe.c's functionality in to random_adaptors.c * rename random_ident_hardware() to random_adaptor_choose()
3) Introduce a new way to choose (or select) random_adaptors via tunable "rngs_want" It's a list of comma separated names of adaptors, ordered by preferences. I.e.: rngs_want="yarrow,rdrand"
Such setting would cause yarrow to be preferred to rdrand. If neither of them are available (or registered), then system will default to something reasonable (currently yarrow). If yarrow is not present, then we fall back to the adaptor that's first on the list of registered adaptors.
4) Introduce a way where RNGs can play a role of entropy source. This is mostly useful for HW rngs.
The way I envision this is that every HW RNG will use this functionality by default. Functionality to disable this is also present. I have an example of how to use this in random_adaptor_example.c (see modload event, and init function)
5) fix kern.random.adaptors from kern.random.adaptors: yarrowpanicblock to kern.random.adaptors: yarrow,panic,block
6) add kern.random.active_adaptor to indicate currently selected adaptor: root@freebsd04:~ # sysctl kern.random.active_adaptor kern.random.active_adaptor: yarrow
# Submitted by: Arthur Mesh <arthurmesh@gmail.com>
Submitted by: Dag-Erling Smørgrav <des@FreeBSD.org>, Arthur Mesh <arthurmesh@gmail.com> Reviewed by: des@FreeBSD.org Approved by: re (delphij) Approved by: secteam (des,delphij)
|
256293 |
10-Oct-2013 |
jhb |
Sanitize the %eflags returned by BIOS routines. Some BIOS routines enter protected mode and may leave protected-mode-specific flags like PSL_NT set when they return to real mode. This can cause a fault when BTX re-enters protected mode after the BIOS mode returns.
PR: amd64/182740 Reported by: Julian Pidancet <julian.pidancet@gmail.com> Approved by: re (gjb) MFC after: 1 week
|
255977 |
01-Oct-2013 |
pluknet |
Sweep man pages replacing ad -> ada.
Approved by: re (blackend) MFC after: 1 week X-MFC note: stable/9 only
|
255944 |
29-Sep-2013 |
bdrewery |
Use MK_SSP=no after including bsd.own.mk to disable SSP instead of user-knob WITH[OUT]_SSP to avoid hitting an error if user has WITH_SSP in their make.conf. Ports now use this knob.
make[7]: "/usr/src/share/mk/bsd.own.mk" line 466: WITH_SSP and WITHOUT_SSP can't both be set.
This is similar to previous cleanup done in r188895
Approved by: bapt Reviewed by: jlh (earlier version) Approved by: re (marius) MFC after: 1 week
|
255939 |
29-Sep-2013 |
andrew |
Fix ixp425 boot2 with ARM EABI: - libkern is missing __aeabi_llsl, implement this by calling __ashldi3. - Because of how the asm entry macros are defined the boot2 code requires the unwind symbols to exist, include them in boot2.
Approved by: re (marius)
|
255130 |
01-Sep-2013 |
rpaulo |
Initial support for the Digi ConnectCore(c) i.MX53 / Wi-i.MX53 boards.
There are many drivers missing, but we can reach single user mode now.
Hardware graciously donated by Douglas Beattie.
|
254952 |
27-Aug-2013 |
dteske |
Update copyright.
|
254942 |
26-Aug-2013 |
dteske |
Building upon SVN r254237, disable automated activation of alternate layouts and add support for default underride to $loader_version, acting as a way to name a release. Release text is not displayed for the aforementioned feature of alternate display layout (introduced in r254237); however, for all other layouts (incl. default), the release name is displayed at lower-right.
See version.4th(8) for additional information and/or historical details. NOTE: Also a minor edit to version.4th(8) while we're here.
|
254733 |
23-Aug-2013 |
jkim |
Set the hint for physical address of RSDP in hexadecimal as before r223262.
|
254598 |
21-Aug-2013 |
ian |
Add support for uarts other than the serial console in TI OMAP SoCs.
The TI uart hardware is ns16550-compatible, except that before it can be used the clocks and power have to be enabled and a non-standard mode control register has to be set to put the device in uart mode (as opposed to irDa or other serial protocols). This adds the extra code in an extension to the standard ns8250 probe routine, and the rest of the driver is just the standard ns8250 code.
|
254559 |
20-Aug-2013 |
ian |
Make the standard sdhci(4) driver work for the TI OMAP family SoCs. The MMCHS hardware is pretty much a standard SDHCI v2.0 controller with a couple quirks, which are now supported by sdhci(4) as of r254507.
This should work for all TI SoCs that use the MMCHS hardware, but it has only been tested on AM335x right now, so this enables it on those platforms but leaves the existing ti_mmchs driver in place for other OMAP variants until they can be tested.
This initial incarnation lacks DMA support (coming soon). Even without it this improves performance pretty noticibly over the ti_mmchs driver, primarily because it now does multiblock IO.
|
254237 |
12-Aug-2013 |
dteske |
Add optional support for default override of standard setup; but only if corresponding functions are provided. If override function does not exist, boot remains unmodified. This patch should not result in any changes.
|
254155 |
09-Aug-2013 |
marcel |
Fix the freaddir implementation for the stand-alone interpreter.
Bug pointed out by: Jan Beich <jbeich@tormail.org>
|
254108 |
08-Aug-2013 |
dteske |
Update legacy static assignments in old code to support dynamic framing, plotting, and alignment coinciding with enhancements in SVN r242667.
|
254105 |
08-Aug-2013 |
dteske |
Since the introduction of SVN r244048 and [follow-up] r244089, it is now safe to build upon ``boot_serial?'' functionality to make safer UI choices.
|
254092 |
08-Aug-2013 |
ae |
Make the check for number of entries less strict. Some partitioning tools can create GPT with number of entries less than 128.
MFC after: 1 week
|
254056 |
07-Aug-2013 |
ganbold |
Bring initial support for Allwinner A20 SoC (Cubieboard2). Add support for A20 timer. Correct interrupt offset depending from chip. Add basic code for CPU configuration module. For now, add kernel config and dts file (only FDT blob related problem needs to be solved later in order to have one kernel for both cubieboard1 and 2).
Approved by: ray@
|
254015 |
07-Aug-2013 |
marcel |
Change <sys/diskpc98.h> to not redefine the same symbols that are being defined in <sys/diskmbr.h>. Instead give the symbols here a "PC98_" prefix. This way, both <sys/diskmbr.h> and <sys/diskpc98.h> can be included in the same C source file.
The renaming is trivial. The only gotcha is that DOSBBSECTOR is also redefined from 0 to 1. This because DOSBBSECTOR was always used in conjunction with an addition of 1. The PC98_BBSECTOR symbol is defined as 1 and the expression is simplified.
Note: it is not believed that ports are seriously impacted; or at all for that matter.
Approved by: nyan@
|
253971 |
05-Aug-2013 |
cognet |
Let the platform calculate the timer frequency at runtime, and use that for the omap4, instead of relying on the (wrong) value provided in the dts.
|
253862 |
01-Aug-2013 |
marcel |
Fix the build of the testmain target. This target compiles a Forth interpreter that can be run on the system and as such cannot be compiled against libbstand. On the one hand this means we need to include the usual headers for system interfaces that we use and on the the other hand we can only use standard system interfaces.
While here, define local variables only when needed to make this WARNS=2 clean on amd64.
PR: 172542 Obtained from: peterj@ Pointed out by: Jan Beich <jbeich@tormail.org>
|
253832 |
31-Jul-2013 |
rpaulo |
Add definitions for the Mailbox, Spinlock and PRU-ICSS devices.
|
253715 |
27-Jul-2013 |
kientzle |
Put in commented-out version of beastie menu commands so that non-i386 users can easily experiment with this.
|
253714 |
27-Jul-2013 |
kientzle |
Install Forth infrastructure along with ubldr.
Note: loader.rc is installed as loader.rc.sample so that by default, none of this is actually used.
|
253172 |
10-Jul-2013 |
marcel |
Add 2 builtin words for working with directories: isdir? ( fd -- bool ) freaddir ( fd -- ptr len TRUE | FALSE )
The 'isdir?' word returns `true' if the file descriptor is for a directory and `false' otherwise.
The 'freaddir' word reads the next directory entry and if successful, returns its name and 'true'. Otherwise 'false' is returned.
These words give the loader the ability to scan directories and read files contained in them for 'rc.d'-like flexibility in handling which modules to load and/or which tunables to set.
Obtained from: Juniper Networks, Inc.
|
253071 |
09-Jul-2013 |
avg |
default loader.conf: there is no need to load zpool.cache now
kernel does not need it for importing a root pool.
MFC after: 4 weeks
|
253024 |
08-Jul-2013 |
gonzo |
- MMC1 (internal eMMC) pins should be configured as input-pullup, except for reset pin
|
252914 |
07-Jul-2013 |
gonzo |
- Add musb node to shared dtsi and proper pin configuratin for every AM553x-based device
|
252719 |
04-Jul-2013 |
gonzo |
Add nodes for PWMSS1 and PWMSS2
|
252586 |
03-Jul-2013 |
wblock |
Add descriptions to the FILES list, fix some mdoc complaints, move the "neither" entry out of the table in BOOTING.
Submitted by: joeld Reviewed by: joeld MFC after: 1 week
|
252492 |
01-Jul-2013 |
wblock |
Add a new gptboot(8) man page. Factor out the redundant information in gpart(8) and boot(8), adding references to gptboot(8) in both.
Reviewed by: jhb, ae, pjd, Paul Schenkeveld <bsdcan@psconsult.nl>, david_a_bright@dell.com (portions), gjb MFC after: 1 week
|
252439 |
01-Jul-2013 |
rpaulo |
Split bcm2835-rpi-b.dts into bcm2835.dtsi and rpi.dts. This DTS actually works on all R-Pi models because VideoCore binary patches it during boot.
Reviewed by: gonzo
|
252371 |
29-Jun-2013 |
ray |
Add FDT for Arndale board and Samsung Exynos5250 SoC.
Submitted by: Ruslan Bukin <br@bsdpad.com>
|
251589 |
10-Jun-2013 |
marius |
- The method introduced as part of r234898 for not altering the boot path when booting from ZFS turned out to also cause the boot path not being adjusted if booting from CD-ROM with firmware versions that do not employ the "cdrom" alias in that case. So shuffle the code around instead in order to achieve the original intent. Ideally, we shouldn't fiddle with the boot path when booting from UFS on a disk either; unfortunately, there doesn't seem to be an universal way of telling disks and CD-ROMs apart, though. [1] - Use NULL instead of 0 for pointers.
PR: 179289 MFC after: 1 week
|
251250 |
02-Jun-2013 |
tijl |
Convert old make variable modifiers :U and :L to bmake :tu and :tl.
Reviewed by: sjg
|
251223 |
01-Jun-2013 |
nyan |
MFi386: revision 245848
Always update the hw.uart.console hint.
|
251020 |
27-May-2013 |
gonzo |
Add DTS for AM335x EVM with properly muxed PWM and LCD pins, and LCD panel description
|
251019 |
27-May-2013 |
gonzo |
Add PWM and LCDC nodes to base DTS for AM335x-based devices
|
250769 |
18-May-2013 |
kientzle |
Correct the spelling of "okay". Add pinmux setting for the Reset GPIO pin for MMC1.
|
250435 |
10-May-2013 |
kientzle |
Move 'compatible' line out of the common am335x.dtsi and into the beaglebone-specific .dts file.
Add a new .dts for the BeagleBone Black with more memory, slightly different pinmux initialization, and with mmchs1 configured (though the latter doesn't quite work yet).
|
250333 |
07-May-2013 |
jhb |
Don't pad disk partition sizes with leading zeros. This was already fixed in a different way by the new disk code used for other platforms.
MFC after: 1 week
|
250291 |
06-May-2013 |
gber |
Move initialization of CESA decoding windows from common section to driver specific files.
- window initialization is done during device attach - CESA TDMA decoding windows values are set based on DTS, not copied from CPU registers - remove unnecessary virtual mapping - update dts file
Obtained from: Semihalf
|
249997 |
27-Apr-2013 |
wkoszek |
Add Xilinx Zynq ARM/FPGA SoC support to FreeBSD/arm port.
Submitted by: Thomas Skibo <ThomasSkibo (at) sbcglobal.net> Reviewed by: wkoszek, freebsd-arm@ (no objections raised)
|
249946 |
26-Apr-2013 |
gonzo |
Move pinmux configuration to board-specific config. It will vary from board to board.
|
249846 |
24-Apr-2013 |
dim |
When rebooting (exiting) from the BTX loader, make sure to restore the GDT from the correct segment, otherwise a triple fault would be caused. In some virtual environments (VMware, VirtualBox, etc) this could lead to a unhandled error or hang in the guest emulation software.
Thanks to avg and jhb for a few hints in the right direction.
Noticed by: Jeremy Chadwick <jdc@koitsu.org> (and many others) MFC after: 1 week
|
249774 |
22-Apr-2013 |
gonzo |
Split BeagleBone DTS to generic AM335x part and Beagle-bone specific
|
249719 |
21-Apr-2013 |
ae |
Since we didn't break the loop, we should set i to -1 to start from the beginning.
Submitted by: Steven Hartland MFC after: 1 week
|
249223 |
07-Apr-2013 |
kientzle |
The CELL fields can be various integer types depending on the platform (ARM uses 'int' and 'unsigned'; i386 uses 'long' and 'unsigned long'), so we need explicit casts to long and unsigned long here to ensure that the result matches the printf %ld and %lx specifiers.
|
249222 |
07-Apr-2013 |
kientzle |
Fix two broken macros.
|
249139 |
05-Apr-2013 |
avg |
strncmp for boot code: fix an off by one error
Before this change strncmp would access and _compare_ n+1 characters in the case where the first n characters match.
MFC after: 5 days
|
248962 |
31-Mar-2013 |
ian |
When running on armv6, set alignment checking to modulo-4 mode rather than modulo-8, because clang emits ldrd and strd instructions for addresses that are only 4-byte aligned
|
248934 |
30-Mar-2013 |
kientzle |
Initialize sym_count to 0.
This fixes a compiler warning introduced in r248121.
|
248557 |
20-Mar-2013 |
ray |
Integrate Efika MX project back to home.
Sponsored by: The FreeBSD Foundation
|
248121 |
10-Mar-2013 |
ian |
Attach the elf section headers to the loaded kernel as metadata, so 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.
|
248118 |
09-Mar-2013 |
ian |
Since ubldr doesn't necessarily load a kernel at the physical address in the 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.
|
247520 |
01-Mar-2013 |
ganbold |
Enable uart driver for A10.
Approved by: gonzo@
|
247413 |
27-Feb-2013 |
ian |
Fix a typo that prevented booting a kernel that had virtual addresses in the elf headers.
|
247301 |
26-Feb-2013 |
ian |
Adjust the arm kernel entry point address properly regardless of whether the e_entry field holds a physical or a virtual address. Add a comment block that explains the assumptions being made by the adjustment code.
|
247250 |
25-Feb-2013 |
kientzle |
Fix the bug I introduced in r247045. 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.
|
247208 |
23-Feb-2013 |
gonzo |
- Move dma, sdhci and mbox nodes down in dts in order to get them initialized after FPIO controller since they might rely on GPIO functionality
- Update interrupts property of dma node to contain all allocated interrupts
|
247201 |
23-Feb-2013 |
kientzle |
"fdt addr" gets run from loader.rc before the kernel is loaded. 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.
|
247200 |
23-Feb-2013 |
kientzle |
Print kernel args as late as possible before jumping into kernel.
|
247047 |
20-Feb-2013 |
kib |
Convert machine/elf.h, machine/frame.h, machine/sigframe.h, 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.
|
247045 |
20-Feb-2013 |
kientzle |
Fix "fdt addr" to accept literal addresses rather than va offsets. 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.
|
246953 |
18-Feb-2013 |
kientzle |
Add mem_load_raw() for loading data from another location in memory.
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.
|
246948 |
18-Feb-2013 |
kientzle |
Clarify an error message. The addresses here are really offsets within the primary mapped memory block (which may not start at address zero).
|
246851 |
15-Feb-2013 |
gonzo |
Enable USB1 (which is EHCI0) for Allwinner A10
Tested by: ganbold@
|
246660 |
11-Feb-2013 |
gonzo |
Add watchdog driver for Allwinner A10
|
246647 |
11-Feb-2013 |
kientzle |
Provide verbose help for fdt commands on platforms that use it.
|
246630 |
10-Feb-2013 |
ae |
Add bootcamp support to the loader.
Tested by: dchagin MFC after: 1 week
|
246616 |
10-Feb-2013 |
hselasky |
- Move scratch data from the USB bus structure to the USB device structure 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
|
246571 |
08-Feb-2013 |
hselasky |
Correctly list the usbloader dependencies.
|
246369 |
05-Feb-2013 |
andrew |
* Add the integer div & mod functions and ARM EABI support functions to libstand. * Stop linking the ARM U-Boot loader against libgcc now libstand has the required symbols.
|
246363 |
05-Feb-2013 |
hselasky |
Add defines to more easily allow a single threaded version of the FreeBSD USB stack. This is useful for non-kernel purposes, like the loader.
|
246359 |
05-Feb-2013 |
hselasky |
Fix depend target.
|
246342 |
05-Feb-2013 |
ganbold |
Add gpio driver and update dts and kernel config accordingly.
Approved by: gonzo@
|
246145 |
31-Jan-2013 |
hselasky |
Initial version of libusbboot, a fully stand-alone, single threaded and functional compilation of the FreeBSD USB stack for use with boot loaders and such.
Discussed with: Hiroki Sato, hrs @ EuroBSDCon
|
246135 |
30-Jan-2013 |
ian |
Do metadata relocation fixup on all loaded modules, not just the kernel.
Approved by: cognet (mentor)
|
246057 |
29-Jan-2013 |
ganbold |
Add simple clock driver and ehci glue code for a10 Update dts and kernel config
Approved by: gonzo@
|
246026 |
28-Jan-2013 |
dmarion |
Configure all GPIO pins as described in Beaglebone SRM.
Submitted by: Emmanuel Vadot <elbarto@megadrive.org>
|
245955 |
27-Jan-2013 |
ian |
Add support for the GlobalScale Technologies DreamPlug computer.
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)
|
245900 |
25-Jan-2013 |
ganbold |
Fix method of naming compatible string to follow "<manufacturer>,<model>" as described in http://www.devicetree.org/Device_Tree_Usage
Reviewed by: andrew@ Approved by: gonzo@
|
245848 |
23-Jan-2013 |
jhb |
Always update the hw.uart.console hint anytime a change is made to the 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
|
245765 |
22-Jan-2013 |
benno |
Fix linking of loader.efi.
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
|
245703 |
21-Jan-2013 |
kientzle |
Use correct size for AM335x CPSW memory window.
|
245697 |
20-Jan-2013 |
avg |
zfs/sparc64 boot: fix booting after r242230
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
|
245677 |
19-Jan-2013 |
andrew |
Link against compiler-rt to pull in the required __aeabi_* functions
|
245673 |
19-Jan-2013 |
kientzle |
Use correct GPIO interrupt lines.
|
245450 |
15-Jan-2013 |
ganbold |
Initial support for Allwinner A10 SoC (Cubieboard) Add simple console driver Add interrupt handling and timer codes Add kernel config file Add dts file Approved by: gonzo
|
245424 |
14-Jan-2013 |
sbruno |
Quiesce some clang warnings while we're here doing stuff.
Submitted by: Hiren Panchasara <hiren.panchasara@gmail.com> Obtained from: Yahoo! Inc
|
245148 |
08-Jan-2013 |
grehan |
Bring in some userboot changes from the bhyve branch to reduce diffs.
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
|
244916 |
31-Dec-2012 |
gonzo |
Add interrupt for PL310 controller
|
244537 |
21-Dec-2012 |
rpaulo |
Move the 64-bit _setjmp to lib/libstand.
|
244531 |
21-Dec-2012 |
rpaulo |
Build a 64 bit version of the FICL library. This is need for a 64 bit EFI bootloader (amd64 only for now).
This is not yet connected to the build.
|
244332 |
17-Dec-2012 |
rpaulo |
amd64 only has rela sections.
|
244307 |
16-Dec-2012 |
marius |
Restore pre-r234898 printing of boot loader and path.
MFC after: 3 days
|
244278 |
15-Dec-2012 |
andrew |
Ignore a warning in ubldr where clang doesn't understand the %D printf specifier from libstand.
|
244197 |
13-Dec-2012 |
gonzo |
Add support for QEMU's version of Versatile Platform Board
|
244158 |
12-Dec-2012 |
dteske |
Fix a regression caused by SVN r222417.
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>
|
244089 |
10-Dec-2012 |
dteske |
Add support for comma-separated values (whitespace-separated still supported).
PR: conf/121064 Submitted by: koitsu Reviewed by: jh
|
244048 |
09-Dec-2012 |
dteske |
Use ASCII characters for box/line characters in frames.4th
Committed with changes to support the following from loader.conf(5): + console="vidconsole comconsole" (not just console="comconsole") + boot_serial="anything" (not just boot_serial="YES") + boot_multicons="anything" (unsupported in originally-submitted patch)
PR: conf/121064 Submitted by: koitsu Reviewed by: gcooper, adrian (co-mentor) Approved by: adrian (co-mentor)
|
243978 |
07-Dec-2012 |
rpaulo |
Typo in a comment.
|
243977 |
07-Dec-2012 |
rpaulo |
Make this work for 64 bit binaries.
|
243875 |
05-Dec-2012 |
rpaulo |
Remove dead code that clang refuses to compile.
|
243700 |
30-Nov-2012 |
neel |
Teach userboot to boot from ISO image files.
Reviewed by: ae@, dfr@ Obtained from: NetApp
|
243694 |
30-Nov-2012 |
gonzo |
Add vchiq node
|
243693 |
30-Nov-2012 |
gonzo |
- Implement "fdt mres" sub-command that prints reserved memory regions - Add "fdt addr" subcommand that lets you specify preloaded blob address - Do not pre-initialize blob for "fdt addr" - Do not try to load dtb every time fdt subcommand is issued, do it only once - Change the way DTB is passed to kernel. With introduction of "fdt addr" actual blob address can be not virtual but physical or reside in area higher then 64Mb. ubldr should create copy of it in kernel area and pass pointer to this newly allocated buffer which is guaranteed to work in kernel after switching on MMU. - Convert memreserv FDT info to "memreserv" property of root node FDT uses /memreserve/ data to notify OS about reserved memory areas. Technically it's not real property, it's just data blob, sequence of <start, size> pairs where both start and size are 64-bit integers. It doesn't fit nicely with OF API we use in kernel, so in order to unify thing ubldr converts this data to "memreserve" property using the same format for addresses and sizes as /memory node.
|
243660 |
28-Nov-2012 |
dteske |
Discussed at-length on -arch.
Make the following interface changes to my beastie boot menu: + Move boot options to a submenu + Add a new "Boot Single" menu item + Make "Boot" item and new "Boot Single" item reverse when boot_single is set + Add new "Load Defaults" item (in new "Boot Options" submenu) for overridding loader.conf(5) provided values with system defaults.
Reviewed by: adrian (co-mentor) Approved by: adrian (co-mentor)
|
243526 |
25-Nov-2012 |
kientzle |
Print kernel args when booting the kernel.
|
243420 |
23-Nov-2012 |
gonzo |
Make FDT blob compatible with Raspberry Pi firmware.
Rasperry Pi firmware has a set of hardcoded pathes it uses to fill FDT with system-specific information like display resolution, memory size, UART and SDHCI clocks, ethernet MAC address. Handle two of them:
- Add placeholder for ethernet MAC address - Move display node out of "axi" node
|
243305 |
19-Nov-2012 |
marius |
Fix build after r243245.
Submitted by: trasz
|
243254 |
19-Nov-2012 |
trasz |
Fix build on powerpc.
Reviewed by: nwhitehorn
|
243114 |
16-Nov-2012 |
dteske |
+ This patch does not change user experience or functionality + Cleanup syntax, slim-down code, and make things more readable + Introduce new +c! operator and ilk to reduce heap usage/allocations + Add safemode_enabled? safemode_enable and safemode_disable functions + Add singleuser_enabled? singleuser_enable singleuser_disable functions + Add verbose_enabled? verbose_enable and verbose_disable functions + Centralize strings (also to reduce heap usage)
Reviewed by: peterj, adrian (co-mentor) Approved by: adrian (co-mentor)
|
243025 |
14-Nov-2012 |
avg |
boot: use packed attribute for edd_params* structures and their substructures
The sole purpose of this change is to make sure that sizeof produces "canonical" sizes for these structures. This is to avoid triggering bugs in the BIOSes that properly handle only the canonical values of input length provided to INT 13h AH=48h. The canonical sizes are: 30 for v2, 66 for v3, etc. Buggy BIOS code probably looks like: if (input_length > 30) { /* > v2 */ assume that input length is 66 /* assume v3 or later */ }
This should fix boot problems at least on Supermicro X8DT6 and possibly on P410i Smart Array Controller (as found in e.g. HP DL360 G7).
Reported by: gnn, np, rstone Debugged by: rstone Discussed with: ae, np, rstone MFC after: 4 days
|
242935 |
12-Nov-2012 |
neel |
Add a callback function to userboot.so to fetch a list of environment variables and pass them to the kernel.
Reviewed by: dfr
|
242923 |
12-Nov-2012 |
dteske |
Fix a stack leak in [unused] cycle_menuitem function while we're here (required misconfiguration and/or missing environment vars to occur).
Reviewed by: peterj, adrian (co-mentor) Approved by: adrian (co-mentor)
|
242865 |
10-Nov-2012 |
nyan |
cosmetic changes to reduce diffs against i386.
|
242864 |
10-Nov-2012 |
nyan |
MFi386: r241300
i386 comconsole: don't loop forever if hardware doesn't respond
- clear capability flags when hw timeouts - retire comc_started status variable and directly use c_flags to see if comconsole is selected for use
|
242863 |
10-Nov-2012 |
nyan |
MFi386: r241301
add detection of serial console presence to btx and boot2-like blocks
|
242855 |
10-Nov-2012 |
nyan |
MFi386: r241785
boot: use -march=i386 for both i386 and amd64 builds
|
242804 |
08-Nov-2012 |
dim |
Shrink boot2 by 8 bytes, by eliminating some unneeded instructions in sio.S. This is not particularly needed for head right now, but it is intended to merge to stable/9, to fix boot2 build with clang there.
Reviewed by: avg MFC after: 3 days
|
242706 |
07-Nov-2012 |
dim |
Put in a band-aid to get the pc98 bootstraps building, now clang is the default compiler. This has two parts: - Make sys/boot/pc98/boot2 always build with gcc for now, until we can figure out a way to shrink it enough when building with clang. - Since sys/boot/p98/cdboot uses .code16 directives, which are not yet supported by clang's integrated assembler, use -no-integrated-as, similar to sys/boot/i386/cdboot.
Reviewed by: nyan MFC after: 1 week
|
242688 |
07-Nov-2012 |
dteske |
Hook in new files menusets.4th and manual.
Approved by: adrian (co-mentor) (implicit)
|
242669 |
06-Nov-2012 |
dteske |
Fix funny comment.
Approved by: adrian (co-mentor) (implicit)
|
242668 |
06-Nov-2012 |
dteske |
Fix c/p error in comment.
Approved by: adrian (co-mentor) (implicit)
|
242667 |
06-Nov-2012 |
dteske |
Add ontop of my existing boot loader Forth code, including support for submenus. See menusets.4th(8) for additional details including examples.
Discussed on arch and recommended for inclusion at the devsummit.
This change does not alter the appearance or user experience, only enhances possibilities.
Reviewed by: adrian (co-mentor) Approved by: adrian (co-mentor)
|
242145 |
26-Oct-2012 |
mav |
Fix loader crash when some unhalted exception happens during `include` command execution. In case of such unhandled exception, vmReset() inside ficlExecC() flushes the VM state. Attempt to return back to Forth after that cause garbage dereference with unexpected results. To avoid that situation call vmThrow() directly instead of expecting Forth to do it.
|
242084 |
25-Oct-2012 |
mav |
Remove new-line characters from the include() errors to make it consistent with the rest of code.
|
241876 |
22-Oct-2012 |
ae |
When loader tries to open GPT partition, but partition table is not GPT, then try automatically detect an appropriate partition type.
PR: kern/172550 Tested by: Ralf Wenk
|
241809 |
21-Oct-2012 |
ae |
Add the flags parameter to the disk_open() function and DISK_F_NOCACHE flag, that disables the caching of partition tables metadata. Use this flag for floppies in the libi386/biosdisk driver.
|
241785 |
20-Oct-2012 |
avg |
boot: use -march=i386 for both i386 and amd64 builds
.. so that consistent compilation algorithms are used for both architectures as in practice the binaries are expected to be interchangeable (for time being). Previously i386 used default setting which were equivalent to -march=i486 -mtune=generic. The only difference is using smaller but slower "leave" instructions.
Discussed with: jhb, dim MFC after: 29 days
|
241636 |
17-Oct-2012 |
attilio |
Disconnect non-MPSAFE NTFS from the build in preparation for dropping GIANT from VFS. This code is particulary broken and fragile and other in-kernel implementations around, found in other operating systems, don't really seem clean and solid enough to be imported at all. If someone wants to reconsider in-kernel NTFS implementation for inclusion again, a fair effort for completely fixing and cleaning it up is expected.
In the while NTFS regular users can use FUSE interface and ntfs-3g port to work with their NTFS partitions.
This is not targeted for MFC.
|
241608 |
16-Oct-2012 |
attilio |
Disconnect non-MPSAFE CODAFS from the build in preparation for dropping GIANT from VFS.
This is not targeted for MFC.
|
241607 |
16-Oct-2012 |
attilio |
Disconnect non-MPSAFE XFS from the build in preparation for dropping GIANT from VFS.
This is not targeted for MFC.
|
241606 |
16-Oct-2012 |
attilio |
Disconnect non-MPSAFE PORTALFS from the build in preparation for dropping GIANT from VFS.
This is not targeted for MFC.
|
241523 |
14-Oct-2012 |
dteske |
Since the introduction of the new advanced boot menu (r222417), options like "boot verbose", "single user mode", "ACPI" and more are now stateful boolean menuitems rather than direct action-items.
A short-coming in this new menu system is that when a user sets a non-default value in loader.conf(5), this non-default state is not reflected in the menu -- leading to confusion as to whether the option was taking effect or not.
This patch adds dynamic menuitem constructors _and_ the necessary Forth callbacks to initialize these stateful menuitems -- causing the aforementioned menuitems to adhere to loader.conf(5) settings.
PR: bin/172529 Approved by: adrian (co-mentor) MFC after: 21 days
|
241367 |
09-Oct-2012 |
dteske |
Fix a typo (s/prefix/suffix/) and comment.
NOTE: This is in an unused portion of the menu framework.
Reviewed by: eadler, adrian (co-mentor) Approved by: adrian (co-mentor)
|
241365 |
09-Oct-2012 |
dteske |
Fix an oversight that cyclic menu items actually are zero-based and can accommodate 10 different states.
Reviewed by: eadler, adrian (co-mentor) Approved by: adrian (co-mentor)
|
241363 |
09-Oct-2012 |
dteske |
Make the "Options:" separator-text configurable by setting $menu_optionstext.
Reviewed by: eadler, adrian (co-mentor) Approved by: adrian (co-mentor) MFC after: 3 days
|
241361 |
08-Oct-2012 |
dteske |
Add an echo to say we're "Booting..." when the overloaded "boot" Ficl word is executed to better differentiate between loader-specific errors and kernel- specific errors (if ever any of either).
This type of functionality hasn't been required before the introduction of the advanced menu system (r222417). Adding this functionality will help different- iate errors at the loader-level such as a BTX halt caused by heap exhaustion and errors that may be involved with executing the kernel (wrong architecture for example). A user can learn that messages before "Booting..." are related to the loader(8) environment and it's Forth-ilk, while those after are not related to loader(8) -- the point that loader(8) has ``left the building''.
This patch also includes a man-page update to color.4th(8) as the color logic moves to a lower-level (from being included by beastie.4th to being included by loader.4th).
After noticing a delay between execution of the overloaded "boot" FICL word and the display of text on-screen, gcooper confirmed that the introduction of a builtin memory test (disabled by adding hw.memtest.tests="0" to loader.conf(5)) was the cause of the delay.
This patch adds an echo to produce "Booting..." when the overloaded "boot" word is executed (this includes from the interactive command-prompt on all arches, from the menu system on arches that run the beastie menu, and even those arches that run the menu but disable it by setting beastie_disable="YES" in loader.conf(5)). When loader_color="YES" in loader.conf(5), the same message is produced but in white text on a blue background (only the letters produced have this background -- opposed to perhaps the entire line).
|
241310 |
07-Oct-2012 |
dteske |
Comment and Copyright fixes/updates.
Reviewed by: adrian (co-mentor) Approved by: adrian (co-mentor)
|
241301 |
06-Oct-2012 |
avg |
add detection of serial console presence to btx and boot2-like blocks
Note that this commit slightly increases size of boot blocks.
Reviewed by: jhb Tested by: Olivier Cochard-Labbe <olivier@cochard.me> MFC after: 26 days
|
241300 |
06-Oct-2012 |
avg |
i386 comconsole: don't loop forever if hardware doesn't respond
- clear capability flags when hw timeouts - retire comc_started status variable and directly use c_flags to see if comconsole is selected for use
Reviewed by: jhb Tested by: Uffe Jakobsen <uffe@uffe.org>, Olivier Cochard-Labbe <olivier@cochard.me> MFC after: 26 days
|
241299 |
06-Oct-2012 |
avg |
boot/console: handle consoles that fail to probe
- clarify meaning of console flags - perform i/o via a console only if both of the following conditions are met: o console is active (selected by user or config) o console flags that it can perform the operation - warn if a chosen console can not work (the warning may go nowhere without working and active console, though)
Reviewed by: jhb Tested by: Uffe Jakobsen <uffe@uffe.org>, Olivier Cochard-Labbe' <olivier@cochard.me> MFC after: 26 days
|
241294 |
06-Oct-2012 |
avg |
zfsboot: simplify probe_drive() a little bit
The first discovered pool, whether it covers the whole boot disk or not, is going to be first in zfs_pools list. So there is no need at all for spapp parameter.
This commit also fixes a bug where NULL would be assigned to NULL pointer when probe_drive was called with the spapp parameter of NULL.
MFC after: 21 days
|
241293 |
06-Oct-2012 |
avg |
zfs boot: export boot/primary pool and vdev guid all the way to kenv
This is work in progress to for znextboot and it also provides some convenient infrastructure.
MFC after: 20 days
|
241292 |
06-Oct-2012 |
avg |
zfs loader: treat plain pool name as a name of its root dataset
... as opposed to the previous behavior of treating it as boot dataset (specified by bootfs or default)
MFC after: 19 days
|
241291 |
06-Oct-2012 |
avg |
zfs boot spa_status: print bootfs for each reported pool
MFC after: 9 days
|
241290 |
06-Oct-2012 |
avg |
boot/zfs: a small whitespace cleanup
MFC after: 5 days
|
241289 |
06-Oct-2012 |
avg |
boot/zfs: call zfs_spa_init for all found pools
... and drop those for which it fails. Also, add more sanity checking to the function.
MFC after: 16 days
|
241288 |
06-Oct-2012 |
avg |
zfsboot: use the same zfs dataset naming format as loader
Also, pool name alone now names a root dataset of the pool regardless of bootfs property value.
MFC after: 15 days
|
241284 |
06-Oct-2012 |
avg |
zfs boot: add lszfs command to i386 loader
... to list child datasets of a specified dataset. Dataset name should be provided in poolname/dsname format.
MFC after: 17 days
|
241283 |
06-Oct-2012 |
avg |
zfs boot: add code for listing child datasets of a given dataset
- only filesystem datasets are supported - children names are printed to stdout
To do: allow to iterate over the list and fetch names programatically
MFC after: 17 days
|
241282 |
06-Oct-2012 |
avg |
zfs boot: chose a "first" pool if none is explicitly requested
MFC after: 8 days
|
241164 |
03-Oct-2012 |
ae |
Replace all references to loader_callbacks_v1 with loader_callbacks.
Suggested by: grehan@
|
241070 |
30-Sep-2012 |
ae |
Fix the style.
|
241069 |
30-Sep-2012 |
ae |
Remember the file format of the last loaded module and try to use it for next files.
|
241068 |
30-Sep-2012 |
ae |
Reduce the number of attempts to detect proper kld format for the amd64 loader.
|
241065 |
30-Sep-2012 |
ae |
Fix disk_cleanup() to work without DISK_DEBUG too.
|
241053 |
29-Sep-2012 |
ae |
Almost each time when loader opens a file, this leads to calling disk_open(). Very often this is called several times for one file. This leads to reading partition table metadata for each call. To reduce the number of disk I/O we have a simple block cache, but it is very dumb and more than half of I/O operations related to reading metadata, misses this cache.
Introduce new cache layer to resolve this problem. It is independent and doesn't need initialization like bcache, and will work by default for all loaders which use the new DISK API. A successful disk_open() call to each new disk or partition produces new entry in the cache. Even more, when disk was already open, now opening of any nested partitions does not require reading top level partition table. So, if without this cache, partition table metadata was read around 20-50 times during boot, now it reads only once. This affects the booting from GPT and MBR from the UFS.
|
241047 |
29-Sep-2012 |
ae |
Disable splitfs support, since we aren't support floppies for a long time. This slightly reduces an overhead, when loader tries to open file that doesn't exist.
|
241023 |
28-Sep-2012 |
ae |
Make the loader a bit smarter, when it tries to open disk and the slice number is not exactly specified. When the disk has MBR, also try to read BSD label after ptable_getpart() call. When the disk has GPT, also set d_partition to 255. Mostly, this is how it worked before.
|
240854 |
23-Sep-2012 |
nyan |
MFi386: revision 240637
loader/i386: replace ugly inb/outb re-implementations with cpufunc.h
|
240852 |
23-Sep-2012 |
nyan |
Cosmetic changes.
|
240782 |
21-Sep-2012 |
andreast |
Implement elfN(reloc) for powerpc. With this change the kernel is now able to resolve dependencies of modules at boot time and load additional modules when needed.
MFC after: 1 week
|
240655 |
18-Sep-2012 |
mav |
Fix panics on attempt to dereference uninitizlized pointer, returned via 'path' argument of ofw_parsedev() if devspec refers raw device with no path.
For example, `ls /pci@1f,0/ide@d/disk@0,0:a/` works fine, while `ls /pci@1f,0/ide@d/disk@0,0:a` panicked before this change.
|
240637 |
18-Sep-2012 |
avg |
loader/i386: replace ugly inb/outb re-implementations with cpufunc.h
Use of __builtin_constant_p in a function that is only called via a pointer is a good example of how out-of-date it was.
Suggested by: bde MFC after: 1 week
|
240594 |
17-Sep-2012 |
andrew |
Add the Tegra2 DTS files. Now our dtc supports including other files use this support to pull out the SoC specific parts of the dts file.
|
240492 |
14-Sep-2012 |
gber |
Add support for MSI in interrupt controlller.
MSI are implemented via software interrupt. PCIe cards will write into software interrupt register which will cause inbound shared interrupt which will be interpreted as a MSI.
Obtained from: Marvell, Semihalf
|
240488 |
14-Sep-2012 |
gber |
Add support for Armada XP A0.
- Add functions to calculate clocks instead using hardcoded values - Update reset and timers functions - Update number of interrupts - Change name of platform from db88f78100 to db78460 - Correct DRAM size and PCI IRQ routing in dts file.
Obtained from: Semihalf
|
240481 |
14-Sep-2012 |
kientzle |
The MBR data is not necessarily aligned. This is a problem on ARM.
|
240421 |
12-Sep-2012 |
mav |
Make pxe device in lsdev really include device name, looking like this: pxe0: 192.168.3.1:/storage/nfsroot/amd64 , instead of confusing and less useful: 192.168.3.1:pxeboot
|
240349 |
11-Sep-2012 |
avg |
zfs boot: add a size check for a value in fzap_lookup
MFC after: 25 days
|
240348 |
11-Sep-2012 |
avg |
zfs boot: print only an attribute name in fzap_list
... this matches mzap_list behavior
MFC after: 12 days
|
240347 |
11-Sep-2012 |
avg |
zfs boot: fix/replace fzap_rlookup implementation
The previous one was totally bogus as it used hash value of _output_ variable as an index for searching... The only reliable way to do a reverse lookup here is to iterate over all entries.
MFC after: 15 days
|
240346 |
11-Sep-2012 |
avg |
zfs boot: bring zap_leaf_chunk field names in sync with kernel code
This change is cosmetic.
MFC after: 10 days
|
240342 |
11-Sep-2012 |
avg |
boot: file_loadraw should strdup name argument
... the same way it's done for type argument.
MFC after: 2 weeks
|
240341 |
11-Sep-2012 |
avg |
a bit of trailing whitespace cleanup
MFC after: 1 week
|
240335 |
11-Sep-2012 |
ae |
Slightly reduce an overhead for the open() call in the zfsloader. libstand(3) tries to detect file system in the predefined order, but zfsloader usually is used for the booting from ZFS, and there is no need to try detect several file system types for each open() call.
|
240277 |
09-Sep-2012 |
ae |
Handle LOADER_NO_DISK_SUPPORT knob in the arm and powerpc ubldr.
|
240276 |
09-Sep-2012 |
ae |
Update according to the change of struct uboot_devdesc.
|
240275 |
09-Sep-2012 |
ae |
Build disk.c only when DISK_SUPPORT is enabled.
|
240274 |
09-Sep-2012 |
ae |
Update uboot's disk driver to use new DISK API.
|
240273 |
09-Sep-2012 |
ae |
Use disk_fmtdev() and disk_parsedev() functions from the new DISK API.
|
240272 |
09-Sep-2012 |
ae |
Make struct uboot_devdesc compatible with struct disk_devdesc.
|
240249 |
08-Sep-2012 |
andreast |
Fix loading of kernel modules at boot time for powerpc64.
Reported by: Mathias Breuninger MFC after: 1 week
|
239922 |
30-Aug-2012 |
gonzo |
Add barebone Raspberry Pi port. Supported parts: - Interrupts controller - Watchdog - System timer - Framebuffer (hardcoded resolution/bpp)
|
239487 |
21-Aug-2012 |
jchandra |
Add correct range parameter in XLP DTS
r239274 added support for ranges. Update XLP DTS to provide the correct range parameter for the XLP SoC bus. Also fix bus_space_map method for XLP bus space.
Submitted by: Sreekanth M. <sreekanth.molagavalli@broadcom.com>
|
239378 |
18-Aug-2012 |
marcel |
Build zfs on ia64 as well. We don't build a loader with zfs support just yet, but building it makes sure we catch (build) regressions.
|
239377 |
18-Aug-2012 |
marcel |
Don't build the ski loader anymore. The code is not deleted just yet, as it explains the distinction between the common and the platform- specific code.
|
239325 |
16-Aug-2012 |
ae |
Add comment why the code has been disabled.
Requested by: rpaulo
|
239294 |
15-Aug-2012 |
ae |
Some BIOSes return incorrect number of sectors, make checks less strictly, to do not lost some partitions.
Reported by: swills@
|
239293 |
15-Aug-2012 |
ae |
Rework r239232 to unbreak ZFS detection on MBR slices.
|
239292 |
15-Aug-2012 |
ae |
Explicitly terminate the string after strncpy(3).
|
239281 |
15-Aug-2012 |
gonzo |
Merging of projects/armv6, part 10
- Support for Texas Instruments SoCs: - AM335x - OMAP4
- Kernel configs, DTS for Beaglebone and Pandaboard
Submitted by: Ben Gray, Damjan Marion
|
239280 |
15-Aug-2012 |
gonzo |
Merging of projects/armv6, part 9
Very basic support for Nvidia Tegra2: timer, interrupts, UART.
Submitted by: Damjan Marion <dmarion@freebsd.org>
|
239278 |
15-Aug-2012 |
gonzo |
Merging of projects/armv6, part 8
r235162:
Initial LPC32x0 support. Includes DTS file for Embedded Artists EA3250 board.
Peripherals currently supported: - Serial ports - Interrupt controller - Timers - Ethernet - USB host - Framebuffer (in conjunction with SSD1289 LCD controller) - RTC - SPI - GPIO
Submitted by: Jakub Wojciech Klama <jceel@freebsd.org>
|
239277 |
15-Aug-2012 |
gonzo |
Merging of projects/armv6, part 7
Add Marvell ARMADA XP support
Obtained from: Marvell, Semihalf
|
239255 |
14-Aug-2012 |
des |
As discussed on -current, remove the hardcoded default maxswzone.
MFC after: 3 weeks
|
239243 |
13-Aug-2012 |
dim |
After r239066, reinitialize v86.ctl and v86.addr for int 13 EDD probing in sys/boot/i386/libi386/biosdisk.c. Otherwise, when DISK_DEBUG is enabled, the DEBUG() macros will clobber those fields, and cause the probing to always fail mysteriously when debugging is enabled.
|
239232 |
13-Aug-2012 |
ae |
Restore the old behaviour. If requested partition is a BSD slice, but d_partition isn't explicitly set, then try to open BSD label and its first partition.
|
239231 |
13-Aug-2012 |
ae |
Remove colons from the debug message, device name returned by the disk_fmtdev() already has the colons.
|
239230 |
13-Aug-2012 |
ae |
Unbreak booting from the true dedicated disks. When we open the disk, check the type of partition table, that has been detected. If this is BSD label, then we assume this is DD mode.
Reported by: dim@
|
239211 |
12-Aug-2012 |
ae |
Add another debug message.
|
239210 |
12-Aug-2012 |
ae |
Add more debug messages.
|
239127 |
07-Aug-2012 |
ae |
As it turned out, there are some installations, where BSD label contains partitions with type zero. And it has worked. So, allow detect these partitions.
Reported by: glebius
|
239088 |
06-Aug-2012 |
ae |
Fix start offset calculation for the EBR partitions.
|
239073 |
05-Aug-2012 |
ae |
Bump USERBOOT_VERSION.
Requested by: dfr
|
239069 |
05-Aug-2012 |
nyan |
Reduce diffs against i386.
|
239068 |
05-Aug-2012 |
ae |
Teach the ZFS use new partitions API when probing. Note: now ZFS does probe only for partitions with type "freebsd-zfs" and "freebsd".
|
239067 |
05-Aug-2012 |
ae |
Remove unneeded flag.
|
239066 |
05-Aug-2012 |
ae |
Add offset field to the i386_devdesc structure to be compatible with disk_devdesc structure. Update biosdisk driver to the new disk API.
|
239064 |
05-Aug-2012 |
nyan |
Reduce diffs against i386.
|
239063 |
05-Aug-2012 |
nyan |
MFi386: the part of r219452 and r236405.
- bunch of variables are turned into uint8_t. - Remove unnecessary initializations.
|
239060 |
05-Aug-2012 |
ae |
When GPT signature is invalid in the primary GPT header, then try to read backup GPT header.
Submitted by: hrs (previous version)
|
239058 |
05-Aug-2012 |
ae |
Introduce new API to work with disks from the loader's drivers. It uses new API from the part.c to work with partition tables.
Update userboot's disk driver to use new API. Note that struct loader_callbacks_v1 has changed.
|
239057 |
05-Aug-2012 |
ae |
Remove unused variables.
|
239054 |
05-Aug-2012 |
ae |
Create the interface to work with various partition tables from the loader(8). The following partition tables are supported: BSD label, GPT, MBR, EBR and VTOC8.
|
238851 |
27-Jul-2012 |
marius |
Pull the tier-2 card and change the sparc64 ZFS loader to no longer probe all diskN aliases for providers (which more or less corresponds to how the x86 version behaves) but instead probe only those listed in the boot-device OFW environment variable. This has the following advantages: - avoids otherwise unavoidable OFW warnings about failures to open disks for which aliases exist but no actual hardware is connected - avoids issues due to different diskN naming schemes - aligns us with Solaris
MFC after: 3 days
|
238795 |
26-Jul-2012 |
ache |
Try to avoid all files dependence on the modification time of the large and often modified directory created symbolic links points to - it cause unnecessary full rebuilds each time make runs when directory is changed. So do it only if symbolic link does not exists, which usually means that objdir is clean anyway.
MFC after: 1 week
|
238463 |
15-Jul-2012 |
imp |
Use the pin number rather than the hybrid pin number + name.
|
238431 |
14-Jul-2012 |
dteske |
Fix domain.
Approved by: emaste
|
238188 |
07-Jul-2012 |
imp |
Generalize this for loading the loader into the SPI. Plus trim about 100 bytes from the binary with silly tricks. Hope to get this small enough to run on the models that have 4k SRAM. We are close compiled for the at91rm9200, but still need to trim for the target.
|
238187 |
07-Jul-2012 |
imp |
Allow other SOCs to be compiled in, first step.
|
238186 |
07-Jul-2012 |
imp |
Strip out the useless junk. All we really care about is the text, data and bss sections. All the rest is needed for normal binaries, but boot loaders aren't normal.
|
237410 |
21-Jun-2012 |
delphij |
MFV: Update zlib to 1.2.7.
(x86 assembler optimization disabled for now because it requires the new .cfi_* directives that is not supported by base system binutils).
MFC after: 1 week
|
237338 |
20-Jun-2012 |
jhb |
Don't return an error if a kld does not contain any modules (e.g. a kld that only contained a sysctl). The kernel linker allows such modules, so the boot loader should not reject them.
MFC after: 2 weeks
|
237001 |
13-Jun-2012 |
mm |
Fix ZFS boot with pre-features pools (version <= 28) broken in r236884
Reported by: mav MFC after: 1 month
|
236884 |
11-Jun-2012 |
mm |
Introduce "feature flags" for ZFS pools (bump SPA version to 5000). Add first feature "com.delphix:async_destroy" (asynchronous destroy of ZFS datasets). Implement features support in ZFS boot code.
Illumos revisions merged: 13700:2889e2596bd6 13701:1949b688d5fb 2619 asynchronous destruction of ZFS file systems 2747 SPA versioning with zfs feature flags
References: https://www.illumos.org/issues/2619 https://www.illumos.org/issues/2747
Obtained from: illumos (issue #2619, #2747) MFC after: 1 month
|
236581 |
04-Jun-2012 |
marius |
The loaddev environment variable is not modifiable once set, so it is not update for ZFS. It seems that this does not really affect anything except the help command. Nevertheless, rearrange things so loaddev is set only once in all cases in order to get it right. Pointed out by: avg
MFC after: r235364
|
236579 |
04-Jun-2012 |
marius |
The workaround added in r151650 for handling firmwares that don't allow a single device to be opened multiple times concurrently unfortunately isn't sufficient with ZFS. This is due to the fact, that ZFS may open different partitions of a single device simultaneously. So the best we can do in this case is to cache the lastly used device path and close and open devices in ofwd_strategy() as needed.
PR: 165025 Submitted by: Gavin Mu MFC after: 1 week
|
236405 |
01-Jun-2012 |
jhb |
Remove unnecessary initializations. The BSS of boot2 is in fact zero'd when boot2 begins execution by the _start() routine in btxcsu.S.
MFC after: 1 week
|
236213 |
29-May-2012 |
kevlo |
Make sure that each va_start has one and only one matching va_end, especially in error cases.
|
236159 |
27-May-2012 |
kientzle |
Allow the load address used by ARM ubldr to be set via Make argument.
In particular, this simplifies scripts that build system images.
|
236024 |
25-May-2012 |
raj |
Import DTS files for the upcoming DPAA QorIQ (PowerPC) support.
- P2041RDB - P3041DS - P5020DS
Obtained from: Freescale
|
235988 |
25-May-2012 |
gleb |
Use 32-bit ufs_ino_t instead of ino_t to keep boot2 small and prevent unnecessary 64-bit math on 32-bit machines.
Sponsored by: Google Summer of Code 2011
|
235873 |
24-May-2012 |
wblock |
Fixes to man8 groff mandoc style, usage mistakes, or typos.
PR: 168016 Submitted by: Nobuyuki Koganemaru Approved by: gjb MFC after: 3 days
|
235779 |
22-May-2012 |
gber |
Divide nand flash for DB6281 into two partitions. One for u-boot and second one for general use.
Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
|
235778 |
22-May-2012 |
gber |
Add a new geom class which allows to divide NAND Flash chip into partitions.
Partitions are created based on data in dts file which are extracted and interpreted by slicer.
Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
|
235694 |
20-May-2012 |
kientzle |
Determine kernel load address dynamically from u-boot memory map.
The generic ELF loading code maps the kernel into low memory by subtracting KERN_BASE. So the copyin/copyout/readin functions are always called with low addresses. This code finds the largest DRAM block from the U-Boot memory map and adds that base to the addresses.
In particular, this fixes ubldr on AM3358, which has DRAM mapped to 0x80000000 at power-on.
|
235609 |
18-May-2012 |
gber |
Add architecture dependent code to support NAND Framework on Marvell SoCs.
Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
|
235560 |
17-May-2012 |
dteske |
Update contact info.
PR: N/A (mentor approved) Submitted by: dteske Reviewed by: dteske (mentor approved) Approved by: emaste (mentor) MFC after: 1 week
|
235537 |
17-May-2012 |
gber |
Import work done under project/nand (@235533) into head.
The NAND Flash environment consists of several distinct components: - NAND framework (drivers harness for NAND controllers and NAND chips) - NAND simulator (NANDsim) - NAND file system (NAND FS) - Companion tools and utilities - Documentation (manual pages)
This work is still experimental. Please use with caution.
Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
|
235529 |
17-May-2012 |
kientzle |
Access the device tree blob via copyin/copyout.
The code previously assumed that copyin/copyout did no address translation and that the device tree blob could be manipulated in-place (with only a few adjustments for the ELF loader offset). This isn't possible on all platforms, so the revised code uses copyout() to copy the device tree blob into a heap-allocated buffer and then updates the device tree with copyout(). This isn't ideal, since it bloats the loader memory usage, but seems the only feasible approach (short of rewriting all of the fdt manipulation routines).
|
235395 |
13-May-2012 |
avg |
libpc98: unbreak after zfs-related changes in libi386 code
Pointyhat to: avg MFC after: 1 month
|
235394 |
13-May-2012 |
avg |
zfs boot: cleanup remnants of temporary compat code
MFC after: 1 month
|
235390 |
13-May-2012 |
avg |
zfs boot code: mark spa_t arguments as const where they are used as such
MFC after: 1 month
|
235364 |
12-May-2012 |
avg |
sparc64/zfs boot: take advantage of new libzfsboot capabilities
Also drop the now unneeded compatibility shims.
Tested by: marius MFC after: 1 month
|
235361 |
12-May-2012 |
avg |
zfs boot code: use %j and uintmax_t instead %ll and uint64_t in printfs
This is to silence warnings that result from different definitions of uint64_t on different architectures, specifically i386 and sparc64.
MFC after: 1 month
|
235330 |
12-May-2012 |
avg |
zfs boot: try to set vfs.root.mountfrom from currdev as a fallback
This way with the new zfsloader there is no need to explicitly set zfs root filesystem either via vfs.root.mountfrom or fstab. It should be automatically picked up from currdev which is by default is set from bootfs.
Tested by: Florian Wagner <florian@wagner-flo.net> (x86) MFC after: 1 month
|
235329 |
12-May-2012 |
avg |
zfsboot/zfsloader: support accessing filesystems within a pool
In zfs loader zfs device name format now is "zfs:pool/fs", fully qualified file path is "zfs:pool/fs:/path/to/file" loader allows accessing files from various pools and filesystems as well as changing currdev to a different pool/filesystem.
zfsboot accepts kernel/loader name in a format pool:fs:path/to/file or, as before, pool:path/to/file; in the latter case a default filesystem is used (pool root or bootfs). zfsboot passes guids of the selected pool and dataset to zfsloader to be used as its defaults.
zfs support should be architecture independent and is provided in a separate library, but architectures wishing to use this zfs support still have to provide some glue code and their devdesc should be compatible with zfs_devdesc. arch_zfs_probe method is used to discover all disk devices that may be part of ZFS pool(s).
libi386 unconditionally includes zfs support, but some zfs-specific functions are stubbed out as weak symbols. The strong definitions are provided in libzfsboot. This change mean that the size of i386_devspec becomes larger to match zfs_devspec.
Backward-compatibility shims are provided for recently added sparc64 zfs boot support. Currently that architecture still works the old way and does not support the new features.
TODO: - clear up pool root filesystem vs pool bootfs filesystem distinction - update sparc64 support - set vfs.root.mountfrom based on currdev (for zfs)
Mid-future TODO: - loader sub-menu for selecting alternative boot environment
Distant future TODO: - support accessing snapshots, using a snapshot as readonly root
Reviewed by: marius (sparc64), Gavin Mu <gavin.mu@gmail.com> (sparc64) Tested by: Florian Wagner <florian@wagner-flo.net> (x86), marius (sparc64) No objections: fs@, hackers@ MFC after: 1 month
|
235281 |
11-May-2012 |
dim |
Fix sys/boot/i386/cdboot/cdboot.S compilation with clang after r235219. This file uses .code16 directives, which are not yet supported by clang's integrated assembler.
MFC after: 1 month
|
235272 |
11-May-2012 |
imp |
Add support for passing in the board ID.
# This doesn't implement the full Linux boot ABI for arm yet. # since there's no ATAGs list passed in for r2, and r0 has # boot options rather than 0 as specified in the standard. # Commited code to the tree won't touch any of this anyway, but # future code may be able to use this.
|
235271 |
11-May-2012 |
imp |
Hack to unbreak boot2 for at91rm9200 boot loader. When the at91sam code came in, it moved things around which wound up breaking the build. We have to do this bit of a hack to avoid duplication of a lot of #defines.
|
235264 |
11-May-2012 |
avg |
MFi386: improve argument passing via btxldr
use related definitions in i386 bootargs.h
Reviewed by: nyan, jhb MFC after: 1 month
|
235261 |
11-May-2012 |
kientzle |
Don't hang if there is no /cpus node in the device tree.
|
235219 |
10-May-2012 |
avg |
cdboot, pxeldr: make use of bootargs.h instead of redefining flag constants
Reviewed by: jhb MFC after: 1 month
|
235207 |
09-May-2012 |
marius |
Use a non-tricky approach for building and installing zfsboot sharing the Makefile with boot1.
Submitted by: ru
|
235158 |
09-May-2012 |
avg |
r235154 followup: add stddef.h for offsetof
MFC after: 1 month
|
235156 |
09-May-2012 |
avg |
i386 zfsloader: rename LIBZFS to LIBZFSBOOT
... to avoid name clash with the other libzfs
MFC after: 1 month
|
235155 |
09-May-2012 |
avg |
i386 boot: consolidate MAXBDDEV definition
MFC after: 1 month
|
235154 |
09-May-2012 |
avg |
btxldr: future-proof argument passing from boot1/2-ish to loader
Place the arguments at a fixed offset of 0x800 withing the argument area (of size 0x1000). Allow variable size extended arguments first of which should be a size of the extended arguments (including the size parameter).
Consolidate all related definitions in a new i386/common/bootargs.h header.
Many thanks to jhb and bde for their guidance and reviews.
Reviewed by: jhb, bde Approved by: jhb MFC after: 1 month
|
235153 |
09-May-2012 |
avg |
sys/boot: add common CTASSERT definition
|
235095 |
06-May-2012 |
kientzle |
Ooops. Back out changes to main.c from r235094.
This change is specific to BeagleBone; I need to figure out how to generalize this before committing.
|
235094 |
06-May-2012 |
kientzle |
Don't call strcmp with a NULL pointer.
In particular, on the AM335x, which comes up with no memory mapped to low addresses, dereferencing the NULL causes a crash.
|
234908 |
02-May-2012 |
kientzle |
Remove some redundant register loads.
Discussed on: arm@
|
234898 |
01-May-2012 |
marius |
Add initial support for booting from ZFS on sparc64. At least on Sun Fire V100, the firmware is known to be broken and not allowing to simultaneously open disk devices, causing attempts to boot from a mirror or RAIDZ to cause a crash. This will be worked around later. The firmwares of newer sun4u models don't seem to exhibit this problem though.
Steps for ZFS booting:
1. create VTOC8 label # gpart create -s vtoc8 da0
2. add partitions, f.e.: # gpart add -t freebsd-zfs -s 60g da0 # gpart add -t freebsd-swap da0 resulting in something like: # gpart show => 0 143331930 da0 VTOC8 (68G) 0 125821080 1 freebsd-zfs (60G) 125821080 17510850 2 freebsd-swap (8.4G)
3. create zpool # zpool create bunker da0a or for mirror/RAIDZ (after preparing additional disks as in steps 1. + 2.): # zpool create bunker mirror da0a da1a # zpool create bunker raidz da0a da1a da2a ...
4. set bootfs # zpool set bootfs=bunker bunker
5. install zfsboot # zpool export bunker # gpart bootcode -p /boot/zfsboot da0
6. write zfsloader to the ZFS Boot Block (so far, there's no dedicated tool for this, so dd(1) has to be used for this purpose) When using mirror/RAIDZ, step 4. and the dd(1) invocation should be repeated for the additional disks in order to be able to boot from another disk in case of failure. # sysctl kern.geom.debugflags=0x10 # dd if=/boot/zfsloader of=/dev/da0a bs=512 oseek=1024 conv=notrunc # zpool import bunker
7. install system on ZFS filesystem Don't forget to set 'zfs_load="YES"' and vfs.root.mountfrom="zfs:bunker" in loader.conf as well as 'zfs_enable="YES"'in rc.conf.
8. copy zpool.cache to the ZFS filesystem cp -p /boot/zfs/zpool.cache /bunker/boot/zfs/zpool.cache
9. set mountpoint # zfs set mountpoint=/ bunker
10. Now, given that aliases for all disks in the zpool exists (check with the `devalias` command on the boot monitor prompt) and disk0 corresponds to da0 (likewise for additional disks), the system can be booted from the ZFS with: {1} ok boot disk0
PR: 165025 Submitted by: Gavin Mu
|
234897 |
01-May-2012 |
marius |
Add a command for showing the heap usage.
PR: 165025 Submitted by: Gavin Mu MFC after: 1 week
|
234860 |
01-May-2012 |
kientzle |
Teach ubldr(8) about simple MBR partitioning.
|
234789 |
29-Apr-2012 |
marius |
Add multiple inclusion protection.
PR: 165025 Submitted by: Gavin Mu MFC after: 1 week
|
234493 |
20-Apr-2012 |
marcel |
Build a 32-bit EFI loader on amd64. This to match the rest of the code that is used to construct a loader (e.g. libstand, ficl, etc).
There is such a thing as a 64-bit EFI application, but it's not as standard as 32-bit is. Let's make the 32-bit functional (as in we can load and actualy boot a kernel) before solving the 64-bit loader problem.
|
234339 |
16-Apr-2012 |
avg |
zfsboot: honor -q if it's present in boot.config
Before r228267 the option was honored but the original content of boot.config was not preserved. I tried to fix that but missed the idea. Now the proper way of doing things is taken from i386/boo2. Also, a comment is added to explain this a little bit unobvious behavior.
Inspired by: jhb MFC after: 5 days
|
234176 |
12-Apr-2012 |
ae |
Read backup GPT header from the last LBA only when primary GPT header and table aren't valid. If they are ok, use hdr_lba_alt value to read backup header. This will make gptboot happy when GPT used atop of some GEOM provider, e.g. GEOM_MIRROR.
Reviewed by: pjd MFC after: 2 weeks
|
233941 |
06-Apr-2012 |
avg |
retrofit Safe Mode loader menu item actions
The menu item is now made completely independent with the ACPI item - most modern systems seem to require ACPI and become even more "unsafe" without it. Safe Mode no longer disables APIC for the same reason. kbdmux is not disabled as this feature has proven itself stable.
New actions: - SMP is disabled in the Safe Mode now - eventtimers are forced to periodic mode (some real and virtual systems seem to have problems otherwise) - geom extra vigorous integrity checking is disabled, this is to facilitate migration from previous versions
Possible short term to do: - make SMP switch a separate menu item - restore APIC switch as a separate menu item
Longer term to do: - turn various tweaks into separate menu items in a Safe Mode sub-menu
Please consider adding a safety tweak to Safe Mode when introducing new major features or changes that may cause instabilities.
Discussed with: jhb, scottl, Devin Teske MFC after: 3 weeks (stable/9 only)
|
233666 |
29-Mar-2012 |
nwhitehorn |
Fix build after changes to trap headers.
|
233648 |
29-Mar-2012 |
eadler |
Remove trailing whitespace per mdoc lint warning
Disussed with: gavin No objection from: doc Approved by: joel MFC after: 3 days
|
233517 |
26-Mar-2012 |
marius |
Remove second consts in r233288 in order to appease C++ compilers. While at it, remove some style(9) bugs in libkern.h.
Submitted by: kan
|
233323 |
22-Mar-2012 |
raj |
Improve FDT handling in loader(8) and make it more robust.
o Fix buffer overflows when using a long property body in node paths. o Fix loop end condition when iterating through the symbol table. o Better error handling during node modification, better problem reporting. o Eliminate build time warnings.
Submitted by: Lukasz Wojcik Obtained from: Semihalf MFC after: 1 week
|
233288 |
21-Mar-2012 |
marius |
Declare the CRC lookup-tables const as they hardly should change at run-time.
|
233287 |
21-Mar-2012 |
marius |
Use the common/shared CRC-32 implementation instead of duplicating it.
MFC after: 1 week
|
233230 |
20-Mar-2012 |
raj |
Improve device tree blob (DTB) handling in loader(8).
Enable using the statically embedded blob from the kernel, if present. The KLD loaded DTB takes precedence, but they are both recognized and handled in the same way.
Submitted by: Lukasz Wojcik Obtained from: Semihalf MFC after: 1 week
|
233105 |
18-Mar-2012 |
marius |
Declare some variables static in order to reduce the object size and redo r232822 in a less hackish way. The latter now no longer breaks compiling the x86 boot2 with clang.
MFC after: 1 week
|
232822 |
11-Mar-2012 |
marius |
Fix a bug introduced in r223938; on big-endian machines coping a 32-bit quantum bytewise to the address of a 64-bit variable results in writing to the "wrong" 32-bit half so adjust the address accordingly. This fix is implemented in a hackish way for two reasons: o in order to be able to get it into 8.3 with zero impact on the little- endian architectures where this bug has no effect and o to avoid blowing the x86 boot2 out of the water again when compiling it with clang, which all sane versions of this fix tested do. This change fixes booting from UFS1 file systems on big-endian machines.
MFC after: 3 days
|
232784 |
10-Mar-2012 |
nyan |
MFi386: revisions 232570 and 232754
Fix boot2 to handle boot config files that only contain a custom path to a loader or kernel.
|
232754 |
09-Mar-2012 |
jkim |
Make boot2 build with Clang again.
Submitted by: dim (bsd.sys.mk) Reviewed by: dim, jhb
|
232623 |
06-Mar-2012 |
jhb |
Add a note to clarify why we create a relocated copy of boot1 in lower memory.
|
232614 |
06-Mar-2012 |
bz |
Provide wbwd(4), a driver for the watchdog timer found on various Winbond Super I/O chips.
With minor efforts it should be possible the extend the driver to support further chips/revisions available from Winbond. In the simplest case only new IDs need to be added, while different chipsets might require their own function to enter extended function mode, etc.
Sponsored by: Sandvine Incorporated ULC (in 2011) Reviewed by: emaste, brueffer MFC after: 2 weeks
|
232570 |
05-Mar-2012 |
jhb |
Fix boot2 to handle boot config files that only contain a custom path to a loader or kernel. Specifically, kname cannot be pointed at cmd[] since it's value is change to be an empty string after the initial call to parse, and cmd[]'s value can be changed (thus losing a prior setting for kname) due to user input at the boot prompt. While here, ensure that that initial boot config file text is nul-terminated, that ops is initialized to zero, and that kname is always initialized to a valid string.
Tested by: Domagoj Smolcic rank1seeker of gmail MFC after: 1 week
|
232518 |
04-Mar-2012 |
raj |
Respect phy-handle property in Ethernet nodes of the device tree.
This lets specify whereabouts of the parent PHY for a given MAC node (and get rid of ugly kludges in mge(4) and tsec(4)).
Obtained from: Semihalf MFC after: 1 week
|
232309 |
29-Feb-2012 |
jkim |
Fix a long standing bug. The caller expects a non-zero value for success. Luckily keyboard probing was turned off by default from the first revision.
Submitted by: Alexander Sack (asack at niksun dot com) MFC after: 3 days
|
232263 |
28-Feb-2012 |
dim |
Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to get rid of testing explicitly for clang (using ${CC:T:Mclang}) in individual Makefiles.
Instead, use the following extra macros, for use with clang: - NO_WERROR.clang (disables -Werror) - NO_WCAST_ALIGN.clang (disables -Wcast-align) - NO_WFORMAT.clang (disables -Wformat and friends) - CLANG_NO_IAS (disables integrated assembler) - CLANG_OPT_SMALL (adds flags for extra small size optimizations)
As a side effect, this enables setting CC/CXX/CPP in src.conf instead of make.conf! For clang, use the following:
CC=clang CXX=clang++ CPP=clang-cpp
MFC after: 2 weeks
|
232158 |
25-Feb-2012 |
gjb |
Whitespace cleanup: o Wrap sentences on to new lines o Cleanup trailing whitespace
Found with: textproc/igor MFC after: 1 week X-MFC-With: r232157
|
232157 |
25-Feb-2012 |
gjb |
Fix various typos in manual pages.
Submitted by: amdmi3 PR: 165431 MFC after: 1 week
|
231852 |
17-Feb-2012 |
bz |
Merge multi-FIB IPv6 support from projects/multi-fibv6/head/:
Extend the so far IPv4-only support for multiple routing tables (FIBs) introduced in r178888 to IPv6 providing feature parity.
This includes an extended rtalloc(9) KPI for IPv6, the necessary adjustments to the network stack, and user land support as in netstat.
Sponsored by: Cisco Systems, Inc. Reviewed by: melifaro (basically) MFC after: 10 days
|
231810 |
16-Feb-2012 |
nwhitehorn |
Make sure to synchronize icache for the newly loaded loader. Not an issue on most systems, when the relevant icache lines are not full.
MFC after: 2 weeks
|
231387 |
10-Feb-2012 |
nyan |
Reduce diffs against i386.
MFC after: 1 week
|
231042 |
05-Feb-2012 |
rpaulo |
Fix clang warnings.
|
230545 |
25-Jan-2012 |
pluknet |
Clarify and improve the boot menu with some small changes: - Enter instead of ENTER - Remove colons - Line up option values - Use dots to provide a line to visually connect the menu selections with their values - Replace Enabled/Disabled with off/On (bigger inital cap for "On" is a visual indicator) - Remove confusing "Boot" from selections that don't boot. - With loader_color=1 in /boot/loader.conf, use reverse video to highlight enabled options
PR: misc/160818 Submitted by: Warren Block <wblock wonkity com> Reviewed by: Devin Teske <devin dot teske fisglobal com>, current@ MFC after: 1 week
|
230522 |
25-Jan-2012 |
nwhitehorn |
Experimental support for booting CHRP-type PowerPC systems from hard disks.
|
230325 |
19-Jan-2012 |
sbruno |
Wrap changes from svn r212126 inside LOADER_NFS_SUPPORT such that using LOADER_TFTP_SUPPORT excludes this code. Fixes compilation of pxeldr with -DLOADER_TFTP_SUPPORT
Applicable to stable/9 and stable/8 now.
This appears to not be needed on stable/7 as r212126 has not been MFC'd.
Obtained from: Yahoo! Inc. MFC after: 2 weeks
|
230140 |
15-Jan-2012 |
nwhitehorn |
Fix some unreliability problems related to MSR bits inherited from kboot by setting an absolute MSR when during on the MMU. This prevents delay(), in particular, from intermittently malfunctioning.
|
230109 |
14-Jan-2012 |
eadler |
- Document TheDraw splash screens in the default loader.conf
Submitted by: Jason Hellenthal Approved by: glebius MFC after: 3 days
|
229881 |
09-Jan-2012 |
pluknet |
Get rid of a spurious warning on the console when booting the kernel from the interactive loader(8) prompt and beastie_disable="YES" is set in loader.conf(5). In this case menu.rc is not evaluated and consequently menu-unset does not have a body yet. This results in the ficl warning "menu-unset not found" when try-menu-unset invokes menu-unset.
Check for beastie_disable="YES" explicitly, so that the try-menu-unset word will not attempt to invoke menu-unset because the menu will have never been configured. [1] Use the sfind primitive as a last resort as an additional safer approach conjuring a foreign word safely. [2]
PR: kern/163938 Submitted by: Devin Teske [1] Reviewed by: Devin Teske [2] Reported and tested by: dim MFC after: 1 week X-MFC with: r228985
|
229771 |
07-Jan-2012 |
kib |
Document comconsole_port and comconsole_pcidev loader variables.
MFC after: 2 weeks
|
229463 |
04-Jan-2012 |
nyan |
MFi386: revision 229435
Add special loader environment variables 'comconsole_port' and 'comconsole_pcidev'.
MFC after: 2 weeks
|
229462 |
04-Jan-2012 |
nyan |
Fix 230MB MO support.
Submitted by: Kaho Toshikazu MFC after: 1 week
|
229435 |
03-Jan-2012 |
kib |
Add special loader environment variables 'comconsole_port' and 'comconsole_pcidev'. The former allows to set the base address of the serial console i/o port. The later takes the string of the format 'bus:device:function:[bar]' as a value and uses the serial port attached as PCI device at the specified location for console.
Both variants pass 'hw.uart.console' variable to the uart driver to properly hand-over the kernel console.
Change allows to use ISA serial ports other than COM1 for the loader/kernel console without loader recompilation. Also, you can use PCI-attached port as the console, e.g. Intel AMT serial pseudo-port on some motherboards based on Q67 chipset.
Reviewed by: jhb MFC after: 2 weeks
|
229403 |
03-Jan-2012 |
ed |
Replace index() and rindex() calls with strchr() and strrchr().
The index() and rindex() functions were marked LEGACY in the 2001 revision of POSIX and were subsequently removed from the 2008 revision. The strchr() and strrchr() functions are part of the C standard.
This makes the source code a lot more consistent, as most of these C files also call into other str*() routines. In fact, about a dozen already perform strchr() calls.
|
229368 |
03-Jan-2012 |
ed |
Merge index() and strchr() together.
As I looked through the C library, I noticed the FreeBSD MIPS port has a hand-written version of index(). This is nice, if it weren't for the fact that most applications call strchr() instead.
Also, on the other architectures index() and strchr() are identical, meaning we have two identical pieces of code in the C library and statically linked applications.
Solve this by naming the actual file strchr.[cS] and let it use __strong_reference()/STRONG_ALIAS() to provide the index() routine. Do the same for rindex()/strrchr().
This seems to make the C libraries and static binaries slightly smaller, but this reduction in size seems negligible.
|
228985 |
30-Dec-2011 |
pluknet |
Unset the environment variables associated with individual menu items before invoking the kernel.
Quoting submitter:
The issue is with the new boot loader menu. It adds many loader variables including ones that contain ANSI color escapes.
Obviously, these ANSI codes don't play well with serial consoles when kenv(1) is executed without arguments (reports vary as to what happens, but it's never pretty).
The net-effect is that kenv(1) no longer reports menu-related variables.
In essence, kenv(1) output should now appear the same as on RELENG_8 (which lacks the new boot loader and didn't use any such variables). Thus, restoring serial console glory.
Submitted by: Devin Teske <devin dott teske fisglobal.com> MFC after: 2 weeks
|
228916 |
27-Dec-2011 |
pluknet |
Clean up from the 4.x era.
In an example of boot command: - rename wd(4) IDE disk drives name to ad(4) for the time being. - update the used kernel path "/kernel" to the current default. [It still worked occasionally by looking into the /boot/kernel directory, so the resulting path was "/boot//kernel/kernel", with two slashes.]
Bump .Dd for this and previous changes.
MFC after: 1 week
|
228782 |
21-Dec-2011 |
ed |
Make the RTC checking for QEMU even more aggressive.
At work, where we use use KVM+QEMU, we notice that pxeboot is pratically impossible because of network timeouts. This is due to the fact that the RTC code makes aggressive jumps.
Two RTC reads does not seem to be sufficient. Change the code to check for 8 identical RTC values.
Sponsored by: Kumina bv
|
228738 |
20-Dec-2011 |
jhb |
Allow boot0cfg to force a PXE boot via boot0 on the next boot. - Fix boot0 to check for PXE when using the pre-set setting for the preferred slice. - Update boot0cfg to use slice 6 to select PXE. Accept a 'pxe' argument instead of a number for the 's' option as a way to select PXE as well.
Submitted by: Andrew Boyer aboyer averesystems MFC after: 2 weeks
|
228576 |
16-Dec-2011 |
glebius |
- Rename if_carp.ko to carp.ko. - carp.ko depends on sha1.c
|
228471 |
13-Dec-2011 |
ed |
Replace `inline static' by `static inline'.
If I interpret the C standard correctly, the storage specifier should be placed before the inline keyword. While at it, replace __inline by inline in the files affected.
|
228267 |
04-Dec-2011 |
avg |
zfsboot: print boot.config contents before parsing it
as parsing can be a destructive operation
MFC after: 2 weeks
|
228266 |
04-Dec-2011 |
avg |
zfs boot: allow file vdevs to be used in testing (e.g. with zfsboottest)
MFC after: 1 week
|
227739 |
19-Nov-2011 |
andreast |
Rename the linker emulation name for powerpc and powerc64. This is needed that we can also use the upstream binutils linker where we have to have a unique name for the FreeBSD emulation.
|
227730 |
19-Nov-2011 |
raj |
Initial version of cesa(4) driver for Marvell crypto engine and security accelerator.
The following algorithms and schemes are supported: - 3DES, AES, DES - MD5, SHA1
Obtained from: Semihalf Written by: Piotr Ziecik
|
227727 |
19-Nov-2011 |
miwi |
- Add new loader_logo orbbw to default.conf
PR: 162608 Submitted by: manolis Approved by: rwatson (mentor) MFC after: 3 Days
|
227726 |
19-Nov-2011 |
miwi |
- Whitespaces fixed only
Approved by: rwatson (mentor)
|
227629 |
17-Nov-2011 |
marcel |
Wire the kernel text RWX, rather than RX. We're not quite ready for having kernel text non-writable, because we still need to apply relocations. On top of that, the PBVM page table has all pages marked as RWX, so it's an inconsistency to begin with.
|
227613 |
17-Nov-2011 |
raj |
Add DTS for the Freescale P2020DS.
Obtained from: Freescale
|
227508 |
14-Nov-2011 |
marcel |
Add DTS for the Freescale P1020RDB.
|
227506 |
14-Nov-2011 |
marcel |
Add DTS for the Freescale P3041DS.
|
227389 |
09-Nov-2011 |
jhb |
Revert some debugging printfs that crept into 223695.
|
227056 |
03-Nov-2011 |
pluknet |
Remove the remnants of /stand/sysinstall.
loader.8: Sync the default init_path list with kern/init_main.c.
NOTES: Replace with /rescue/init in the INIT_PATH kernel option.
|
226833 |
27-Oct-2011 |
pluknet |
Remove the long reprecated ``/stand/sysinstall'' from the init_path.
It can be put back using the INIT_PATH config option or init_path loader variable, if still needed (which I doubt).
MFC after: 1 week
|
226748 |
25-Oct-2011 |
jhb |
- Add a new header for the x86 boot code that defines various structures and constants related to the BIOS Enhanced Disk Drive Specification. - Use this header instead of magic numbers and various duplicate structure definitions for doing I/O. - Use an actual structure for the request to fetch drive parameters in drvsize() rather than a gross hack of a char array with some magic size. While here, change drvsize() to only pass the 1.1 version of the structure and not request device path information. If we want device path information you have to set the length of the device path information as an input (along with probably checking the actual EDD version to see which size one should use as the device path information is variable-length). This fixes data smashing problems from passing an EDD 3 structure to BIOSes supporting EDD 4.
Reviewed by: avg Tested by: Dennis Koegel dk neveragain.de MFC after: 1 week
|
226746 |
25-Oct-2011 |
jhb |
Consolidate duplicate definitions of V86_CY() and V86_ZR() which check for the carry and zero flags being set, respectively, in <btxv86.h> and use them throughout the x86 boot code.
|
226569 |
20-Oct-2011 |
pjd |
With LOADER_MBR_SUPPORT defined and LOADER_GPT_SUPPORT undefined we would never call disk_openmbr().
Submitted by: avg MFC after: 3 days
|
226568 |
20-Oct-2011 |
pjd |
- Correctly read gang header from raidz. - Decompress assembled gang block data if compressed. - Verify checksum of a gang header. - Verify checksum of assembled gang block data. - Verify checksum of uber block.
Submitted by: avg MFC after: 3 days
|
226554 |
19-Oct-2011 |
pjd |
Fix missing return when LOADER_GPT_SUPPORT is defined, but LOADER_MBR_SUPPORT is not.
MFC after: 3 days
|
226553 |
19-Oct-2011 |
pjd |
Always pass data size for checksum verification function, as using physical block size declared in bp may not always be what we want. For example in case of gang block header physical block size declared in bp is much larger than SPA_GANGBLOCKSIZE (512 bytes) and checksum calculation failed. This bug could lead to accessing unallocated memory and resets/failures during boot.
MFC after: 3 days
|
226552 |
19-Oct-2011 |
pjd |
Never pass NULL block pointer when reading. This is neither expected nor handled by lower layers like vdev_raidz, which uses bp for checksum verification. This bug could lead to NULL pointer reference and resets during boot.
MFC after: 3 days
|
226551 |
19-Oct-2011 |
pjd |
Don't mark vdev as healthy too soon, so we won't try to use invalid vdevs.
MFC after: 3 days
|
226506 |
18-Oct-2011 |
des |
Look for /boot/config in addition to /boot.config, with the former taking precedence over the latter if it exists.
MFC after: 3 weeks
|
226501 |
18-Oct-2011 |
jchandra |
Support for booting XLP using FDT.
- update xlp_machdep.c to read arguments from FDT if FDT support is compiled in. - define rmi_uart_bus_space, and use it as fdtbus_bs_tag - update conf files for FDT support - add default dts file xlp-basic.dts
|
226436 |
16-Oct-2011 |
eadler |
- change "is is" to "is" or "it is" - change "the the" to "the"
Approved by: lstewart Approved by: sahil (mentor) MFC after: 3 days
|
225955 |
04-Oct-2011 |
thompsa |
Allow ixp425 boot2 to compile after r219452
|
225608 |
16-Sep-2011 |
avg |
zfstest: rename to zfsboottest and move to tools
Approved by: re (kib) MFC after: 1 week
|
225530 |
13-Sep-2011 |
avg |
gpt/zfs boot blocks: reduce optimizing CFLAGS to -O1
gpt and zfs boot blocks are not nearly as size-constrained as boot2 from which they inherited their current optimization and anti-optimization options. As such the current options do not provide any benefit, but make debugging of the code much harder. Also, it has been demonstrated that combination of -mrtd and -fno-unit-at-a-time may result in mis-compilation of the boot code with the current base gcc.
Additionally, intermediate assembly file filtering is removed for zfsboot.
The new boot blocks are all compile- and boot- tested using qemu. gptzfsboot is tested with real hardware.
Reported by: Peter Jeremy <peterjeremy@acm.org> [miscompilation] Discussed with: bde, jhb Tested by: Sebastian Chmielewski <chmielsster@gmail.com> [gptzfsboot] Approved by: re (kib) MFC after: 3 weeks
|
225529 |
13-Sep-2011 |
avg |
zfstest: cleanup the code, improve functionality and diagnostics
The utility is not connected to the build, so it should be safe to update it. To do: move the utility to tools/. Some code is provided by Peter Jeremy <peterjeremy@acm.org>
Tested by: Sebastian Chmielewski <chmielsster@gmail.com>, Peter Jeremy <peterjeremy@acm.org> (earlier versions) Approved by: re (kib) MFC after: 4 days
|
225353 |
02-Sep-2011 |
jh |
Restore behavior of the autoboot_delay="-1" boot menu setting to the pre-r222417 state. The behavior was essentially reversed in r222417 which can cause confusion.
PR: 159775 Submitted by: Devin Teske Approved by: re (kib)
|
225122 |
23-Aug-2011 |
marck |
Add kern.cam.boot_delay description (with reasonable default) to default/loader.conf
This should help people installing ${OS} to USB devices, where there are frequently cases where kernel tries to mount root before actual umass sensing is finished.
Reviewed by: mav Approved by: re (kib) MFC after: 1 week
|
224857 |
14-Aug-2011 |
nwhitehorn |
Add support for the Blu-Ray drive found in the Sony Playstation 3 and fix some realted minor bugs in PS3 internal storage support.
Submitted by: glevand <geoffrey.levand@mail.ru> Approved by: re (bz)
|
224722 |
08-Aug-2011 |
dim |
Fix buffer overflow in sys/boot/common/util.c's printf(), when printing large (>= 10^10) numbers. In theory, 20 characaters should be enough, but bump the buffer to 32 characters, so we have some room for the future.
Reviewed by: pjd Approved by: re (kib)
|
224408 |
25-Jul-2011 |
rodrigc |
Document the tftp.blksize variable added in src/lib/libstand/tftp.c.
Approved by: re (kib) Requested by: maxim
|
224228 |
20-Jul-2011 |
jhb |
Note that the "kernel" variable in loader.conf is the name of a directory containing a kernel under /boot and that it's default value is "kernel" not "/boot/kernel/kernel".
PR: docs/158992 Reported by: Wayne Mitchell wayne.mitchell.iz at gmail Approved by: re (kib) MFC after: 1 week
|
224131 |
17-Jul-2011 |
dim |
When building some of the boot loaders with clang, and DEBUG_FLAGS or CFLAGS having '-g' in it, clang outputs several assembly directives that are too new for our version of binutils.
Therefore, assemble the resulting .s files with clang instead. A more general solution can be implemented when a GNU as-compatible driver for clang's integrated assembler appears.
Reported by: dougb
|
224106 |
16-Jul-2011 |
nwhitehorn |
Add support for booting PS3s from disk. This is still a little hackish until we can find a way to get the information from petitboot or to guess it, so the current algorithm is:
1. See if ps3disk3p1 (first GPT slice on OtherOS partition) exists, and if so try to boot it. 2. Otherwise, netboot.
Submitted by: glevand <geoffrey.levand at mail dot ru >
|
223938 |
11-Jul-2011 |
marius |
Since r219452 the alignment of __dmadat has changed, revealing that fsread() bogusly casts its contents around causing alignment faults on sparc64 and most likely also on at least powerpc. Fix this by copying the contents bytewise instead as partly already done here. Solving this the right way costs some space, i.e. 148 bytes with GCC and 16 bytes with clang on x86 there are still some bytes left there though, and an acceptable hack which tricks the compiler into only using a 2-byte alignment instead of the native one when accessing the contents turned out to even take up more space that.
|
223758 |
04-Jul-2011 |
attilio |
With retirement of cpumask_t and usage of cpuset_t for representing a mask of CPUs, pc_other_cpus and pc_cpumask become highly inefficient.
Remove them and replace their usage with custom pc_cpuid magic (as, atm, pc_cpumask can be easilly represented by (1 << pc_cpuid) and pc_other_cpus by (all_cpus & ~(1 << pc_cpuid))).
This change is not targeted for MFC because of struct pcpu members removal and dependency by cpumask_t retirement.
MD review by: marcel, marius, alc Tested by: pluknet MD testing by: marcel, marius, gonzo, andreast
|
223719 |
02-Jul-2011 |
marius |
- For Cheetah- and Zeus-class CPUs don't flush all unlocked entries from the TLBs in order to get rid of the user mappings but instead traverse them an flush only the latter like we also do for the Spitfire-class. Also flushing the unlocked kernel entries can cause instant faults which when called from within cpu_switch() are handled with the scheduler lock held which in turn can cause timeouts on the acquisition of the lock by other CPUs. This was easily seen with a 16-core V890 but occasionally also happened with 2-way machines. While at it, move the SPARC64-V support code entirely to zeus.c. This causes a little bit of duplication but is less confusing than partially using Cheetah-class bits for these. - For SPARC64-V ensure that 4-Mbyte page entries are stored in the 1024- entry, 2-way set associative TLB. - In {d,i}tlb_get_data_sun4u() turn off the interrupts in order to ensure that ASI_{D,I}TLB_DATA_ACCESS_REG actually are read twice back-to-back.
Tested by: Peter Jeremy (16-core US-IV), Michael Moll (2-way SPARC64-V)
|
223712 |
01-Jul-2011 |
marius |
Fix r223695 to compile on architectures which don't use the MBR scheme; wrap the MBR support in the common part of the loader in #ifdef's and enable it only for userboot for now.
|
223695 |
30-Jun-2011 |
dfr |
Add a version of the FreeBSD bootloader which can run in userland, packaged as a shared library. This is intended to be used by BHyVe to load FreeBSD kernels into new virtual machines.
|
223611 |
27-Jun-2011 |
jhb |
Revert the entry point label to 'start' to unbreak the build.
Pointy hat to: jhb
|
223597 |
27-Jun-2011 |
jhb |
- Remove the fake BPB from zfsldr. zfsldr doesn't support booting from floppies, so it will not be used as the start of an emulated floppy image on a bootable CD which is what the fake BPB was used for. - Only check that EDD packet mode is available once at the start of zfsldr rather than for each disk sector now that we read data in one sector at a time. As a result, collapse the remaining bits of read up into nread and rename nread to read. - Restore a return at the end of putstr that I removed in the previous revision.
Tested by: Henri Hennebert (earlier version) MFC after: 1 week
|
223539 |
25-Jun-2011 |
marius |
As with EFI, OFW and U-Boot etc only compile FDT support on those architectures that actually use it.
|
223477 |
23-Jun-2011 |
jhb |
The recent change to increase the zfsboot size to 64k made a few BIOSes unhappy (probably they don't handle crossing the 64k boundary, etc.). Fix this by changing zfsldr to use a loop reading from the disk one sector at a time. To avoid trashing the saved copy of the MBR which is used for disk I/O, read zfsboot2 at address 0x9000. This has the advantage that BTX no longer needs to be relocated as it is read into the correct location. However, the loop to relocate zfsboot2.bin can now cross a 64k boundary, so change it to use relative segments instead. (This will need further work if zfsboot2.bin ever exceeds 64k.)
While here, stop storing a relocated copy of zfsldr at 0x700. This was only used by the xread hack which has recently been removed (and even that use was dubious). Also, include the BIOS error code as hex when reporting read errors to aid in debugging.
Much thanks to Henri Hennebert for patiently testing various iterations of the patch as well as fixing the zfsboot2.bin relocation to use relative segments.
MFC after: 1 week
|
223295 |
19-Jun-2011 |
kan |
Minimize backward seeks when trying to load ELF relocatable modules.
Some of loader filesystems are very ill equipped to handle seeking backwards within the file. Namely, tftp requires trasfer to be restarted from the start of the file every time we go backwards.
|
223262 |
18-Jun-2011 |
benl |
Fix clang warnings.
Approved by: philip (mentor)
|
223109 |
15-Jun-2011 |
nwhitehorn |
Revert changes to this file in r222417. This unconditionally enabled the boot menu on all platforms, which breaks loader completely on at least powerpc for reasons that are not understood yet.
Reviewed by: Devin Teske
|
223017 |
12-Jun-2011 |
dim |
Upgrade our copy of llvm/clang to r132879, from upstream's trunk.
|
222813 |
07-Jun-2011 |
attilio |
etire the cpumask_t type and replace it with cpuset_t usage.
This is intended to fix the bug where cpu mask objects are capped to 32. MAXCPU, then, can now arbitrarely bumped to whatever value. Anyway, as long as several structures in the kernel are statically allocated and sized as MAXCPU, it is suggested to keep it as low as possible for the time being.
Technical notes on this commit itself: - More functions to handle with cpuset_t objects are introduced. The most notable are cpusetobj_ffs() (which calculates a ffs(3) for a cpuset_t object), cpusetobj_strprint() (which prepares a string representing a cpuset_t object) and cpusetobj_strscan() (which creates a valid cpuset_t starting from a string representation). - pc_cpumask and pc_other_cpus are target to be removed soon. With the moving from cpumask_t to cpuset_t they are now inefficient and not really useful. Anyway, for the time being, please note that access to pcpu datas is protected by sched_pin() in order to avoid migrating the CPU while reading more than one (possible) word - Please note that size of cpuset_t objects may differ between kernel and userland. While this is not directly related to the patch itself, it is good to understand that concept and possibly use the patch as a reference on how to deal with cpuset_t objects in userland, when accessing kernland members. - KTR_CPUMASK is changed and now is represented through a string, to be set as the example reported in NOTES.
Please additively note that no MAXCPU is bumped in this patch, but private testing has been done until to MAXCPU=128 on a real 8x8x2(htt) machine (amd64).
Please note that the FreeBSD version is not yet bumped because of the upcoming pcpu changes. However, note that this patch is not targeted for MFC.
People to thank for the time spent on this patch: - sbruno, pluknet and Nicholas Esborn (nick AT desert DOT net) tested several revision of the patches and really helped in improving stability of this work. - marius fixed several bugs in the sparc64 implementation and reviewed patches related to ktr. - jeff and jhb discussed the basic approach followed. - kib and marcel made targeted review on some specific part of the patch. - marius, art, nwhitehorn and andreast reviewed MD specific part of the patch. - marius, andreast, gonzo, nwhitehorn and jceel tested MD specific implementations of the patch. - Other people have made contributions on other patches that have been already committed and have been listed separately.
Companies that should be mentioned for having participated at several degrees: - Yahoo! for having offered the machines used for testing on big count of CPUs. - The FreeBSD Foundation for having sponsored my devsummit attendance, which has been instrumental. - Sandvine for having offered offices and infrastructure during development.
(I really hope I didn't forget anyone, if it happened I apologize in advance).
|
222799 |
07-Jun-2011 |
marcel |
o Bump the EFI loader version to 3.1. o Add the about, pbvm and reboot commands. o Trim the banner (suppress maker and date).
|
222798 |
07-Jun-2011 |
marcel |
Add ia64_sync_icache() and use it to make the I-cache coherent after loading the kernel's text segment. The kernel will do the same for loaded modules, so don't worry about that.
|
222599 |
02-Jun-2011 |
uqs |
mdoc: fix markup
|
222472 |
30-May-2011 |
julian |
Include forgotten framework changes to get some of the new menu files installed correctly on non x86/amd systems. pointy-hut to devin
|
222450 |
29-May-2011 |
andreast |
Add some missing files. Without we hang in the OF prompt asking for screen.4th.
Approved by: nwhitehorn (mentor)
|
222417 |
28-May-2011 |
julian |
New boot loader menus from Devin Teske. Discussed on hackers and recommended for inclusion into 9.0 at the devsummit. All support email to devin dteske at vicor dot ignoreme dot com .
Submitted by: dteske at vicor dot ignoreme dot com Reviewed by: me and many others
|
221869 |
14-May-2011 |
attilio |
Disconnect sun4v architecture from the three.
Some files keep the SUN4V tags as a code reference, for the future, if any rewamped sun4v support wants to be added again.
Reviewed by: marius Tested by: sbruno Approved by: re
|
221601 |
07-May-2011 |
avg |
a whitespace nit
Reminder from: kib MFC after: 4 days
|
221593 |
07-May-2011 |
avg |
a whitespace nit
MFC after: 4 days
|
221506 |
05-May-2011 |
dim |
Fine-tune llvm optimization for sys/boot/i386/boot2, which shaves off some more bytes from the final boot2 image.
Submitted by: rdivacky
|
221356 |
03-May-2011 |
marcel |
Fix corner case where the size is a power of two.
|
221348 |
02-May-2011 |
dim |
Clang r130700 can now compile sys/boot/i386/boot2 with room to spare.
|
221269 |
30-Apr-2011 |
marcel |
Turn PBVM page table entries into PTEs so that they can be inserted into the TLB as-is.
While here, have ia64_platform_alloc() return ~0UL on failure.
|
221177 |
28-Apr-2011 |
jhb |
Due to space constraints, the UFS boot2 and boot1 use an evil hack where boot2 calls back into boot1 to perform disk reads. The ZFS MBR boot blocks do not have the same space constraints, so remove this hack for ZFS. While here, remove commented out code to support C/H/S addressing from zfsldr. The ZFS and GPT bootstraps always just use EDD LBA addressing.
MFC after: 2 weeks
|
220924 |
21-Apr-2011 |
ae |
Remove all object files during 'make clean'.
MFC after: 1 week
|
220685 |
16-Apr-2011 |
nyan |
MFi386: revisions 220389 and 220392
- Mark getc() as inline, this has no effect on gcc but helps clang. - Move getc() body before xgetc() so gcc does not emit a warning about function having no body.
|
220653 |
15-Apr-2011 |
philip |
Add basic support for the Marvell Orion TS-7800.
Submitted by: Kristof Provost <kristof -at- freebsd.org>
|
220594 |
13-Apr-2011 |
pluknet |
Remove the now defunct kern.ipc.nmbufs tunable.
PR: kern/132497 (part) MFC after: 1 week
|
220392 |
06-Apr-2011 |
rdivacky |
Move getc() body before xgetc() so gcc does not emit a warning about function having no body.
Approved by: jhb
|
220389 |
06-Apr-2011 |
rdivacky |
Mark getc() as inline, this has no effect on gcc but helps clang.
Approved by: jhb
|
220361 |
05-Apr-2011 |
nyan |
MFi386: revision 220337
Build boot2 with -mregparm=3.
|
220337 |
04-Apr-2011 |
rdivacky |
Build boot2 with -mregparm=3, ie. pass upto 3 arguments via registers. This modifies CFLAGS and tweaks sio.S to use the new calling convention. The sio_init() and sio_putc() prototypes are modified so that other users of this code know the correct calling convention.
This makes the code smaller when compiled with clang.
Reviewed by: jhb Tested by: me and Freddie Cash <fjwcash gmail com>
|
220332 |
04-Apr-2011 |
marcel |
Fix a long standing bug where file_load() passes down the global loadaddr to the l_load() method in the file_formats structure, while being passed an address as an argument (dest). With file_load() calling arch_loadaddr() now, this bug is a little bit more significant.
Spotted by: nyan@ (nice catch!)
|
220313 |
04-Apr-2011 |
marcel |
Use the new arch_loadaddr I/F to align ELF objects to PBVM page boundaries. For good measure, align all other objects to cache lines boundaries.
Use the new arch_loadseg I/F to keep track of kernel text and data so that we can wire as much of it as is possible. It is the responsibility of the kernel to link critical (read IVT related) code and data at the front of the respective segment so that it's covered by TRs before the kernel has a chance to add more translations.
Use a better way of determining whether we're loading a legacy kernel or not. We can't check for the presence of the PBVM page table, because we may have unloaded that kernel and loaded an older (legacy) kernel after that. Simply use the latest load address for it.
|
220311 |
03-Apr-2011 |
marcel |
Add 2 new archsw interfaces: 1. arch_loadaddr - used by platform code to adjust the address at which the object gets loaded. Implement PC98 using this new interface instead of using conditional compilation. For ELF objects the ELF header is passed as the data pointer. For raw files it's the filename. Note that ELF objects are first considered as raw files. 2. arch_loadseg - used by platform code to keep track of actual segments, so that (instruction) caches can be flushed or translations can be created. Both the ELF header as well as the program header are passed to allow platform code to treat the kernel proper differently from any additional modules and to have all the relevant details of the loaded segment (e.g. protection).
|
220290 |
03-Apr-2011 |
marcel |
Revert rev 165325. The arch_maphint interface hasn't been in use for more than 4 years.
|
220283 |
03-Apr-2011 |
marcel |
Make the ski loader functional again after the previous set of changes.
|
219960 |
24-Mar-2011 |
nyan |
MFi386: the part of 219452
- bunch of variables are turned into uint8_t. - the setting and reading of "fmt" in load() is removed. - buf in printf() is made static to save space.
|
219703 |
16-Mar-2011 |
ae |
The size of zfsboot2 grown up to 64 Kbytes in r219089. Increase NSECT up to 128 sectors too.
Reviewed by: jhb, pjd
|
219702 |
16-Mar-2011 |
ae |
Set control flags in putc(). This should fix zfsboot hangs in drvread().
PR: kern/153552 Reviewed by: jhb MFC after: 1 week
|
219691 |
16-Mar-2011 |
marcel |
MFaltix: Add support for Pre-Boot Virtual Memory (PBVM) to the loader.
PBVM allows us to link the kernel at a fixed virtual address without having to make any assumptions about the physical memory layout. On the SGI Altix 350 for example, there's no usuable physical memory below 192GB. Also, the PBVM allows us to control better where we're going to physically load the kernel and its modules so that we can make sure we load the kernel in memory that's close to the BSP.
The PBVM is managed by a simple page table. The minimum size of the page table is 4KB (EFI page size) and the maximum is currently set to 1MB. A page in the PBVM is 64KB, as that's the maximum alignment one can specify in a linker script. The bottom line is that PBVM is between 64KB and 8GB in size.
The loader maps the PBVM page table at a fixed virtual address and using a single translations. The PBVM itself is also mapped using a single translation for a maximum of 32MB.
While here, increase the heap in the EFI loader from 512KB to 2MB and set the stage for supporting relocatable modules.
|
219683 |
16-Mar-2011 |
marcel |
Revert previous commit: EFI_STATUS is a 64-bit integral on ia64. Fix the compile warning on i386 (where EFI_STATUS is a 32-bit integral) by casting the status argument to u_long instead.
Pointy hat: brucec MFC after: 3 days
|
219647 |
14-Mar-2011 |
davidch |
- Initial release of bxe(4) to support Broadcom NetXtreme II 10GbE. (BCM57710, BCM57711, BCM57711E)
MFC after: One month
|
219483 |
11-Mar-2011 |
jhb |
Remove all object files during 'make clean'.
PR: kern/154888 Submitted by: arundel MFC after: 1 week
|
219452 |
10-Mar-2011 |
rdivacky |
Some more shrinking.
o bunch of variables are turned into uint8_t
o initial setting of namep[] in lookup() is removed as it's only overwritten a few lines down
o kname is explicitly initialized in main() as BSS in boot2 is not zeroed
o the setting and reading of "fmt" in load() is removed
o buf in printf() is made static to save space
Reviewed by: jhb Tested by: me and Fabian Keil <freebsd-listen fabiankeil de>
|
219225 |
03-Mar-2011 |
nyan |
MFi386: revision 219186
This patch shrinks boot2 a little.
o It switches kname to be just a pointer instead of an array. o It changes ioctl to unsigned from uint8_t. o It changes the second keyhit limit to 3 seconds from 5. o It removes bi_basemem/bi_extmem/bi_memsizes_valid setting.
|
219186 |
02-Mar-2011 |
rdivacky |
This patch shrinks boot2 a little.
o It switches kname to be just a pointer instead of an array thus avoiding a couple of memcpy()s.
o It changes ioctl to unsigned from uint8_t.
o It changes the second keyhit limit to 3 seconds from 5 so that constant propagation can take place.
o It changes the ticks overflow computation as suggested by bde@.
o It removes bi_basemem/bi_extmem/bi_memsizes_valid setting from bootinfo as it is unused.
Reviewed by: jhb
|
219126 |
01-Mar-2011 |
brucec |
Remove duplicate "in".
Suggested by: Rob Farmer <rfarmer at predatorlabs.net> MFC after: 3 days
|
219096 |
28-Feb-2011 |
brucec |
Revert some of r177626. "in in" is valid in certain sentences.
PR: 121490 MFC after: 3 days
|
219089 |
27-Feb-2011 |
pjd |
Finally... Import the latest open-source ZFS version - (SPA) 28.
Few new things available from now on:
- Data deduplication. - Triple parity RAIDZ (RAIDZ3). - zfs diff. - zpool split. - Snapshot holds. - zpool import -F. Allows to rewind corrupted pool to earlier transaction group. - Possibility to import pool in read-only mode.
MFC after: 1 month
|
219083 |
27-Feb-2011 |
pjd |
Rename bcpy() macro to bcopy().
|
219079 |
27-Feb-2011 |
dim |
Clang's integrated assembler can now handle sys/boot/i386/boot2/sio.S. It used to choke on the notation "inb (%dx),%al" for "inb %dx,%al"; GNU as accepts both forms. Which notation is more 'correct' is an open question. :)
|
218974 |
23-Feb-2011 |
brucec |
Handle memory allocation failures in include().
PR: i386/85652 Submitted by: Ben Thomas <bthomas at virtualiron.com> MFC after: 3 days
|
218946 |
22-Feb-2011 |
nyan |
MFi386: revision 218926
In sys/boot/i386/boot2/boot2.c, change the type of the 'opts' variable from uint16_t back to uint32_t. The actual option bitmasks (RB_* and RBX_*) assume at least a 32 bit variable.
Submitted by: rdivacky
|
218926 |
21-Feb-2011 |
dim |
In sys/boot/i386/boot2/boot2.c, change the type of the 'opts' variable from uint16_t back to uint32_t. The actual option bitmasks (RB_* and RBX_*) assume at least a 32 bit variable.
Submitted by: rdivacky
|
218909 |
21-Feb-2011 |
brucec |
Fix typos - remove duplicate "the".
PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days
|
218893 |
20-Feb-2011 |
dim |
Upgrade our copy of llvm/clang to r126079, from upstream's trunk.
This contains many improvements, primarily better C++ support, an integrated assembler for x86 and support for -pg.
|
218842 |
19-Feb-2011 |
nyan |
MFi386: revision 218745
Remove reading of symbols from a.out loaded files.
|
218822 |
18-Feb-2011 |
dim |
Merge binutils 2.17.50 to head. This brings a number of improvements to x86 CPU support, better support for powerpc64, some new directives, and many other things. Bump __FreeBSD_version, and add a note to UPDATING.
Thanks to the many people that have helped to test this.
Obtained from: projects/binutils-2.17
|
218815 |
18-Feb-2011 |
danger |
- add missing if_ devices which were missing and are available as loadable modules too
Reviewed by: brucec
|
218745 |
16-Feb-2011 |
imp |
Remove reading of symbols from a.out loaded files. Since we are tight on space for clang and a.out support is only needed for /boot/loader, they are excess bytes that serve no useful purpose other than to support really old kernels (FreeBSD < 3.2 or so). Prefer clang support over support for these old kernels and remove this code. We gain about 100 bytes of space this way.
Reviewed by: rdivacky@
|
218737 |
16-Feb-2011 |
nyan |
MFi386: revision 218713
Apply a few small optimizations to boot2's code, to make it shrink a little further.
|
218716 |
15-Feb-2011 |
dim |
In sys/boot/common/ufsread.c, use uint8_t instead of u_int8_t.
Submitted by: mdf
|
218713 |
15-Feb-2011 |
dim |
Apply a few small optimizations to boot2's code, to make it shrink a little further. This gets us further on the way to be able to build it successfully with clang. Using in-tree gcc, this shrinks boot2.bin with 60 bytes, the in-tree clang shaves off 72 bytes, and ToT clang 84 bytes.
Submitted by: rdivacky Reviewed by: imp
|
218595 |
12-Feb-2011 |
nyan |
Fix build.
|
218557 |
11-Feb-2011 |
nyan |
Add the pc98boot image which concatenates boot0 and boot0.5. It's required by the gpart to write bootcode.
|
218246 |
04-Feb-2011 |
marcel |
Add PEX0 and select the first serial port as console.
|
217689 |
21-Jan-2011 |
pluknet |
Add kern.msgbufsize default setting to /boot/defaults/loader.conf.
Suggested by: Alex Kozlov <spam rm-rf.kiev.ua> (via private mail) Approved by: kib (mentor)
|
217688 |
21-Jan-2011 |
pluknet |
Make MSGBUF_SIZE kernel option a loader tunable kern.msgbufsize.
Submitted by: perryh pluto.rain.com (previous version) Reviewed by: jhb Approved by: kib (mentor) Tested by: universe
|
217663 |
20-Jan-2011 |
imp |
No need to list an obsolete arm compiler here.
|
217657 |
20-Jan-2011 |
imp |
Don't need __DYNAMIC here. it is commented out and a.out only -- these are all ELF.
|
217644 |
20-Jan-2011 |
jhb |
Fix a stack leak in r215345 when skipping over the ACPI menu item for machines that do not support ACPI.
Submitted by: olli
|
217067 |
06-Jan-2011 |
marcel |
Help static analysis by initializing variables that we know cannot be used uninitialized, but which cannot be inferred from the code itself.
|
217044 |
06-Jan-2011 |
nwhitehorn |
Import support for the Sony Playstation 3 using the OtherOS feature available on firmwares 3.15 and earlier.
Caveats: Support for the internal SATA controller is currently missing, as is support for framebuffer resolutions other than 720x480. These deficiencies will be remedied soon.
Special thanks to Peter Grehan for providing the hardware that made this port possible, and thanks to Geoff Levand of Sony Computer Entertainment for advice on the LV1 hypervisor.
|
217033 |
05-Jan-2011 |
dim |
On i386 and amd64, consistently use the following options whenever we want to avoid using any "advanced" CPU features:
-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
|
217030 |
05-Jan-2011 |
dim |
Remove an empty .if/.endif pair from sys/boot/ficl/Makefile that I forgot to cleanup in the last commit.
|
217029 |
05-Jan-2011 |
dim |
In lib/libstand, sys/boot/ficl and sys/boot/zfs, -mno-sse3 should also be used for amd64, not just for i386.
|
217028 |
05-Jan-2011 |
dim |
Remove superfluous -mno-(mmx|3dnow|sse|sse2|sse3) flags in Makefiles under sys/boot/{i386,pc98}, since these are already added via sys/boot/{i386,pc98}/Makefile.inc.
Submitted by: arundel
|
216829 |
31-Dec-2010 |
yongari |
Add driver for DM&P Vortex86 RDC R6040 Fast Ethernet. The controller is commonly found on DM&P Vortex86 x86 SoC. The driver supports all hardware features except flow control. The flow control was intentionally disabled due to silicon bug.
DM&P Electronics, Inc. provided all necessary information including sample board to write driver and answered many questions I had. Many thanks for their support of FreeBSD.
H/W donated by: DM&P Electronics, Inc.
|
215811 |
25-Nov-2010 |
emaste |
Give a bit of a hint of the failure (read != expected) but don't make the error message needlessly more verbose.
Discussed with: attilio
|
215758 |
23-Nov-2010 |
attilio |
Make this printfoutput more verbose.
Sponsored by: Sandvine Incorporated Submitted by: Sandvine Incorporated MFC after: 3 days
|
215577 |
20-Nov-2010 |
andreast |
Check the OF_getprop() return value before proceeding. Allocate only as much space as needed for the mode buffer. Use strcmp, relying on OF giving back NULL terminated strings.
Submitted by: marius Approved by: nwhitehorn (mentor)
|
215441 |
17-Nov-2010 |
andreast |
Revert r215435. We need to figure out the exact value to be loaded.
Approved by: nwhitehorn (mentor)
|
215438 |
17-Nov-2010 |
andreast |
Check the real-mode? OF property to find out whether we operate in real or virtual mode. In virtual mode we have to do memory mapping. On PowerMacs it is usually false while on pSeries we have found that it is true. The real-mode? property is not available on sparc64.
Approved by: nwhitehorn (mentor)
|
215437 |
17-Nov-2010 |
andreast |
Move the declaration of the eh struct (used only when debugging is enabled) from ofwn_put into the debug section.
Approved by: nwhitehorn (mentor)
|
215436 |
17-Nov-2010 |
andreast |
Make sure the .bss is cleared at the beginning. The pSeries OF ELF loader does not clear .bss automatically.
Approved by: nwhitehorn (mentor)
|
215435 |
17-Nov-2010 |
andreast |
Load the full 16k stack space.
Approved by: nwhitehorn (mentor)
|
215345 |
15-Nov-2010 |
jhb |
Don't display option 2 (to toggle ACPI on or off) on x86 machines if the BIOS does not support ACPI. The other options in the menu retain their existing numbers, option 2 is simply blanked out (and '2' is ignored).
MFC after: 1 month
|
215344 |
15-Nov-2010 |
imp |
We no longer need the OUTPUT_FORMAT line, so fix the build by removing it.
|
215285 |
14-Nov-2010 |
brucec |
Fix the jump location.
|
215284 |
14-Nov-2010 |
brucec |
When rebooting the machine jump to 0xf000:fff0 instead of 0xffff:0x0. This is the same change that was made in rev 1.33 of boot/i386/btx/btx/btx.S
PR: i386/91871 Submitted by: Bjorn Konig <bkoenig at cs.tu-berlin.de> MFC after: 1 week
|
215246 |
13-Nov-2010 |
nyan |
Now there is no functional difference from i386 version. So use i386 version.
|
215245 |
13-Nov-2010 |
nyan |
Remove unused includes.
|
215122 |
11-Nov-2010 |
raj |
Correct RAM size of the MPC8555CDS board.
|
215034 |
09-Nov-2010 |
brucec |
Fix typos.
PR: bin/148894 Submitted by: olgeni
|
215016 |
08-Nov-2010 |
jhb |
Remove support for autoloading ACPI from the loader. Leave in the code to detect ACPI and export info such as the location of the RSDP via hints as that is still useful.
|
214526 |
29-Oct-2010 |
marius |
Partially revert r203829; as it turns out what the PowerPC OFW loader did was incorrect as further down the road cons_probe() calls malloc() so the former can't be called before init_heap() has succeed. Instead just exit to the firmware in case init_heap() fails like OF_init() does when hitting a problem as we're then likely running in a very broken environment where hardly anything can be trusted to work.
|
214495 |
29-Oct-2010 |
nwhitehorn |
Fix the printf() in init_heap so that it can run before the console is up.
Pointed out by: marius
|
214494 |
29-Oct-2010 |
nwhitehorn |
Fix netboot on some Apple machines on which calling dma-free on the network device can hang the machine. This causes the loss of 64 KB of accessible memory on netbooted machines.
|
214493 |
28-Oct-2010 |
nwhitehorn |
Fix some memory management issues discovered when trying to boot the PPC OF loader on systems where address cells and size cells are both 2 (the Mambo simulator) and fix an error where cons_probe() was called before init_heap() but used malloc() to set environment variables.
MFC after: 1 month
|
214257 |
24-Oct-2010 |
nyan |
MFi386: revision 214210
Avoid using memcpy() for copying 32bit chunks. This shrinks the resulting code a little.
|
214210 |
22-Oct-2010 |
rdivacky |
Avoid using memcpy() for copying 32bit chunks. This shrinks the resulting code a little.
Approved by: rpaulo (mentor) Reviewed by: jhb
|
214114 |
20-Oct-2010 |
pjd |
Correct typos.
|
213573 |
08-Oct-2010 |
uqs |
mdoc: drop redundant .Pp and .LP calls
They have no effect when coming in pairs, or before .Bl/.Bd
|
213568 |
08-Oct-2010 |
pho |
Ensure that a make from sys/boot does not pick up include files from /usr/include.
Discussed with: kib
|
213136 |
24-Sep-2010 |
pjd |
- Split code shared by almost any boot loader into separate files and clean up most layering violations:
sys/boot/i386/common/rbx.h:
RBX_* defines OPT_SET() OPT_CHECK()
sys/boot/common/util.[ch]:
memcpy() memset() memcmp() bcpy() bzero() bcmp() strcmp() strncmp() [new] strcpy() strcat() strchr() strlen() printf()
sys/boot/i386/common/cons.[ch]:
ioctrl putc() xputc() putchar() getc() xgetc() keyhit() [now takes number of seconds as an argument] getstr()
sys/boot/i386/common/drv.[ch]:
struct dsk drvread() drvwrite() [new] drvsize() [new]
sys/boot/common/crc32.[ch] [new]
sys/boot/common/gpt.[ch] [new]
- Teach gptboot and gptzfsboot about new files. I haven't touched the rest, but there is still a lot of code duplication to be removed.
- Implement full GPT support. Currently we just read primary header and partition table and don't care about checksums, etc. After this change we verify checksums of primary header and primary partition table and if there is a problem we fall back to backup header and backup partition table.
- Clean up most messages to use prefix of boot program, so in case of an error we know where the error comes from, eg.:
gptboot: unable to read primary GPT header
- If we can't boot, print boot prompt only once and not every five seconds.
- Honour newly added GPT attributes:
bootme - this is bootable partition bootonce - try to boot from this partition only once bootfailed - we failed to boot from this partition
- Change boot order of gptboot to the following:
1. Try to boot from all the partitions that have both 'bootme' and 'bootonce' attributes one by one. 2. Try to boot from all the partitions that have only 'bootme' attribute one by one. 3. If there are no partitions with 'bootme' attribute, boot from the first UFS partition.
- The 'bootonce' functionality is implemented in the following way:
1. Walk through all the partitions and when 'bootonce' attribute is found without 'bootme' attribute, remove 'bootonce' attribute and set 'bootfailed' attribute. 'bootonce' attribute alone means that we tried to boot from this partition, but boot failed after leaving gptboot and machine was restarted. 2. Find partition with both 'bootme' and 'bootonce' attributes. 3. Remove 'bootme' attribute. 4. Try to execute /boot/loader or /boot/kernel/kernel from that partition. If succeeded we stop here. 5. If execution failed, remove 'bootonce' and set 'bootfailed'. 6. Go to 2.
If whole boot succeeded there is new /etc/rc.d/gptboot script coming that will log all partitions that we failed to boot from (the ones with 'bootfailed' attribute) and will remove this attribute. It will also find partition with 'bootonce' attribute - this is the partition we booted from successfully. The script will log success and remove the attribute.
All the GPT updates we do here goes to both primary and backup GPT if they are valid. We don't touch headers or partition tables when checksum doesn't match.
Reviewed by: arch (Message-ID: <20100917234542.GE1902@garage.freebsd.pl>) Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com MFC after: 2 weeks
|
212979 |
21-Sep-2010 |
dim |
When building world with clang, for gnu/lib/libobjc, sys/boot/i386/boot2 and sys/boot/pc98/boot2, do not simply assign 'gcc' to CC, since compile flags are sometimes passed via this variable, for example during the build32 stage on amd64. This caused the 32-bit libobjc build on amd64 to fail.
Instead, only replace the first instance of clang (if any, including optional path) with gcc, and leave the arguments alone.
Approved-by: rpaulo (mentor)
|
212861 |
19-Sep-2010 |
nork |
Add support 'device tpm' for amd64. Add tpm(4)'s default setting to /boot/defaults/loader.conf. Add 'device tpm' to NOTES for amd64 and i386.
Discussed with: takawata Approved by: imp (mentor)
|
212805 |
17-Sep-2010 |
pjd |
Before VirtualBox is fixed, mark with #ifdef what has to be done to make it possible to boot from ZFS RAIDZ for example from within VirtualBox. The problem with VirtualBox is that its BIOS reports only one disk present. If we choose to ignore this report, we can find all the disks available. We can't have this work-around to be turned on by default, because some broken BIOSes report true when it comes to number of disks, but present the same disk multiple times.
|
212804 |
17-Sep-2010 |
pjd |
Remove magic value.
|
212729 |
16-Sep-2010 |
marius |
Merge from powerpc: - Change putc_func_t to use a char instead of an int for the character. - Make functions and variables not used outside of this source file static. - Remove unused prototypes and variables. - The OFW read and seek methods take 3 and not 4 input arguments.
|
212387 |
09-Sep-2010 |
pjd |
Remove empty lines committed by accident.
MFC after: 2 weeks
|
212384 |
09-Sep-2010 |
pjd |
Ignore log vdevs.
MFC after: 2 weeks
|
212383 |
09-Sep-2010 |
pjd |
Allow to boot from a pool within which replacing is in progress. Before the change it wasn't possible and the following error was printed:
ZFS: can only boot from disk, mirror or raidz vdevs
Now if the original vdev (the one we are replacing) is still present we will read from it, but if it is not present we won't read from the new vdev, as it might not have enough valid data yet.
MFC after: 2 weeks
|
212382 |
09-Sep-2010 |
pjd |
Remove duplicated code.
MFC after: 2 weeks
|
212338 |
08-Sep-2010 |
jhb |
If autoboot_delay is set to -1, boot immediately without checking for a keypress to match the behavior of the loader.
PR: docs/108101 Submitted by: Wayne Sierke ws of au.dyndns.ws Tested by: brd MFC after: 1 week
|
212332 |
08-Sep-2010 |
emax |
Add custom kernel configuration and device tree source files for Seagate FreeAgent DockStar(tm) device. It seems to be a dumb down version of Marvell SheevaPlug. Device tree source file could use more tweaking, but at least it wll network boot and run FreeBSD/arm.
|
212165 |
02-Sep-2010 |
nwhitehorn |
In the case of non-sequential mappings, ofw_mapmem() could ask Open Firmware to map a memory region with negative length, causing crashes and Undefined Behavior. Add the appropriate check to make the behavior defined.
|
212126 |
02-Sep-2010 |
rmacklem |
Modify pxe.c to use the version of nfs_getrootfh() that returns the file handle's size and was recently committed to lib/libstand/nfs.c. This allows pxeboot to use NFSv3 and work correcty for non-FreeBSD as well as FreeBSD NFS servers. If built with OLD_NFSV2 defined, the old code that predated this patch will be used.
Tested by: danny at cs.huji.ac.il
|
212098 |
01-Sep-2010 |
dim |
Use a cleaner expression to retrieve the memory size in pc98's boot2.c, which also avoids NULL pointer arithmetic, as suggested by jhb. The available space goes from 11 bytes to 7.
Reviewed by: nyan Approved by: rpaulo (mentor)
|
212066 |
31-Aug-2010 |
delphij |
For consistency, change all 'i386' and MACHINE_ARCH to x86.
Reviewed by: jhb MFC after: 1 week
|
212064 |
31-Aug-2010 |
dim |
Avoid directly manipulating a NULL pointer (which could result in undefined behaviour) in sys/boot/pc98/boot2/boot2.c.
Reviewed by: nyan Approved by: rpaulo (mentor)
|
212062 |
31-Aug-2010 |
dim |
Always compile pc98 boot2 with gcc instead of clang, just as with i386 boot2. Unfortunately both still are too big when compiled with clang.
Reviewed by: nyan Approved by: rpaulo (mentor)
|
212060 |
31-Aug-2010 |
dim |
Use a more robust way to substitute gcc for clang, when compiling gnu/lib/libobjc and sys/boot/i386/boot2, so it also works when using absolute paths and/or options, as in CC="/absolute/path/clang -foo".
Approved by: rpaulo (mentor)
|
211817 |
25-Aug-2010 |
nwhitehorn |
Fix build of ppc32 loader.
|
211747 |
24-Aug-2010 |
rpaulo |
Replace structure assignments with explicity memcpy calls. This allows Clang to compile this file: it was using the builtin memcpy and we want to use the memcpy defined in gptboot.c. (Clang can't compile boot2 yet).
Submitted by: Dimitry Andric <dimitry at andric.com> Reviewed by: jhb
|
211725 |
23-Aug-2010 |
imp |
MFtbemd:
Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want to test of all the CPUs of a given family conform.
|
211680 |
23-Aug-2010 |
imp |
MF tbemd: Minor tweaks, prefer MACHINE_CPUARCH generally to MACHINE_ARCH (which simplifies some powerpc/powerpc64 ifs)
|
211679 |
23-Aug-2010 |
imp |
MF tbemd: move to using specific architecture makefiles
|
211678 |
23-Aug-2010 |
imp |
MF tbemd: Minor tweaks, prefer MACHINE_CPUARCH generally to MACHINE_ARCH (which simplifies some powerpc/powerpc64 ifs)
|
211677 |
23-Aug-2010 |
imp |
MF tbemd: Minor tweaks, prefer MACHINE_CPUARCH generally to MACHINE_ARCH
|
211676 |
23-Aug-2010 |
imp |
It turns out that the OUTPUT_FORMAT should do the right thing for both endians...
|
211675 |
23-Aug-2010 |
imp |
MF tbemd: differentiate between arm and armeb
|
211571 |
21-Aug-2010 |
rpaulo |
Make sure the boot2 stage is compiled with gcc, as clang has no problems compiling it, but it just gets too big at the moment, even with -Os. This is not applicable to gptboot, though.
Submitted by: Dimitry Andric <dimitry at andric.com>
|
211091 |
09-Aug-2010 |
mm |
Return EIO if vdev->v_phys_read is NULL.
This fixes booting from a ZFS mirror with a unavailable primary device.
PR: kern/148655 Reviewed by: avg Approved by: delphij (mentor) MFC after: 3 days
|
210764 |
02-Aug-2010 |
uqs |
mdoc: make sure to pass at least one argument to quotation macros
|
210650 |
30-Jul-2010 |
dfr |
A simple test harness to help debug problems with the ZFS boot code.
|
210459 |
25-Jul-2010 |
nyan |
MFi386: revision 210387
Correctly setup LDADD with regards to libstand.
|
210423 |
23-Jul-2010 |
avg |
completely ignore zero-sized elf sections in modules of elf object type (amd64)
Current code doesn't check size of elf sections and may perform needless actions of zero-sized memory allocation and similar. The bigger issue is that alignment requirement of a zero-sized section gets effectively applied to the next section if it has smaller alignment requirement. But other tools, like gdb and consequently kgdb, completely ignore zero-sized sections and thus may map symbols to addresses differently.
Zero-sized sections are not typical in general. Their typical (only, even) cause in FreeBSD modules is inline assembly that creates custom sections which is found in pcpu.h and vnet.h. Mere inclusion of one of those header files produces a custom section in elf output. If there is no actual use for the section in a given module, then the section remains empty.
Better solution is to avoid creating zero-sized sections altogether, which is in plans.
Preloaded modules are handled in boot code (load_elf_obj.c), while dynamically loaded modules are handled by kernel (link_elf_obj.c).
Based on code by: np MFC after: 3 weeks
|
210387 |
22-Jul-2010 |
rpaulo |
Correctly setup LDADD with regards to libstand. The submitter points out that "on amd64, libstand.a is compiled for i386, but is still installed under ${WORLDTMP}/usr/lib instead of ${WORLDTMP}/usr/lib32. Even if it would be installed there, ld on amd64 is set up incorrectly with a ${TOOLS_PREFIX}/usr/lib/i386 default path, so it wouldn't link. The reason it does link under gcc is that gcc passes -L${WORLDTMP}/usr/lib twice, even for -m32 builds, which is also incorrect, but accidentally works in this case."
Submitted by: Dimitry Andric <dimitry at andric.com>
|
209920 |
12-Jul-2010 |
nwhitehorn |
Provide support in loader for booting 64-bit PowerPC kernels. Like amd64, 64-bit PowerPC kernels are loaded by a 32-bit loader, since nearly all powerpc64 firmwares execute in 32-bit mode.
|
209909 |
11-Jul-2010 |
raj |
Get rid of bootinfo for good in loader (U-Boot-based) and ARM.
For FDT-enabled platforms the device tree is a modern replacement for bootinfo config data.
|
209903 |
11-Jul-2010 |
raj |
Provide a missing interrupt-parent for the CPM / QUICC node in the DTS.
|
209774 |
07-Jul-2010 |
marcel |
Use the kernel's start address to determine what to map. This allows us to link the kernel at different addresses without needing to build a corresponding loader.
|
209466 |
23-Jun-2010 |
brucec |
Add some more modules to loader.conf. Remove if_awi since support for it was removed 2 years ago.
PR: conf/147126 PR: conf/116071 Approved by: rrs (mentor)
|
209361 |
20-Jun-2010 |
brian |
Add a missing prototype
PR: 145232 Submitted by: gcooper MFC after: 1 week
|
209162 |
14-Jun-2010 |
rdivacky |
Pass the -N flag to linked via -Wl.
Approved by: ed (mentor)
|
209125 |
13-Jun-2010 |
raj |
Fix conditional FDT support in loader(8).
|
208789 |
03-Jun-2010 |
ed |
Use -Wl,-N instead of the undocumented -N option for GCC.
GCC forwards the -N flag directly to ld. This flag is not documented and not supported by (for example) Clang. Just use -Wl,-N.
Submitted by: Pawel Worach
|
208669 |
31-May-2010 |
avg |
zfs boot: fix error handling in zfs_readdir
Found by: clang static analyzer MFC after: 4 days
|
208610 |
28-May-2010 |
avg |
boot/zfs: fix gang block reading code
- use correct size (512) while reading a gang block - skip holes while reading child blocks - advance buffer pointer while reading child blocks
PR: 144214 MFC after: 10 days
|
208561 |
26-May-2010 |
raj |
Initial device tree source (DTS) files for Marvell ARM systems:
o DB-88F5182 o DB-88F5281 o DB-88F6281 o DB-78100 o SheevaPlug
This also includes device tree bindings definitions for some newly introduced nodes (mpp, gpio).
Reviewed by: imp Sponsored by: The FreeBSD Foundation
|
208560 |
26-May-2010 |
raj |
Import device tree source (DTS) files for PowerPC MPC8555CDS and MPC8572DS development systems.
Special thanks to Phil Brownfield for help with BSD-style relicensing of these files.
Obtained from: Freescale
|
208539 |
25-May-2010 |
raj |
Bring a missing FDT piece (omitted in the previous commit).
|
208538 |
25-May-2010 |
raj |
Initial loader(8) support for Flattened Device Tree.
o This is disabled by default for now, and can be enabled using WITH_FDT at build time.
o Tested with ARM and PowerPC.
Reviewed by: imp Sponsored by: The FreeBSD Foundation
|
208535 |
25-May-2010 |
raj |
Mostly revert r200691. U-Boot syscall() entry point returns 1 on success.
|
208534 |
25-May-2010 |
raj |
Use loader devices only when they initialized properly.
|
208388 |
21-May-2010 |
jhb |
- Set 'dmadat' earlier so that we properly setup the heap if we fail to locate a high memory area for the heap using the SMAP. - Read the number of hard drive devices from the BIOS instead of hardcoding a limit of 128. Some BIOSes duplicate disk devices once you get beyond the maximum drive number.
MFC after: 1 month
|
208027 |
13-May-2010 |
uqs |
mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the bottom of the manpages and order them consistently.
GNU groff doesn't care about the ordering, and doesn't even mention CAVEATS and SECURITY CONSIDERATIONS as common sections and where to put them.
Found by: mdocml lint run Reviewed by: ru
|
207854 |
10-May-2010 |
imp |
Formatting nit
|
207630 |
04-May-2010 |
delphij |
Remove if_ar, if_ray, if_sr, if_ppp, if_sl to reflect the current modules available, they were removed due to NEEDSGIANT.
While I'm there, add if_et which was missed quite a while ago.
MFC after: 2 weeks
|
207537 |
02-May-2010 |
marius |
Add support for SPARC64 V (and where it already makes sense for other HAL/Fujitsu) CPUs. For the most part this consists of fleshing out the MMU and cache handling, it doesn't add pmap optimizations possible with these CPU, yet, though. With these changes FreeBSD runs stable on Fujitsu Siemens PRIMEPOWER 250 and likely also other models based on SPARC64 V like 450, 650 and 850. Thanks go to Michael Moll for providing access to a PRIMEPOWER 250.
|
206625 |
14-Apr-2010 |
yongari |
Add driver for Silicon Integrated Systems SiS190/191 Fast/Gigabit Ethernet. This driver was written by Alexander Pohoyda and greatly enhanced by Nikolay Denev. I don't have these hardwares but this driver was tested by Nikolay Denev and xclin.
Because SiS didn't release data sheet for this controller, programming information came from Linux driver and OpenSolaris. Unlike other open source driver for SiS190/191, sge(4) takes full advantage of TX/RX checksum offloading and does not require additional copy operation in RX handler. The controller seems to have advanced offloading features like VLAN hardware tag insertion/stripping, TCP segmentation offload(TSO) as well as jumbo frame support but these features are not available yet. Special thanks to xclin <xclin<> cs dot nctu dot edu dot tw> who sent fix for receiving VLAN oversized frames.
|
206378 |
07-Apr-2010 |
rpaulo |
Add a copyright.
|
206376 |
07-Apr-2010 |
rpaulo |
EFI boot loader for FreeBSD/i386.
Doesn't boot a kernel yet, but it can read an ELF file from the EFI FAT partition.
|
205662 |
26-Mar-2010 |
delphij |
Our boot loader is capable of booting both i386 and amd64 kernels so call it "x86" instead of "i386".
Suggested by: jhb in response to Alexander Best's loader proposal MFC after: 1 month
|
204900 |
09-Mar-2010 |
ticso |
BWCT boards can have 128MB SDRAM.
|
204899 |
09-Mar-2010 |
ticso |
fix signed warning
|
204328 |
25-Feb-2010 |
weongyo |
Add bwn(4) driver.
|
204318 |
25-Feb-2010 |
raj |
Minor style correction.
|
204317 |
25-Feb-2010 |
raj |
Fix handling of GPT disk partition index.
Obtained from: Semihalf MFC after: 1 week
|
204316 |
25-Feb-2010 |
raj |
Let loader(8) for U-Boot use default storage more flexibly.
Obtained from: Semihalf MFC after: 1 week
|
204315 |
25-Feb-2010 |
raj |
Enable U-Boot storage for PowerPC. While there fix loader(8) help file name.
MFC after: 1 week
|
204152 |
20-Feb-2010 |
marius |
Some machines can not only consist of CPUs running at different speeds but also of different types, f.e. Sun Fire V890 can be equipped with a mix of UltraSPARC IV and IV+ CPUs, requiring different MMU initialization and different workarounds for model specific errata. Therefore move the CPU implementation number from a global variable to the per-CPU data. Functions which are called before the latter is available are passed the implementation number as a parameter now.
|
204129 |
20-Feb-2010 |
nwhitehorn |
Enable NETIF_OPEN_CLOSE_ONCE on PowerPC OFW. This fixes netbooting on PowerPC Book-S hardware, which had been broken for a very long time.
Submitted by: Andreas Tobler MFC after: 1 week
|
204067 |
18-Feb-2010 |
pjd |
Update comment. We also look for GPT partitions.
|
203831 |
13-Feb-2010 |
marius |
Correct the panic strings introduced in r203830 to match their arguments.
|
203830 |
13-Feb-2010 |
marius |
Use the SUNW,{d,i}tlb-load methods for entering locked TLB entries like OpenBSD and OpenSolaris do instead of fiddling with the MMUs ourselves. Unlike direct access the firmware methods don't automatically use the next free (?) TLB slot, instead the slot to be used has to be specified. We allocate the TLB slots for the kernel top-down as OpenSolaris suggests that the firmware will always allocate the ones for its own use bottom-up. Besides being simpler, according to OpenBSD using the firmware methods is required to allow booting on Sun Fire E10K with multi-systemboard domains.
|
203829 |
13-Feb-2010 |
marius |
- Assert that HEAPSZ is a multiple of PAGE_SIZE as at least the firmware of Sun Fire V1280 doesn't round up the size itself but instead lets claiming of non page-sized amounts of memory fail. - Change parameters and variables related to the TLB slots to unsigned which is more appropriate. - Search the whole OFW device tree instead of only the children of the root nexus device for the BSP as starting with UltraSPARC IV the 'cpu' nodes hang off of from 'cmp' (chip multi-threading processor) or 'core' or combinations thereof. Also in large UltraSPARC III based machines the 'cpu' nodes hang off of 'ssm' (scalable shared memory) nodes which group snooping-coherency domains together instead of directly from the nexus. - Add support for UltraSPARC IV and IV+ BSPs. Due to the fact that these are multi-core each CPU has two Fireplane config registers and thus the module/target ID has to be determined differently so the one specific to a certain core is used. Similarly, starting with UltraSPARC IV the individual cores use a different property in the OFW device tree to indicate the CPU/core ID as it no longer is in coincidence with the shared slot/socket ID. While at it additionally distinguish between CPUs with Fireplane and JBus interconnects as these also use slightly different sizes for the JBus/agent/module/target IDs. - Check the return value of init_heap(). This requires moving it after cons_probe() so we can panic when appropriate. This should be fine as the PowerPC OFW loader uses that order for quite some time now.
|
202552 |
18-Jan-2010 |
marcel |
Add command-line option -dev to set the default value of the currdev variable. This is to be used by the EFI boot manager.
While here, re-factor the code a little bit and bump the version to 2.1.
|
202437 |
16-Jan-2010 |
trasz |
Add gmountver, disk mount verification GEOM class.
Note that due to e.g. write throttling ('wdrain'), it can stall all the disk I/O instead of just the device it's configured for. Using it for removable media is therefore not a good idea.
Reviewed by: pjd (earlier version)
|
202143 |
12-Jan-2010 |
brooks |
Replace the static NGROUPS=NGROUPS_MAX+1=1024 with a dynamic kern.ngroups+1. kern.ngroups can range from NGROUPS_MAX=1023 to INT_MAX-1. Given that the Windows group limit is 1024, this range should be sufficient for most applications.
MFC after: 1 month
|
201966 |
10-Jan-2010 |
marcel |
Remove debugging printf(). There's no need to print the image base address anymore.
|
201941 |
09-Jan-2010 |
marcel |
Remove file system support based on the simple file system protocol as this only allows us to access file systems that EFI knows about. With a loader that can only use EFI-supported file systems, we're forced to put /boot on the EFI system partition. This is suboptimal in the following ways: 1. With /boot a symlink to /efi/boot, mergemaster complains about the mismatch and there's no quick solution. 2. The EFI loader can only boot a single version of FreeBSD. There's no way to install multiple versions of FreeBSD and select one at the loader prompt. 3. ZFS maintains /boot/zfs/zpool.cache and with /boot a symlink we end up with the file on a MSDOS file system. ZFS does not have proper handling of file systems that are under Giant.
Implement a disk device based on the block I/O protocol instead and pull in file system code from libstand. The disk devices are really the partitions that EFI knows about.
This change is backward compatible.
MFC after: 1 week
|
201932 |
09-Jan-2010 |
marius |
- Add code allowing a network device to only be open and closed once by keeping it opened after the first open and closing it via the cleanup handler when NETIF_OPEN_CLOSE_ONCE is defined in order to avoid the open-close-dance on every file access which with firmware that for example performs an auto-negotiation on every open causes netbooting to take horribly long. Basically the behavior with this knob enabled resembles the one employed between r60506 and r177108 (and for sparc64 also again since r182919) with the addition that the network device now is closed eventually before entering the kernel and before rebooting. Actually I think this should be the desired MI behavior, however the U-Boot loader actually requires net_close() to be called after every transaction in order for some local shutdown operations to be performed (and which I think thus will break on concurrent opens, i.e. when netdev_opens is > 1, like the loader does at least for disks when LOADER_GZIP_SUPPORT is enabled). - Use NETIF_OPEN_CLOSE_ONCE to replace the hack, which artificially increased netdev_opens for sparc64 in order to keep the network device opened forever, as at least some firmware versions require the network device to be closed eventually before entering the kernel or otherwise will DMA received packets to stale memory. The powerpc OFW loader probably wants NETIF_OPEN_CLOSE_ONCE to be set as well for the same reasons.
|
201901 |
09-Jan-2010 |
marius |
Remove clause 3 and 4 from TNF licenses (this was the only 4-clause TNF license FreeBSD had in sys/boot).
Obtained from: NetBSD
|
201690 |
06-Jan-2010 |
delphij |
Space cleanup for revision 201689 committed separately for easier review. This commit is purely space changes.
Submitted by: Matt Reimer Sponsored by: VPOP Technologies, Inc. MFC after: 2 weeks
|
201689 |
06-Jan-2010 |
delphij |
Instead of assuming all vdevs are healthy, check the newest vdev label for each vdev's status. Booting from a degraded vdev should now be more robust.
Submitted by: Matt Reimer <mattjreimer at gmail.com> Sponsored by: VPOP Technologies, Inc. MFC after: 2 weeks
|
201399 |
02-Jan-2010 |
mbr |
Fix typo: s/partion/partition/
Submitted by: Marc Balmer <marc@msys.ch> MFC after: 3 days
|
201342 |
31-Dec-2009 |
nyan |
Reimplement the boot2 for pc98 completely. It's based on the newest i386's one and has the advantage of:
- ELF binary support. - UFS2 filesystem support. - Many FreeBSD slices support on a disk.
Tested by: SATOU Tomokazu ( tomo1770 _ maple _ ocn _ ne _ jp ), WATANABE Kazuhiro ( CQG00620 _ nifty _ ne _ jp ) and nyan
MFC after: 2 week
Happy New Year in Japan!!
|
201340 |
31-Dec-2009 |
nyan |
Don't use 15M-16M area on pc98. It's reserved for some devices.
MFC after: 2 week
|
201339 |
31-Dec-2009 |
nyan |
Add setting machine type support to the loader.
MFC after: 2 week
|
201145 |
28-Dec-2009 |
antoine |
(S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument. Fix some wrong usages. Note: this does not affect generated binaries as this argument is not used.
PR: 137213 Submitted by: Eygene Ryabinkin (initial version) MFC after: 1 month
|
200946 |
24-Dec-2009 |
marius |
Execute the cleanup handlers before jumping to the kernel just like the other architectures do.
|
200945 |
24-Dec-2009 |
marius |
- Consistently wrap debugging in NETIF_DEBUG. This basically merges NetBSD rev 1.19. - Make the functions match their prototypes regarding static.
|
200944 |
24-Dec-2009 |
marius |
Revert r183628 as with the current ata(4) ATAPI DMA with AcerLabs M5229 appears to be once again fixed. If this happens to return we probably should disable ATAPI DMA in ataacerlabs(4) instead just like the Linux libATA does.
|
200872 |
22-Dec-2009 |
jhb |
Don't build zfsboot, gptzfsboot, and zfsloader if WITHOUT_ZFS is enabled.
MFC after: 1 week
|
200776 |
21-Dec-2009 |
nyan |
Move cursor position after putting a character.
MFC after: 1 week
|
200691 |
18-Dec-2009 |
marcel |
Fix ub_env_enum(): syscall() returns 0 when properly invoked.
|
200631 |
17-Dec-2009 |
nyan |
Fix debug messages of bd_io().
MFC after: 1 week
|
200460 |
13-Dec-2009 |
marcel |
Add support for memory disk (md). The size of the memory disk is determined by MD_IMAGE_SIZE. A file system can be embedded into the loader with /sys/tools/embed_mfs.sh. Note that md.c is not included when MD_IMAGE_SIZE is not set.
|
200407 |
11-Dec-2009 |
nyan |
Cleanups the boot2 for pc98. There is no functional change. - Make setting machine type and getting geom conditional for future. - Remove unused RAWBOOT and CDBOOT supports. - Remove unneeded include. - Fix warnings.
MFC after: 1 week
|
200357 |
10-Dec-2009 |
jhb |
Don't warn about an RSDP with a corrupt checksum. The kernel does a better job about warning about these things later and this message can be confusing.
Submitted by: infofarmer MFC after: 1 week
|
200310 |
09-Dec-2009 |
jhb |
Fix a confusing typo in the EDD packet structure used in gptboot and gptzfsboot. I got the segment and offset fields reversed in the structure, but I also succeeded in crossing the assignments so the actual EDD packet ended up correct.
MFC after: 1 week
|
200309 |
09-Dec-2009 |
jhb |
- Port bios_getmem() from libi386 to {gpt,}zfsboot() and use it to safely allocate a heap region above 1MB. This enables {gpt,}zfsboot() to allocate much larger buffers than before. - Use a larger buffer (1MB instead of 128K) for temporary ZFS buffers. This allows more reliable reading of compressed files in a raidz/raidz2 pool.
Submitted by: Matt Reimer mattjreimer of gmail MFC after: 1 week
|
200255 |
08-Dec-2009 |
nyan |
MFi386: revision 200219
Improve the algorithm the loader uses to choose a memory range for its heap when using a range above 1MB.
MFC after: 1 week
|
200254 |
08-Dec-2009 |
nyan |
MFi386: Use real mode instead of v86 mode.
MFC after: 1 week
|
200253 |
08-Dec-2009 |
nyan |
MFi386: revision 200216
Various small whitespace and style fixes.
|
200219 |
07-Dec-2009 |
jhb |
Improve the algorithm the loader uses to choose a memory range for its heap when using a range above 1MB.
Previously the loader would always use the last 3MB in the first memory range above 1MB for the heap. However, this memory range is also where the kernel and any modules are loaded. If this memory range is "small", then using the high 3MB for the heap may not leave enough room for the kernel and modules.
Now the loader will use any range below 4GB for the heap, and the logic to choose the "high" heap region has moved into biosmem.c. It sets two variables that the loader can use for a high heap if it desires. When a high heap is enabled (BZIP2, FireWire, GPT, or ZFS), then the following memory ranges are preferred for the heap in order from best to worst: - The largest memory region in the SMAP with a start address greater than 1MB. The memory region must be at least 3MB in length. This leaves the region starting at 1MB purely for use by the kernel and modules. - The last 3MB of the memory region starting at 1MB if it is at least 3MB in size. This matches the current behavior except that the current loader would break horribly if the first region was not at least 3MB in size. - The memory range from the end of the loader up to the 640k window. This is the range the loader uses when none of the high-heap-requesting options are enabled.
Tested by: hrs MFC after: 1 week
|
200216 |
07-Dec-2009 |
jhb |
Various small whitespace and style fixes.
|
199864 |
27-Nov-2009 |
sobomax |
Remove spinconsole from pc98, some parts seem to be missed and it's too late (early?) to figure out what exactly.
Reported by: TAKAHASHI Yoshihiro
|
199857 |
27-Nov-2009 |
sobomax |
Whitespace-only: another instance of identation with spaces.
|
199856 |
27-Nov-2009 |
sobomax |
Whitespace on: use tabs for identation consistently.
|
199855 |
27-Nov-2009 |
sobomax |
Add new loader console type: "spinconsole". This console selects the video console which doesn't take any input from keyboard and hides all output replacing it with ``spinning'' character (useful for embedded products and custom installations).
Sponsored by: Sippy Software, Inc.
|
199806 |
25-Nov-2009 |
trasz |
Be nice, don't use the f-word.
|
199714 |
23-Nov-2009 |
rnoland |
Create a seperate ZFS enabled loader.
This adds zfsloader which will be called by zfsboot/gptzfsboot code rather than the tradional loader. This eliminates the need to set the LOADER_ZFS_SUPPORT variable in order to get a ZFS enabled loader.
Note however, that you must reinstall your bootcode (zfsboot/gptzfsboot) in order for the boot process to use the new loader.
New installations will no longer be required to build a ZFS enabled loader for a working ZFS boot system. Installing zfsboot/gptzfsboot is sufficient for acknowledging the use of CDDL code and therefore the ZFS enabled loader.
Based on a previous patch from jhb@
Reviewed by: jhb@ MFC after: 2 weeks
|
199579 |
20-Nov-2009 |
jhb |
Always use 64-bit LBAs for disk addresses in zfsboot and gptzfsboot to fully support booting from large volumes.
Tested by: Emil Smolenski ambsd of raisa.eu.org Submitted by: Matt Reimer mattjreimer of gmail (most of the C bits) MFC after: 1 week
|
199534 |
19-Nov-2009 |
raj |
Provide an effective (relocated) address when building modules metadata.
This lets modules loaded dynamically in loader(8) work for U-Boot-based platforms.
MFC after: 1 week
|
199210 |
12-Nov-2009 |
attilio |
Introduce a new option (BOOT_PROMPT_123) that lets enter the boot prompt only when typing the sequence "123" (opposite to the standard 'push any button' approach). That results useful when using serial lines sending garbage and leading to unwilling boot prompt appearence.
Obtained from: Sandvine Incorporated Reviewed by: emaste, jhb Sponsored by: Sandvine Incorporated MFC: 1 week
|
199193 |
11-Nov-2009 |
antoine |
- Remove trailing ";" after if statement - Remove #if 0 section that was never needed/used
Reviewed by: raj@ MFC after: 1 month
|
198537 |
28-Oct-2009 |
brueffer |
Close a file descriptor leak in an error case.
PR: 138374 Submitted by: Patroklos Argyroudis <argp@census-labs.com> MFC after: 1 week
|
198420 |
23-Oct-2009 |
rnoland |
Correct some issues with zfs boot.
- Teach it to read gang blocks. (essentially untested) If you see "ZFS: gang block detected!", please let me know, so we can either remove the printf if it works, or fix it if it doesn't.
- If multiple partitions exist on a disk, probe them all. We also need to reset dsk->start to 0 to read the right sector here.
- With GPT, we can have 128 partitions.
- If the bootfs property has ever been set on a pool it seems that it never goes away. zpool won't allow you to add to the pool with the bootfs property set. However, if you clear the property back to default we end up getting 0 for the object number and read a bogus block pointer and fail to boot.
- Fix some error printfs. The printf in the loader is only capable of c,s and u formats.
- Teach printf how to display %llu
Reviewed by: dfr, jhb MFC after: 2 weeks
|
198079 |
14-Oct-2009 |
jhb |
Use zfs_read() instead of xfsread() to read /boot.config. xfsread() fails short read requests, so the result was that a /boot.config smaller than 512 bytes was ignored. boot2 uses fsread() instead of xfsread() to read /boot.config already, so this makes zfsboot more like boot2.
Submitted by: Johny Mattsson johny-freebsd of earthmagic org Reviewed by: dfr MFC after: 3 days
|
197518 |
26-Sep-2009 |
bz |
lindev(4) [1] is supposed to be a collection of linux-specific pseudo devices that we also support, just not by default (thus only LINT or module builds by default).
While currently there is only "/dev/full" [2], we are planning to see more in the future. We may decide to change the module/dependency logic in the future should the list grow too long.
This is not part of linux.ko as also non-linux binaries like kFreeBSD userland or ports can make use of this as well.
Suggested by: rwatson [1] (name) Submitted by: ed [2] Discussed with: markm, ed, rwatson, kib (weeks ago) Reviewed by: rwatson, brueffer (prev. version) PR: kern/68961 MFC after: 6 weeks
|
197156 |
13-Sep-2009 |
nyan |
MFi386:
Move the loader's entry point to 0x200000. This change is also needed for pc98.
MFC after: 3 days
|
197082 |
10-Sep-2009 |
emaste |
If the pxe client is told to use / as the root path, honour that rather of trying to mount /pxeroot instead.
PR: i386/106493 Submitted by: Andrey Russev MFC after: 1 month
|
196326 |
17-Aug-2009 |
jhay |
Fix parse() so that the partition to boot (load /boot/loader) from can be set. The syntax as printed in main() is used: 0:ad(0p3)/boot/loader
Reviewed by: jhb Approved by: re (kib)
|
195892 |
26-Jul-2009 |
bz |
Update epair(4) to the new netisr implementation and polish things a bit: - use dpcpu data to track the ifps with packets queued up, - per-cpu locking and driver flags - along with .nh_drainedcpu and NETISR_POLICY_CPU. - Put the mbufs in flight reference count, preventing interfaces from going away, under INVARIANTS as this is a general problem of the stack and should be solved in if.c/netisr but still good to verify the internal queuing logic. - Permit changing the MTU to virtually everythinkg like we do for loopback.
Hook epair(4) up to the build.
Approved by: re (kib)
|
195045 |
26-Jun-2009 |
rpaulo |
On special systems where the MBR and the GPT are in sync (up to the 4th slicei, Apple EFI hardware), the bootloader will fail to recognize the GPT if it finds anything else but the EFI partition. Change the check to continue detecting the GPT by looking at the EFI partition on the MBR but stopping successfuly after finding it.
PR: kern/134590 Submitted by: Christoph Langguth <christoph at rosenkeller.org> Reviewed by: jhb MFC after: 2 weeks Approved by: re (kib)
|
194634 |
22-Jun-2009 |
raj |
Bump PowerPC loader(8) version to reflect extensions it has recently grown.
|
194246 |
15-Jun-2009 |
marius |
Add cas(4), a driver for Sun Cassini/Cassini+ and National Semiconductor DP83065 Saturn Gigabit Ethernet controllers. These are the successors of the Sun GEM controllers and still have a similar but extended transmit logic. As such this driver is based on gem(4). Thanks to marcel@ for providing a Sun Quad GigaSwift Ethernet UTP (QGE) card which was vital for getting this driver to work on architectures not using Open Firmware.
Approved by: re (kib) MFC after: 2 weeks
|
193880 |
10-Jun-2009 |
yongari |
Add alc(4), a driver for Atheros AR8131/AR8132 PCIe ethernet controller. These controllers are also known as L1C(AR8131) and L2C(AR8132) respectively. These controllers resembles the first generation controller L1 but usage of different descriptor format and new register mappings over L1 register space requires a new driver. There are a couple of registers I still don't understand but the driver seems to have no critical issues for performance and stability. Currently alc(4) supports the following hardware features. o MSI o TCP Segmentation offload o Hardware VLAN tag insertion/stripping o Tx/Rx interrupt moderation o Hardware statistics counters(dev.alc.%d.stats) o Jumbo frame o WOL AR8131/AR8132 also supports Tx checksum offloading but I disabled it due to stability issues. I'm not sure this comes from broken sample boards or hardware bugs. If you know your controller works without problems you can still enable it. The controller has a silicon bug for Rx checksum offloading, so the feature was not implemented. I'd like to say big thanks to Atheros. Atheros kindly sent sample boards to me and answered several questions I had.
HW donated by: Atheros Communications, Inc.
|
193720 |
08-Jun-2009 |
jhb |
Instead of packing the individual fields in the PnP structures, pack the entire structures. This trims some warnings.
Verified by: md5(1) MFC after: 1 week
|
193719 |
08-Jun-2009 |
jhb |
Don't attempt to free the GPT partition list for a disk with an empty GPT.
Submitted by: Yuri Pankov yuri.pankov of gmail MFC after: 3 days
|
193530 |
05-Jun-2009 |
jkim |
Import ACPICA 20090521.
|
193387 |
03-Jun-2009 |
raj |
Make GPT style partitiong endian-safe in U-Boot support library.
Submitted by: Piotr Ziecik Obtained from: Semihalf
|
193229 |
01-Jun-2009 |
jhb |
Add a missing parameter when displaying GPT partitions with an unknown UUID.
Submitted by: Pawel Worach pawel.worach | gmail MFC after: 1 week
|
193192 |
01-Jun-2009 |
rodrigc |
sys/boot/common.c ================= Extend the loader to parse the root file system mount options in /etc/fstab, and set a new loader variable vfs.root.mountfrom.options with these options. The root mount options must be a comma-delimited string, as specified in /etc/fstab. Only set the vfs.root.mountfrom.options variable if it has not been set in the environment.
sys/kern/vfs_mount.c ==================== When mounting the root file system, pass the mount options specified in vfs.root.mountfrom.options, but filter out "rw" and "noro", since the initial mount of the root file system must be done as "ro". While we are here, try to add a few hints to the mountroot prompt to give users and idea what might of gone wrong during mounting of the root file system.
Reviewed by: jhb (an earlier patch)
|
193111 |
30-May-2009 |
marcel |
Fix NETIF_DEBUG compilation.
|
192972 |
28-May-2009 |
dfr |
Some of the boot loader code only works on a ufs file system, but it uses the generic struct dirent, which happens to look identical to UFS's struct direct. If BSD ever changes dirent then this will be a problem.
Submitted by: matthew dot fleming at isilon dot com
|
192247 |
17-May-2009 |
brueffer |
Improve the accf_dns_load description.
|
192194 |
16-May-2009 |
dfr |
Add support for booting from raidz1 and raidz2 pools.
|
191829 |
05-May-2009 |
raj |
GPT style partitioning for loader(8) with U-Boot support library (tested on ARM).
Submitted by: Piotr Ziecik kosmo ! semihalf dot com
|
191111 |
15-Apr-2009 |
jkim |
A simple rewrite of biossmap.c:
- Do not iterate int 15h, function e820h twice. Instead, we use STAILQ to store each return buffer and copy all at once. - Export optional extended attributes defined in ACPI 3.0 as separate metadata. Currently, there are only two bits defined in the specification. For example, if the descriptor has extended attributes and it is not enabled, it has to be ignored by OS. We may implement it in the kernel later if it is necessary and proven correct in reality. - Check return buffer size strictly as suggested in ACPI 3.0.
Reviewed by: jhb
|
191071 |
14-Apr-2009 |
marius |
Fix masking of TTE bits; the TD_*_MASK macros need shifting via the corresponding TD_*_SHIFT.
MFC after: 3 days
|
191061 |
14-Apr-2009 |
jhb |
Use a disk address instead of an int to hold the starting offset of an open partition. This fixes access to partitions whose starting offset is >= 2 TB.
Submitted by: "James R. Van Artsdalen" james jrv.org MFC after: 3 days
|
191012 |
13-Apr-2009 |
marius |
Fix whitespace.
|
190814 |
07-Apr-2009 |
jkim |
Rewrite SMBIOS for loader:
- First three fields of system UUID may be little-endian as described in SMBIOS Specification v2.6. For now, we keep the network byte order for backward compatibility (and consistency with popular dmidecode tool) if SMBIOS table revision is less than 2.6. However, little-endian format can be forced by defining BOOT_LITTLE_ENDIAN_UUID from make.conf(5) if it is necessary. - Replace overly ambitious optimizations with more readable code. - Update comments to SMBIOS Specification v2.6 and clean up style(9) bugs.
|
190813 |
07-Apr-2009 |
jkim |
Increase sprintf(3) buffer size, which I forgot from the previous commit.
|
190789 |
07-Apr-2009 |
weongyo |
Add an entry for the uath(4) module.
|
190599 |
31-Mar-2009 |
jkim |
Probe size of installed memory modules from loader and display it as 'real memory' instead of Maxmem if the value is available. Note amd64 displayed physmem as 'usable memory' since machdep.c r1.640 to unconfuse users. Now it is consistent across amd64 and i386 again. While I am here, clean up smbios.c a bit and update copyright date.
Reviewed by: jhb
|
190147 |
20-Mar-2009 |
nyan |
Oops, fix the previous change.
|
190146 |
20-Mar-2009 |
nyan |
MFi386: r189749
Teach the BIOS CD driver to use bounce buffers when the destination address is > 1 MB.
|
190127 |
20-Mar-2009 |
nyan |
Merge the missing changes from i386. Teach the loader about the FAT partitions.
|
190126 |
20-Mar-2009 |
nyan |
MFi386: the part of r179825 to reduce diffs against i386.
|
190100 |
19-Mar-2009 |
thompsa |
Remove the uscanner(4) driver, this follows the removal of the kernel scanner driver in Linux 2.6. uscanner was just a simple wrapper around a fifo and contained no logic, the default interface is now libusb (supported by sane).
Reviewed by: HPS
|
190046 |
19-Mar-2009 |
nyan |
Reduce diffs against i386.
|
190029 |
19-Mar-2009 |
nyan |
Use the common PC98_MID_* defines instead of a magic number.
|
189872 |
16-Mar-2009 |
dchagin |
Chase the k8temp->amdtemp rename in NOTES and loader.conf.
Approved by: kib (mentor)
|
189749 |
12-Mar-2009 |
jhb |
The recent change to use memory > 1MB for the heap by default broke CD booting because the CD driver did not use bounce buffers to ensure request buffers sent to the BIOS were always in the first 1MB. Copy over the bounce buffer logic from the BIOS disk driver (minus the 64k boundary code for floppies) to fix this.
Reported by: kensmith
|
189588 |
09-Mar-2009 |
jhb |
- Make it possible to disable GPT support by setting LOADER_NO_GPT_SUPPORT in make.conf or src.conf. - When GPT is enabled (which it is by default), use memory above 1 MB and leave the memory from the end of the bss to the end of the 640k window purely for the stack. The loader has grown and now it is much more common for the heap and stack to grow into each other when both are located in the 640k window.
PR: kern/129526 MFC after: 1 week
|
189500 |
07-Mar-2009 |
marcel |
Revert the part of change 107879 that employs the unused bytes after the disklabel in the 2nd sector for boot code. Even with both UFS1 and UFS2 supported, there's enough bytes left that we don't have to nibble from the disklabel. Thus, the entire 2nd sector is now reserved for the disklabel, which makes the bootcode compatible again with disklabels that have more than 8 partitions -- such as those created and supported by gpart.
i386: 135 bytes available amd64: 151 bytes available
Ok'd by: jhb
|
189017 |
24-Feb-2009 |
jhb |
Fix some more issues with the real mode BTX.
The old BTX passed the general purpose registers from the 32-bit client to the routines called via virtual 86 mode. The new BTX did the same thing. However, it turns out that some instructions behave differently in virtual 86 mode and real mode (even though this is under-documented). For example, the LEAVE instruction will cause an exception in real mode if any of the upper 16-bits of %ebp are non-zero after it executes. In virtual 8086 mode the upper 16-bits are simply ignored. This could cause faults in hardware interrupt handlers that inherited an %ebp larger than 0xffff from the 32-bit client (loader, boot2, etc.) while running in real mode.
To fix, when executing hardware interrupt handlers provide an explicit clean state where all the general purpose and segment registers are zero upon entry to the interrupt handler. While here, I attempted to simplify the control flow in the 'intusr' code that sets up the various stack frames and exits protected mode to invoke the requested routine via real mode.
A huge thanks to Tor Egge (tegge@) for debugging this issue.
Submitted by: tegge Reviewed by: tegge Tested by: bz MFC after: 1 week
|
188895 |
21-Feb-2009 |
ru |
Fix build when WITH_SSP is set explicitly.
Submitted by: Jeremie Le Hen
|
188825 |
19-Feb-2009 |
imp |
Enable building of ficl on MIPS. It compiles, but needs more testing.
|
188824 |
19-Feb-2009 |
imp |
Add basic mips support. This has been compile tested only.
|
188666 |
16-Feb-2009 |
thompsa |
Add a helper function for loading geli keys from the loader.
|
188455 |
10-Feb-2009 |
marius |
- Use the generally more appropriate PROM base rather than the kernel one as the non-faulting flush address in the loader so we can can change KERNBASE and VM_MIN_KERNEL_ADDRESS if we ever want to without needing to worry about using a compatible loader. - Correctly check for LOADER_DEBUG. - Add a missing const for page_sizes[].
|
187917 |
30-Jan-2009 |
gabor |
- Remove superfluous comment
PR: docs/129400 Submitted by: Gavin Atkinson <gavin@freebsd.org>
|
187614 |
23-Jan-2009 |
weongyo |
Add an entry for the urtw(4) module.
|
187197 |
13-Jan-2009 |
luigi |
remove a file which is, as far as I can tell, totally unused.
|
187143 |
13-Jan-2009 |
luigi |
comment out some debugging messages that slipped in by mistake.
MFC after: 3 days
|
187101 |
12-Jan-2009 |
jkim |
Allow VIA Nano processors to boot FreeBSD/amd64.
PR: amd64/130303 MFC after: 1 week
|
186789 |
05-Jan-2009 |
luigi |
This patch introduces a number of simplifications to the Forth functions used in the bootloader. The goal is to make the code more readable and smaller (especially because we have size issues in the loader's environment).
High level description of the changes: + define some string manipulation functions to improve readability; + create functions to manipulate module descriptors, removing some duplicated code; + rename the error codes to ESOMETHING; + consistently use set_environment_variable (which evaluates $variables) when interpreting variable=value assignments;
I have tested the code, but there might be code paths that I have not traversed so please let me know of any issues.
Details of this change:
--- loader.4th --- + add some module operators, to remove duplicated code while parsing module-related commands:
set-module-flag enable-module disable-module toggle-module show-module
--- pnp.4th --- + move here the definition related to the pnp devices list, e.g. STAILQ_* , pnpident, pnpinfo
--- support.4th --- + rename error codes to capital e.g. ENOMEM EFREE ... and do obvious changes related to the renaming; + remove unused structures (those relevant to pnp are moved to pnp.4th) + various string functions - strlen removed (it is an internal function) - strchr, defined as the C function - strtype -- type a string to output - strref -- assign a reference to the string on the stack - unquote -- remove quotes from a string
+ remove reset_line_buffer
+ move up the 'set_environment_variable' function (which now uses the interpreter, so $variables are evaluated). Use the function in various places
+ add a 'test_file function' for debugging purposes
MFC after: 4 weeks
|
186598 |
30-Dec-2008 |
luigi |
A number of small changes to make the 'save choice to disk' safer, and re-enable it as default.
In particular:
+ re-enable the 'update' flag in the Makefile (of course!);
+ commit Warner's patch "orb $NOUPDATE,_FLAGS(%bp)" to avoid writing to disk in case of a timeout/default choice;
+ fix an off-by-one count in the partition scan code that would print the wrong name for unknown partitions;
+ unconditionally change the boot prompt to 'Boot:' instead of 'Default:' to make room for the extra code/checks/messages. Some of the changes listed below are also made to save space;
+ rearrange and fix comments for known partition types. Right now we explicitly recognise *BSD, Linux, FAT16 (type 6, used on many USB keys), NTFS (type 7), FAT32 (type 11). Depending on other options we also recognise Extended (type 5), FAT12 (type 1) and FAT16 < 32MB (type 4).
+ Add an entry "F6 PXE" when the code is built with -DPXE (which is a default now). Technically, F6 boots through INT18, so the prompt 'PXE' is a bit misleading. Unfortunately the name INT18 is too long and does not fit in - we could use ROM perhaps. The reason I picked 'PXE' is that on many (I believe) new systems INT18 calls PXE.
Apart from the choice of the name for PXE/ROM/INT18, this should close pending issues on the 1-sector boot0 code and we should be able to move the code to RELENG_7 when it reopens.
No boot0cfg changes are necessary.
MFC after: 3 weeks
|
186352 |
20-Dec-2008 |
sam |
Merge support for Gateworks Cambria boards: o add support for IXP435 cpu's (e.g. 64 irq's) o add support for Cambria-specific devices: npe, led's (front panel and octal latch), ehci, mcu, ide cf o redo memory mapping for xscale/ixp4xx boards: previously memory was assumed aliased to 0x10000000 but this appears to be true only for ixp425 systems and breaks operation on others; rework so memory is assumed to start at 0 o rework NPE configuration support to use NPE id's instead of port #'s; these changes also rename the associated MAC's to follow the NPE's they are attached to o update npe firmware to latest rev (same license) and update default fw imageid's to match; in particular this adds NPE-A and crypto support o re-style NPE fw handling code and add a console msg identifying the attributes of the loaded fw o fix numerous problems with handling failures during npe setup o fix npe rx q setup; need to spin waiting for mailbox responses during early boot stages as qmgr interrupts are not delivered; this fixes the problem where all 8 traffic classifications were not tied to the rx q (and eliminates the console msg "remember to fix rx q setup") o add DELAY to npe MII wait logic for IXP435 o strip down builtin phys->virt address translation table in resource handling to just those resources that require it and add a console msg to alert people when this (kludge) table needs to be extended o purge a bunch of dead netbsd-ism's o cleanup avila led driver o add Cambria support to boot2 and rework code for better multi-board support
Notes: 1. NPE-A doesn't work and causes NPE-C to stop working; it is disabled in the hints 2. USB isn't working yet; controller communicates ok but device discovery fails 3. Cambria support must be configured separately from IXP425 boards; multi-board support is TBD
Sponsored by: Hobnob, Gateworks (board donation) Reviewed by: imp
|
186243 |
17-Dec-2008 |
dfr |
Use full 64bit arithmetic when converting file offsets to block numbers - fixes booting on filesystems with inode numbers with values above 4194304.
Submitted by: ps
|
186231 |
17-Dec-2008 |
raj |
Improve style(9) in PowerPC U-Boot support lib.
|
186073 |
14-Dec-2008 |
nyan |
Disconnect the efi from pc98. It's not needed.
|
185938 |
11-Dec-2008 |
ps |
Fix a leak introduced in r185902. We should free the devspec if we've successfully found a zfs pool.
|
185902 |
11-Dec-2008 |
ps |
Avoid a double free in devopen by not freeing the device structure in zfs_dev_open. This stops a panic in the loader when trying to read from a zfs device and no zfs devices exist.
|
185852 |
10-Dec-2008 |
dfr |
Don't get confused if we encounter a device which is part of a raidz or raidz2 pool while probing for vdevs.
PR: 129539 Submitted by: Paul Wootton (paul at fletchermoorland dot co dot uk)
|
185781 |
09-Dec-2008 |
sobomax |
Remove now unused label.
Submitted by: Christoph Mallon MFC after: 4 weeks (along with r185779 and r185780)
|
185780 |
09-Dec-2008 |
sobomax |
Optimiza assembly in the previous r185779, to save whooping 16 bytes.
Submitted by: Christoph Mallon MFC after: 4 weeks (including r185779)
|
185779 |
08-Dec-2008 |
sobomax |
Respect RBX_MUTE flag from boot[012].
MFC after: 4 weeks
|
185776 |
08-Dec-2008 |
sobomax |
Fix typo in the comment %is -> %si.
|
185746 |
07-Dec-2008 |
luigi |
PROBLEM: putting in a loader config file a line of the form
loader_conf_files="foo bar baz"
should cause loading the files listed, and then resume with the remaining config files (from previous values of the variable). Unfortunately, sometimes the line was ignored -- actually even modifying the line in /boot/default/loader.conf sometimes doesn't work.
ANALYSIS: After much investigation, turned out to be a bug in the logic. The existing code detected a new assignment by looking at the address of the the variable containing the string. This only worked by pure chance, i.e. if the new string is longer than the previous value then the memory allocator may return a different address to store the string hence triggering the detection.
SOLUTION: This commit contains a minimal change to fix the problem, without altering too much the existing structure of the code. However, as a step towards improving the quality and reliability of this code, I have introduced a handful of one-line functions (strget, strset, strfree, string= ) that could be used in dozens of places in the existing code.
HOWEVER: There is a much bigger problem here. Even though I am no Forth expert (as most fellow src committers) I can tell that much of the forth code (in support.4th at least) is in severe need of a review/refactoring:
+ pieces of code are replicated multiple times instead of writing functions (see e.g. set_module_*);
+ a lot of stale code (e.g. "structure" definitions for preloaded_files, kernel_module, pnp stuff) which is not used or at least belongs elsewhere. The code bload is extremely bad as the loader runs with very small memory constraints, and we already hit the limit once (see
http://svn.freebsd.org/viewvc/base?view=revision&revision=185132 Reducing the footprint of the forth files is critical.
+ two different styles of coding, one using pure stack functions (maybe beautiful but surely highly unreadable), one using high level mechanisms to give names to arguments and local variables (which leads to readable code).
Note that this code is used by default by all FreeBSD installations, so the fragility and the code bloat are extremely damaging. I will try to work fixing the three items above, but if others have time, please have a look at these issues.
MFC after: 4 weeks
|
185711 |
06-Dec-2008 |
ps |
Correct include path for i386 specific includes. This allows zfs to boot on systems where the loader is built on amd64 systems.
|
185692 |
06-Dec-2008 |
danger |
- correct variable name
PR: docs/129448 Submitted by: Kenyon Ralph <kralph@gmail.com> MFC after: Revision 1.91 is merged
|
185579 |
03-Dec-2008 |
luigi |
Another, hopefully final set of changes to boot0 and boot0cfg.
boot0.S changes:
+ import a patch from Christoph Mallon to rearrange the various print functions and save another couple of bytes;
+ implement the suggestion in PR 70531 to enable booting from any valid partition because even the extended partitions that were previously in our kill list may contain a valid boot loader. This simplifies the code and saves some bytes;
+ followwing up PR 127764, implement conditional code to preserve the 'Volume ID' which might be used by other OS (NT, XP, Vista) and is located at offset 0x1b8. This requires a relocation of the parameter block within the boot sector -- there is no other possible workaround. To address this, boot0cfg has been updated to handle both versions of the boot code;
+ slightly rearrange the strings printed in the menus to make the code buildable with all options. Given the tight memory budget, this means that with certain options we need to shrink or remove certain labels.
and especially:
make -DVOLUME_LABEL -DPXE the default options.
This means that the newly built boot0 block will preserve the Volume ID, and has the (hidden) option F6 to boot from INT18/PXE. I think the extra functionality is well worth the change.
The most visible difference here is that the 'Default: ' string now becomes 'Boot: ' (it can be reverted to the old value but then we need to nuke 1/2 partition name or entries to make up for the extra room).
boot0cfg changes:
+ modify the code to recognise the new boot0 structure (with the relocated options block to make room for the Volume id).
+ add two options, '-i xxxx-xxxx' to set the volume ID, -e c to modify the character printed in case of bad input
PR: 127764 70531 Submitted by: Christoph Mallon (portions) MFC after: 4 weeks
|
185562 |
02-Dec-2008 |
luigi |
This commits brings in a lot of documentation and some enhancement of the boot0.S code, with a number of compile-time selectable options, the most interesting one being the ability to select PXE booting.
The code is completely compatible with the previous one, and with the boot0cfg program. Even the actual code is largely unmodified, with only minor rearrangements or fixes to make room for the new features.
The behaviour of the standard build differs from the previous version in the following, minor things:
+ 'noupdate' is the default, which means the code does not write back the selection to disk. You can enable the feature at runtime with boot0cfg, or changing the flags in the Makefile.
+ a drive number of 0x00 (floppy, or USB in floppy emulation) is now accepted as valid. Previously, it was overridden with 0x80, meaning that the partition table coming from the media was used to access sectors on a possibly different media. You can revert to the previous mode building with -DCHECK_DRIVE, and you can always use the 'setdrv' option in boot0cfg
+ certain FAT or NTFS partitions are listed as WIN instead of DOS.
+ the 'bel' character on a bad selection is replaced by a '#' to make it clear that the system is not hang even if the machine does not have a speaker. This can be reverted back at compile time, or at runtime with an upcoming boot0cfg option.
Additional features are available as compile time options, and may be become the default if deemed useful. In particular:
+ INT18/PXE boot (make -DPXE) This option enables booting through INT 18h (which on certain BIOSes can be hooked to PXE) by pressing F6. There is unfortunately no room to print the additional menu option. Also, to make room for the code, the 'Default: ' string is changed to 'Boot: '
+ print current drive number (make -DTEST) Prints a line indicating the current drive number. This is useful to figure out what is going on for machines/bioses which remap drives in sometimes surprising ways.
+ disable numeric keys in console mode (make -DONLY_F_KEYS) Not really a significant option, but it is needed to make room for the -DTEST mode.
+ disable floppy support (make -DCHECK_DRIVE) Revert to the old behaviour of only accepting 0x80 and above as valid drive numbers.
MFC after: 6 weeks
|
185375 |
27-Nov-2008 |
raj |
Let ARM loader(8) build with the man page.
|
185346 |
26-Nov-2008 |
luigi |
Fix a typo in previous commit: must call "putn" to print a crlf, instead of "puts" which prints whatever is at %si, followed by a CRLF.
It was not noticed during tests because at that point %si points to a partition entry whose first byte is 0x80, which is both a terminator for the string and a non printable character.
Submitted by: Christoph Mallon
|
185339 |
26-Nov-2008 |
luigi |
Pass the pointer to the selected partition in %si to the next stage boot code. The bug was introduced in rev.1.13, and went unnoticed because FreeBSD's boot1 does not use it, but other systems might.
(I have been struggling for almost a full day trying to figure out why a syslinux'ed partition would not boot when started with the FreeBSD /boot/boot0, only to realize that the bug was ours!)
The space for the two extra bytes (push %si and pop %si) is reclaimed by removing an extra CRLF that is printed before booting.
The bug is not a major one but if there is time it might be a good thing to merge it into the upcoming releases.
|
185175 |
22-Nov-2008 |
dfr |
Fix amd64 build and re-enable gptzfsboot.
|
185151 |
21-Nov-2008 |
des |
Disconnect gptzfsboot from the build until dfr@ gets his act together.
|
185132 |
20-Nov-2008 |
luigi |
As reported in kern/118222, pxeboot in RELENG7 (and presumably above) exhibits some misbehaviours on machines with AMD64 CPUs, which at least in some cases I have tracked down to a heap overflow.
It is unclear whether it depends on the CPU or on the pxe bios itself which may use more memory on AMD machines.
Noticeably a pxeboot compiled from 6.x sources works fine on all machines I have tried so far, while a pxeboot compiled from 7.x sources does not.
This patch is a first step in reducing the amount of memory used while processing the configuration files read by the loader at boot (some of them are quite large, 1700+ lines), and it does so by: + moving a buffer to static memory instead of allocating in the heap; + skipping empty lines; + reducing the amount of memory used for line descriptors;
Unfortunately there are several changes between 6.x and above, affecting the compiler, the loader code itself, and libstand, and it is not so straightforward to These changes fix the behaviour on one motherboard with a single-core AMD cpu, but are still not enough e.g on an Asus M2N-VM (with a dual-core CPU).
I need to investigate the problem a bit more before figuring out what should be committed to RELENG_7
PR: kern/118222
|
185099 |
19-Nov-2008 |
raj |
Initial storage functionality for U-Boot support library.
- Only non-sliced bsdlabel style partitioning is currently supported (but provisions are made towards GPT support, which should follow soon) - Enable storage support in loader on ARM
Obtained from: Semihalf
|
185097 |
19-Nov-2008 |
dfr |
Some zfsboot fixes from Norikatsu Shigemura:
1. zfsboot2 (boot2) doesn't %d (printf), so change %d to %u. 2. chase new zpool versioning as SPA_VERSION. Obtained from: sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h
Submitted by: nork
|
185096 |
19-Nov-2008 |
dfr |
Add a GPT-aware variant of zfsboot which should be used in a similar manner to gptboot, i.e. installed in a freebsd-boot partition using /sbin/gpart or /sbin/gpt.
Tweak the /boot/loader ZFS support so that it can find ZFS pools that are contained in GPT partitions.
|
185095 |
19-Nov-2008 |
dfr |
If we free the GPT partition list in bd_open_gpt() because of an error, don't try to free it again in bd_closedisk(). While I'm here, fix a DEBUG print.
|
185045 |
18-Nov-2008 |
ache |
Fix building without ZFS (can't find library)
|
185029 |
17-Nov-2008 |
pjd |
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.
This bring huge amount of changes, I'll enumerate only user-visible changes:
- Delegated Administration
Allows regular users to perform ZFS operations, like file system creation, snapshot creation, etc.
- L2ARC
Level 2 cache for ZFS - allows to use additional disks for cache. Huge performance improvements mostly for random read of mostly static content.
- slog
Allow to use additional disks for ZFS Intent Log to speed up operations like fsync(2).
- vfs.zfs.super_owner
Allows regular users to perform privileged operations on files stored on ZFS file systems owned by him. Very careful with this one.
- chflags(2)
Not all the flags are supported. This still needs work.
- ZFSBoot
Support to boot off of ZFS pool. Not finished, AFAIK.
Submitted by: dfr
- Snapshot properties
- New failure modes
Before if write requested failed, system paniced. Now one can select from one of three failure modes: - panic - panic on write error - wait - wait for disk to reappear - continue - serve read requests if possible, block write requests
- Refquota, refreservation properties
Just quota and reservation properties, but don't count space consumed by children file systems, clones and snapshots.
- Sparse volumes
ZVOLs that don't reserve space in the pool.
- External attributes
Compatible with extattr(2).
- NFSv4-ACLs
Not sure about the status, might not be complete yet.
Submitted by: trasz
- Creation-time properties
- Regression tests for zpool(8) command.
Obtained from: OpenSolaris
|
184870 |
12-Nov-2008 |
yongari |
Add ale(4), a driver for Atheros AR8121/AR8113/AR8114 PCIe ethernet controller. The controller is also known as L1E(AR8121) and L2E(AR8113/AR8114). Unlike its predecessor Attansic L1, AR8121/AR8113/AR8114 uses completely different Rx logic such that it requires separate driver. Datasheet for AR81xx is not available to open source driver writers but it shares large part of Tx and PHY logic of L1. I still don't understand some part of register meaning and some MAC statistics counters but the driver seems to have no critical issues for performance and stability.
The AR81xx requires copy operation to pass received frames to upper stack such that ale(4) consumes a lot of CPU cycles than that of other controller. A couple of silicon bugs also adds more CPU cycles to address the known hardware bug. However, if you have fast CPU you can still saturate the link. Currently ale(4) supports the following hardware features. - MSI. - TCP Segmentation offload. - Hardware VLAN tag insertion/stripping with checksum offload. - Tx TCP/UDP checksum offload and Rx IP/TCP/UDP checksum offload. - Tx/Rx interrupt moderation. - Hardware statistics counters. - Jumbo frame. - WOL.
AR81xx PCIe ethernet controllers are mainly found on ASUS EeePC or P5Q series of ASUS motherboards. Special thanks to Jeremy Chadwick who sent the hardware to me. Without his donation writing a driver for AR81xx would never have been possible. Big thanks to all people who reported feedback or tested patches.
HW donated by: koitsu Tested by: bsam, Joao Barros <joao.barros <> gmail DOT com > Jan Henrik Sylvester <me <> janh DOT de > Ivan Brawley < ivan <> brawley DOT id DOT au >, CURRENT ML
|
184490 |
31-Oct-2008 |
nwhitehorn |
Modify our boot block to pick an output device, without which boot1 will fail on G4 machines. On the assumption that most people using FreeBSD on Apple hardware are not using serial consoles, set boot1's output to screen. This should be revisited. While here, reduce verbosity of boot1.
|
183878 |
14-Oct-2008 |
raj |
Initial support of loader(8) for ARM machines running U-Boot.
This uses the common U-Boot support lib (sys/boot/uboot, already used on FreeBSD/powerpc), and assumes the underlying firmware has the modern API for stand-alone apps enabled in the config (CONFIG_API).
Only netbooting is supported at the moment.
Obtained from: Marvell, Semihalf
|
183863 |
14-Oct-2008 |
nwhitehorn |
Add a simple HFS boot block implementation for booting PowerPC macs. It creates a small HFS filesystem with a CHRP boot script and an early-stage bootloader derived from the sparc64 boot block.
Obtained from: sparc64
|
183825 |
13-Oct-2008 |
nwhitehorn |
Don't close OF disk devices on PowerPC. This fixes loader when booting from disk on my Blue & White G3 system.
|
183673 |
07-Oct-2008 |
imp |
More diff reductions against ixp425/boot2/boot2.c. This time, we bring in FIXUP_BOOT_DRV functionality as an #ifdef. This is not enabled at this time, and the md5 remains constant with this change. Apart from the 'accept any partitioning scheme on the device' changes, this was the biggest delta...
# and yes, we'll merge these into one source file if we can do that in a # way that makes sense.
Obtained from: sys/boot/arm/ixp425/boot2/boot2.c
|
183671 |
07-Oct-2008 |
imp |
Diff reduction with boot/arm/at91/boot2/boot2.c: indent this statement correctly.
|
183669 |
07-Oct-2008 |
sam |
don't hardcode cc
Submitted by: Andrey Eltsov
|
183667 |
07-Oct-2008 |
jhb |
Use CPUID to see if the current CPU supports long mode when attemping to boot an amd64 kernel. If not, then fail the boot request with an error message. Otherwise, the boot attempt will fail with a BTX fault when trying to read the EFER MSR.
MFC after: 3 days
|
183651 |
06-Oct-2008 |
jhay |
Add a boot loader for ixp425 based boards like the Gateworks Avila and ADI Pronghorn Metro with Redboot on them.
|
183636 |
06-Oct-2008 |
imp |
Bring in the trivial differences between this code and John Hay's new code. Added a copyright for the work I did to this file a couple of years ago. Add John's copyright too, since I'm sure I'll be pulling more into this code. This also implements a new -n option to not allow breaking into the boot sequence which was original in the patch John posted (not in the original i386 code I based this boot2.c on, only the name is the same). I haven't checked to see if he did that, or if it was one of Sam's improvements.
Submitted by: jhay@
|
183635 |
05-Oct-2008 |
imp |
Remove XMODEM_DL support. It never was complete and only serves to increase the diffs with other arm boot2 loaders.
|
183634 |
05-Oct-2008 |
imp |
Indent with 8-space tabs. This reduces the diffs to the newer ixp425 boot2 and may make it easier to merge these files in the future...
|
183628 |
05-Oct-2008 |
marius |
Disable ATAPI DMA as it's once again broken in that it causes data corruption with the on-board AcerLabs M5229 controllers. While at it, remove the pointless "nothing to autoload yet." message.
MFC after: 3 days
|
183599 |
04-Oct-2008 |
raj |
Minor style(9) fixes for U-Boot API glue.
|
183598 |
04-Oct-2008 |
raj |
U-Boot API glue improvements:
- extend ub_dev_read() and ub_dev_recv() so that the actual len and all error codes can be passed and processed properly; unify behaviour of these routines
- introduce syscall general error code (API_ESYSC)
|
183592 |
04-Oct-2008 |
stas |
- Add ae(4) to loader.conf.
Approved by: kib (mentor) MFC after: 1 week
|
183198 |
19-Sep-2008 |
sobomax |
Backout rev 183181. It appears that I should have been using boot-device of "cd:,\\:tbxi" with properly configured boot.tbxi, instead of booting \boot\loader directly. Rev 183168 could probably stay, since it can be viewed as an anti-foot-shooting measure and has no impact on normal operation. I can revert it as well, if anybody objects.
|
183181 |
19-Sep-2008 |
sobomax |
On PowerPC send output to both "/chosen/stdout" and "screen" nodes, unless they point to the very same device. This should make loader usable on some (all?) PowerMacs, where "/chosen/stdout" is disconneted from the "screen" by the OF init process by default, except when user actually has requested interaction with OF by holding ALT-CMD-O-F. Along with rev 183168 this should provide a way to build bootable FreeBSD/ppc installation or live CD that works OOB. Also, it should bring PowerMac experience closer to that on other arches.
MFC after: 1 week (assiming re@ blessing)
|
183149 |
18-Sep-2008 |
obrien |
No FORTH for MIPS.
|
182919 |
10-Sep-2008 |
marius |
Revert r177108 and restore r60506 for sparc64 as long as libstand isn't fixed to only open the network device once and not do a open and close dance on every file access; the firmwares of newer sparc64 machines perform an auto-negotiation with every open which in turn causes netbooting to take horribly long if we open and close the device over and over again.
|
182916 |
10-Sep-2008 |
marius |
Work around Cheetah+ erratum 34 (USIII+ erratum #10) by relocating the locked entry in it16 slot 0, which typically is occupied by the PROM, and manually entering locked entries in slots != 0.
Thanks to Hubert Feyrer for donating the Blade 2000 this change was developed on.
|
182912 |
10-Sep-2008 |
jhb |
Resurrect the sbni(4) driver. Someone finally tested the MPSAFE patches and the driver worked ok with them.
Tested by: friends of yar
|
182877 |
08-Sep-2008 |
marius |
USIII and beyond CPUs have stricter requirements when it comes to synchronization needed after stores to internal ASIs in order to make side-effects visible. This mainly requires the MEMBAR #Sync after such stores to be replaced with a FLUSH. We use KERNBASE as the address to FLUSH as it is guaranteed to not trap. Actually, the USII synchronization rules also already require a FLUSH in pretty much all of the cases changed. We're also hitting an additional USIII synchronization rule which requires stores to AA_IMMU_SFSR to be immediately followed by a DONE, FLUSH or RETRY. Doing so triggers a RED state exception though so leave the MEMBAR #Sync. Linux apparently also has gotten away with doing the same for quite some time now, apart from the fact that it's not clear to me why we need to clear the valid bit from the SFSR in the first place.
Reviewed by: nwhitehorn
|
182766 |
04-Sep-2008 |
marius |
Ensure interrupts are off while in {d,i}tlb_va_to_pa_sun4u(). I think this is necessary in order to make sure the workarounds in {d,i}tlb_get_data_sun4u() work correctly.
|
182732 |
03-Sep-2008 |
raj |
Improve loader support for U-Boot.
- add new diag commands: devinfo, sysinfo for U-Boot-style details about the system configuration - better memory info summary - style corrections
Obtained from: Semihalf
|
182731 |
03-Sep-2008 |
raj |
Show info about net devices in loader's 'lsdev' command. While there fix style.
|
182726 |
03-Sep-2008 |
raj |
Use current SP instead of global data ptr for the U-Boot API signature search hint.
Global data (pointed by R2 on PowerPC) in principle is not guaranteed to be in proximity of U-Boot heap (where the API signature is placed) accross different architectures and platforms. Instead, use U-Boot stack pointer as a hint for the search instead of the global data; this method tends to be more uniform accross different platforms.
Obtained from: Semihalf
|
182724 |
03-Sep-2008 |
raj |
Make metadata.c shared across all platforms using U-Boot.
This will [soon] be needed for ARM.
|
182723 |
03-Sep-2008 |
raj |
Move U-Boot compatibility library to WARNS=2 level.
|
182478 |
30-Aug-2008 |
marius |
- Read ASI_{D,I}TLB_DATA_ACCESS_REG twice in order to work around errata of USIII and beyond (USIII erratum #19, USIII+ erratum #1, USIIIi erratum #1). - Use the cheetah PA mask in {d,i}tlb_va_to_pa_sun4u() for USIII and beyond. This is done so that these functions will still mask the debug bits of spitfire-class CPUs once we increase TD_PA_BITS to match the number of bits used for the PA by cheetah-class CPUs. - Change {d,i}tlb_enter_sun4u() to also set TLB_CTX_KERNEL as the context of the mappings entered. This is more or less cosmetic as TLB_CTX_KERNEL is 0. - Now that we have to distinguish between different sun4u CPUs in the loader anyway, no longer do trial and error when reading the portid property.
|
182194 |
26-Aug-2008 |
matteo |
Add geom_journal
PR: conf/126829 MFC after: 2 days
|
182020 |
22-Aug-2008 |
marius |
cosmetic changes and style fixes
|
181581 |
11-Aug-2008 |
weongyo |
Add an entry for the upgt(4) module.
|
181436 |
08-Aug-2008 |
jhb |
- Initialize the vm86 structure to a known-good state. Specifically, always set the %eflags used during a BIOS call via BTX to 0x202. Previously the flags field was uninitialized garbage, and thus it was "random" if interrupts were enabled or not during BIOS calls. - Use constants from <machine/psl.h> for fields in %eflags.
MFC after: 3 days
|
181433 |
08-Aug-2008 |
jhb |
Fix the hangs reported with the real mode BTX: - I had errantly assumed that all user requests should run with interrupts enabled. User requests for software interrupts, however, need to disable interrupts (and tracing) just like hardware interrupts. - Disable alignment checking when emulating a hardware interrupt as well (based on the description of the real mode operation of the 'INT' instruction in the IA-32 manuals). - Use constants for fields in %eflags.
Tested by: bz MFC after: 3 days
|
181398 |
07-Aug-2008 |
marius |
- Reimplement {d,i}tlb_enter() and {d,i}tlb_va_to_pa() in C. There's no particular reason for them to be implemented in assembler and having them in C allows easier extension as well as using more C macros and {d,i}tlb_slot_max rather than hard-coding magic (and actually spitfire-only) values. - Fix the compilation of pmap_print_tte(). - Change pmap_print_tlb() to use ldxa() rather than re-rolling it inline as well as TLB_DAR_SLOT and {d,i}tlb_slot_max rather than hardcoding magic (and actually spitfire-only) values. - While at it, suffix the above mentioned functions with "_sun4u" to underline they're architecture-specific. - Use __FBSDID and macros instead of magic values in locore.S. - Remove unused includes and smp_stack in locore.S.
|
181297 |
04-Aug-2008 |
rpaulo |
Add coretemp(4) and k8temp(4).
MFC after: 1 day
|
181282 |
04-Aug-2008 |
cperciva |
Dereferencing uninitialized pointers considered harmful. Prior to this commit, calling i386_parsedev(..., X, ...) where X is "ad", "bge", or any other disk or network device name without a unit number, would result in dereferencing whatever happened to be on the stack where the variable "cp" is stored.
Found by: LLVM/Clang Static Checker
|
181278 |
04-Aug-2008 |
cperciva |
Setting a variable to the same value twice doesn't actually make it more likely to have the right value. Remove superfluous assignments.
Found by: LLVM/Clang Static Checker
|
180733 |
23-Jul-2008 |
imp |
Only descend into the boot directory for the architecture if it actually exists and is a directory or symlink to a directory.
|
180593 |
18-Jul-2008 |
dwmalone |
Add an accept filter for TCP based DNS requests. It waits until the whole first request is present before returning from accept.
|
180265 |
04-Jul-2008 |
jhb |
Remove the sbni(4) driver. No one responded to calls to test it on current@ and stable@.
|
180259 |
04-Jul-2008 |
jhb |
Remove the oltr(4) driver. No one responded to calls for testing on current@ and stable@ for the locking patches. The driver can always be revived if someone tests it.
This driver also sleeps in its if_init routine, so it likely doesn't really work at all anyway in modern releases.
|
180253 |
04-Jul-2008 |
nyan |
Remove Japanese document.
|
180208 |
03-Jul-2008 |
peter |
Set magic fbsd:nokeywords property that allows files to bypass keyword expansion. (file-specific replacement for CVSROOT/exclude)
|
180194 |
02-Jul-2008 |
peter |
Attempt to set the charset
|
180193 |
02-Jul-2008 |
peter |
Pretend that this file isn't binary.
|
180145 |
01-Jul-2008 |
nyan |
Fix off-by-one error.
MFC after: 1 week
|
180023 |
26-Jun-2008 |
ru |
Fix a fallout from SSP commit, and make this compile again. Bonus: including kern.mk just to pick kernel warning flags was an extremely bad idea anyway, because it also picked up CFLAGS (it probably wasn't the case at the time of CVS rev. 1.1, I haven't checked). Remove duplicate CWARNFLAGS from CFLAGS.
|
180012 |
25-Jun-2008 |
ru |
Enable GCC stack protection (aka Propolice) for userland: - It is opt-out for now so as to give it maximum testing, but it may be turned opt-in for stable branches depending on the consensus. You can turn it off with WITHOUT_SSP. - WITHOUT_SSP was previously used to disable the build of GNU libssp. It is harmless to steal the knob as SSP symbols have been provided by libc for a long time, GNU libssp should not have been much used. - SSP is disabled in a few corners such as system bootstrap programs (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves. - It should be safe to use -fstack-protector-all to build world, however libc will be automatically downgraded to -fstack-protector because it breaks rtld otherwise. - This option is unavailable on ia64.
Enable GCC stack protection (aka Propolice) for kernel: - It is opt-out for now so as to give it maximum testing. - Do not compile your kernel with -fstack-protector-all, it won't work.
Submitted by: Jeremie Le Hen <jeremie@le-hen.org>
|
179825 |
16-Jun-2008 |
olli |
Implement a workaround for a long-standing problem in libi386's time(), caused by a qemu bug. The bug might be present in other BIOSes, too.
qemu either does not simulate the AT RTC correctly or has a broken BIOS 1A/02 implementation, and will return an incorrect value if the RTC is read while it is being updated.
The effect is worsened by the fact that qemu's INT 15/86 function ("wait" a.k.a. usleep) is non-implmeneted or broken and returns immediately, causing beastie.4th to spin in a tight loop calling the "read RTC" function millions of times, triggering the problem quickly.
Therefore, we keep reading the BIOS value until we get the same result twice. This change fixes beastie.4th's countdown under qemu.
Approved by: des (mentor)
|
179634 |
07-Jun-2008 |
kib |
Fix the incorrect calculation of a block address within a single indirect block.
PR: 108215 Submitted by: Yuichiro Goto, y7goto gmail com MFC after: 2 weeks
|
179631 |
07-Jun-2008 |
jhb |
Workaround a bug in the BIOS of Dell R900 machines. Specifically, each entry in the SMAP is a 20 byte structure and they are queried from the BIOS via sucessive BIOS calls. Due to an apparent bug in the R900's BIOS, for some SMAP requests the BIOS overflows the 20 byte buffer trashing a few bytes of memory immediately after the SMAP structure. As a workaround, add 8 bytes of padding after the SMAP structure used in the loader for SMAP queries.
PR: i386/122668 Submitted by: Mike Hibler mike flux.utah.edu, silby MFC after: 3 days
|
179343 |
27-May-2008 |
yongari |
Add an entry for the jme(4) module.
|
179106 |
19-May-2008 |
yongari |
Add an entry for the age(4) module.
|
178037 |
09-Apr-2008 |
jhb |
Revert the previous change and let PROBE_KEYBOARD function identical to -P in boot2/gptboot.
|
177990 |
08-Apr-2008 |
weongyo |
Add a couple of missing wireless NIC driver modules.
Approved by: thompsa (mentor)
|
177693 |
28-Mar-2008 |
brueffer |
Add a couple of missing NIC driver modules.
Approved by: rwatson (mentor) MFC after: 3 days
|
177626 |
26-Mar-2008 |
brueffer |
Fix some "in in" typos in comments.
PR: 121490 Submitted by: Anatoly Borodin <anatoly.borodin@gmail.com> Approved by: rwatson (mentor), jkoshy MFC after: 3 days
|
177152 |
13-Mar-2008 |
obrien |
style(9) & style.Makefile(9)
Reviewed by: raj
|
177109 |
12-Mar-2008 |
raj |
Improve handling U-Boot's "eth%daddr" while PowerPC metadata preparation.
We're now more robust against cases of non-sorted and/or non-continuous numbering of those entries.
Reviewed by: imp, marcel Approved by: cognet (mentor)
|
177108 |
12-Mar-2008 |
raj |
Eliminate artificial increasing of 'netdev_opens' counter in loader's net_open().
This was introduced as a workaround long time ago for some Alpha firmware (which is now gone), and actually prevented net_close() to ever be called.
Certain firmwares (U-Boot) need local shutdown operations to be performed on a network controller upon transaction end: such platform-specific hooks are supposed to be called via netif_close() (from within net_close()).
This change effectively reverts the following CVS commit:
sys/boot/common/dev_net.c
revision 1.7 date: 2000/05/13 15:40:46; author: dfr; state: Exp; lines: +2 -1 Only probe network settings on the first open of the network device. The alpha firmware takes a seriously long time to open the network device the first time.
Also suppress excessive output while netbooting via loader, unless debugging.
While there, make sys/boot/uboot more style(9) compliant.
Reviewed by: imp Approved by: cognet (mentor)
|
177039 |
10-Mar-2008 |
jhb |
Change the BTX kernel to drop all the way out to real mode to invoke BIOS routines (V86 requests from the client and hardware interrupt handlers): - Install trampoline real mode interrupt handlers at IDT vectors 0x20-0x2f to handle hardware interrupts by invoking the appropriate vector (0x8-0xf or 0x70-0x78). This allows the 8259As to use vectors 0x20-0x2f in real mode as well as protected mode will ensuring that the master 8259A doesn't share IDT space with CPU exceptions in protected mode. - Since we don't need to reserve space for page tables and a page directory anymore since dropping paging support, move the TSS and protected mode IDT up by 16k. Grow the ring 1 link stack by 16k as a result. - Repurpose the ring 1 link stack to be used as a real mode stack when invoking real mode routines either via a V86 request or a hardware interrupts. This simplifies a few things as we avoid disturbing the original user stack. - Add some more block comments to explain how the code interacts with the V86 structure as this wasn't immediately obvious from the prior comments (e.g. that we explicitly copy the seg regs for real mode out of the V86 struct onto the stack to be popped off when going into real mode, etc.). Also, document some of the stack frames we create going to real mode and back. - Remove all of the virtual 86 related code including having to simulate various instructions and BIOS calls on a trap from virtual 86 mode. - Explicitly panic if a user client attempts to perform a V86 CALL request that isn't a far call. - Bump version to 1.2.
Assuming this works ok this should fix some of the long standing issues with USB booting as well as etherboot.
MFC after: 2 weeks Submitted by: kib (some parts from his original real mode patch)
|
176882 |
06-Mar-2008 |
jhb |
In the PROBE_KEYBOARD case, always enable multiple consoles and set the serial console as the primary console if the keyboard probe fails.
MFC after: 1 week
|
176656 |
29-Feb-2008 |
nyan |
MFi386: revision 1.43
Do not attempt to make an NFS rpc call if using tftp
|
176654 |
29-Feb-2008 |
nyan |
MFi386: revision 1.55.
Tweak the verbose disk printing a bit.
|
176646 |
28-Feb-2008 |
jhb |
Tweak the verbose disk printing a bit: - Consolidate the code to humanize the size of a disk partition into a single function based on the code for GPT partitions and use it for GPT partitions, BSD slices, and BSD partitions. - Teach the humanize code to use KB for small partitions (e.g. GPT boot partitions now show up as 64KB rather than 0MB). - Pad a few partition type names out so that things line up in the common case.
MFC after: 1 week
|
176645 |
28-Feb-2008 |
nyan |
MFi386:
Retire the support for using paging in BTX. It hasn't been used since before 4.0.
|
176644 |
28-Feb-2008 |
jhb |
Rev 1.72 fixed a bug where if /boot.config changed the console its contents weren't displayed on the new console. However, the config string has been altered as part of being parsed so we only display the first option. Fix this by saving a copy of /boot.config before parsing it and displaying the saved copy after parsing.
MFC after: 1 week PR: i386/103972 Submitted by: Alexandre Belloni alexandre.belloni of netasq.com
|
176631 |
27-Feb-2008 |
jhb |
Retire the support for using paging in BTX. It hasn't been used since before 4.0.
Submitted by: kib
|
176490 |
23-Feb-2008 |
marcel |
o Build and install the U-Boot loader as ubldr. o Don't build/install the manual pages or configuration files that are already installed by the OFW loader. o Hook the U-Boot loader to the build.
|
176489 |
23-Feb-2008 |
marcel |
style(9) commit.
|
176487 |
23-Feb-2008 |
marcel |
Setup the new bootinfo structure. While here, make local function static and update copyright.
|
176486 |
23-Feb-2008 |
marcel |
o Keep running on U-Boot's stack. o Disable interrupts while not running U-Boot code. We clobber registers that the U-Boot interrupt handlers assume to be fixed as per the U-Boot register usage. At this time this only applies to r14. U-Boot uses r2 now for what they used r29 for. After we restore r14 in preparation of doing the syscall, we re-enable interrupts. When we return from the syscall, we disable interrupts and restore the callee-saved r14.
|
176485 |
23-Feb-2008 |
marcel |
The NFS file system support is conditional upon LOADER_NFS_SUPPORT, not LOADER_NET_SUPPORT.
|
176484 |
23-Feb-2008 |
marcel |
Add __elfN(relocation_offset). It holds the offset between the virtual (link) address and the physical (load) address. Ideally, the mapping between link and load addresses should be abstracted by the copyin(), copyout() and readin() functions, so that we don't have to add kluges in __elfN(loadimage)(). Then, we could also have paged virtual memory for the kernel. This can be important under EFI, where you need to allocate physical memory form the firmware if you want to work in all scenarios.
|
176482 |
23-Feb-2008 |
marcel |
o Include glue.h o Support multiple memory regions.
|
176481 |
23-Feb-2008 |
marcel |
o Build libuboot with -msoft-float like everything else. o Move the API prototypes to a separate header (glue.h) o Allow the platform to hint libuboot about where to look for the API signature. The uboot_address variable is expected to be defined by the platform.
|
176480 |
23-Feb-2008 |
marcel |
Add the appropriate license information. This file is double licensed under GPL and BSD.
Thanks to: raj@
|
176479 |
23-Feb-2008 |
marcel |
We build ficl and libofw with -msoft-float. Build the loader with -msoft-float too.
|
176372 |
17-Feb-2008 |
marcel |
Move the $FreeBSD$ tag in a comment as __FBSDID doesn't work.
|
176371 |
17-Feb-2008 |
marcel |
Hook the U-Boot library up to the build.
|
176349 |
16-Feb-2008 |
marcel |
MFp4 (e500):
Add support for U-Boot. This uses the U-Boot API as developed by Rafal and which is (will be) part of U-Boot 1.3.2 and later.
Credits to: raj@
|
176348 |
16-Feb-2008 |
marcel |
MFp4 (e500):
Add support for U-Boot. This uses the U-Boot API as developed by Rafal and which is (will be) part of U-Boot 1.3.2 and later.
Credits to: raj@
|
176185 |
11-Feb-2008 |
raj |
Clean up PowerPC loader(8) build config.
Turn off TFTP support by default: when both TFTP and NFS are enabled in the loader, strange interactions occur in the pure netbooting scenario (i.e. loader is TFTP-ed, kernel+world mounted over NFS), leading to very slow access to the NFS-exported files.
Reviewed by: grehan Approved by: cognet (mentor)
|
176068 |
06-Feb-2008 |
grehan |
Make the openfirmware getchar entry point non-blocking. This catches up with jhb's 2005/05/27 loader multiple-console change.
Tested by: marius/sparc64, grehan/ofwppc
|
175380 |
16-Jan-2008 |
keramida |
Bump manpage date for rev 1.27
MFC after: 3 days
|
175379 |
16-Jan-2008 |
keramida |
Document that loader(8) stops reading `loader.conf' when it encounters a syntax error, and add a tip about adding first the `vital' options and then experimental ones.
PR: docs/119658 Submitted by: Julian Stacey, jhs at berklix.org
|
174930 |
26-Dec-2007 |
marcel |
"FreeBSD/Open Firmware/PowerPC ..." is confusing and non-standard. Use "FreeBSD/powerpc Open Firmware ..." instead.
|
174878 |
23-Dec-2007 |
ticso |
- remove code from oroginal file, which is not required on BWCT boards - Be more chatty on startup, since we have enough code space on AT91RM9200 - init DS1672 charging - init USART GPIO
|
174877 |
23-Dec-2007 |
ticso |
BWCT boards uses two different SPI flash chips check for both status codes
|
174777 |
19-Dec-2007 |
ambrisko |
Allow negative values to be specified in the loader.
|
174724 |
17-Dec-2007 |
marcel |
Remove file after being repocopied to ../ofw, where it lives on.
Repocopy by: simon@
|
174723 |
17-Dec-2007 |
marcel |
Build the OFW loader from its new location after the sources were repocopied from ./loader to ./ofw.
|
173957 |
26-Nov-2007 |
jhb |
Add a note to indicate that these files do borrow in part from mbr.s and boot1.S
Requested by: rnordier
|
173720 |
18-Nov-2007 |
nyan |
MFi386: revision 1.18
Add a trailing \0 to the read error string so that read errors don't print out two error messages.
|
173697 |
17-Nov-2007 |
jhb |
Add a trailing \0 to the read error string so that read errors don't print out two error messages.
MFC after: 3 days
|
173575 |
12-Nov-2007 |
bz |
Though we are currently not interested in the EDD3 flag, Enhanced Disk Drive Specification Ver 3.0 defines that the version of extension in AH would be 30h. Correct the check for that to be >=30h instead of >3h. MFC after: 2 months
|
173440 |
08-Nov-2007 |
ru |
Document the per-arch default value of kern.maxbcache.
|
173118 |
28-Oct-2007 |
jhb |
- Add constants for the different memory types in the SMAP table. - Use the SMAP types and constants from <machine/pc/bios.h> in the boot code rather than duplicating it.
|
173040 |
26-Oct-2007 |
jhb |
Use the smaller cgbase() macro in ufsread.c if UFS_SMALL_CGBASE is defined. This lets each boot program choose which version of cgbase() it wants to use rather than forcing ufsread.c to have that knowledge.
MFC after: 1 week Discussed with: imp
|
173026 |
26-Oct-2007 |
jhb |
Add . to the include path so that we follow the 'machine' symlink we create during depend on amd64.
Reported by: rwatson
|
173024 |
26-Oct-2007 |
imp |
The arm boot code uses this function as well. Redefining cgbase() saves about 500 bytes in the boot code. While the AT91RM9200 has 12k of space for the boot loader, which is more than i386's 8k, the code generated by gcc is a bit bigger.
I've had this in p4 for about two years now.
|
172991 |
25-Oct-2007 |
cognet |
Fix signedness to make gcc happy.
|
172974 |
25-Oct-2007 |
jhb |
Break out of the I/O retry loop as soon as an I/O operation succeeds rather than always retrying operations three times.
Submitted by: nyan
|
172968 |
25-Oct-2007 |
nyan |
MFi386: part of 1.52
Split the pc98_partition specific routine in bd_opendisk() into bd_open_pc98().
|
172965 |
25-Oct-2007 |
nyan |
MFi386: part of revision 1.51
Rework the read/write support in the bios disk driver some to cut down on duplicated code. - All of the bounce buffer and retry logic duplicated in bd_read() and bd_write() are merged into a single bd_io() routine that takes an extra direction argument. bd_read() and bd_write() are now simple wrappers around bd_io().
|
172952 |
25-Oct-2007 |
imp |
Load the bytes into the EMAC's MAC address register in the proper order. The kernel used to shuffle them around to get things right, but that was recently fixed. This makes our boot loader match the behavior of most other boot loaders for the atmel parts. This bug was inherited from the Kwikbyte loader that we started from.
This bug was discovered by Bj?\027.A?\027Nvrn K?\027Nvnig back in June, but fell on the floor. He provided patches to the kernel, include backwards compatibility options that were similar to Olivier's if_ate.c commit.
|
172940 |
24-Oct-2007 |
jhb |
First cut at support for booting a GPT labeled disk via the BIOS bootstrap on i386 and amd64 machines. The overall process is that /boot/pmbr lives in the PMBR (similar to /boot/mbr for MBR disks) and is responsible for locating and loading /boot/gptboot. /boot/gptboot is similar to /boot/boot except that it groks GPT rather than MBR + bsdlabel. Unlike /boot/boot, /boot/gptboot lives in its own dedicated GPT partition with a new "FreeBSD boot" type. This partition does not have a fixed size in that /boot/pmbr will load the entire partition into the lower 640k. However, it is limited in that it can only be 545k. That's still a lot better than the current 7.5k limit for boot2 on MBR. gptboot mostly acts just like boot2 in that it reads /boot.config and loads up /boot/loader. Some more details: - Include uuid_equal() and uuid_is_nil() in libstand. - Add a new 'boot' command to gpt(8) which makes a GPT disk bootable using /boot/pmbr and /boot/gptboot. Note that the disk must have some free space for the boot partition. - This required exposing the backend of the 'add' function as a gpt_add_part() function to the rest of gpt(8). 'boot' uses this to create a boot partition if needed. - Don't cripple cgbase() in the UFS boot code for /boot/gptboot so that it can handle a filesystem > 1.5 TB. - /boot/gptboot has a simple loader (gptldr) that doesn't do any I/O unlike boot1 since /boot/pmbr loads all of gptboot up front. The C portion of gptboot (gptboot.c) has been repocopied from boot2.c. The primary changes are to parse the GPT to find a root filesystem and to use 64-bit disk addresses. Currently gptboot assumes that the first UFS partition on the disk is the / filesystem, but this algorithm will likely be improved in the future. - Teach the biosdisk driver in /boot/loader to understand GPT tables. GPT partitions are identified as 'disk0pX:' (e.g. disk0p2:) which is similar to the /dev names the kernel uses (e.g. /dev/ad0p2). - Add a new "freebsd-boot" alias to g_part() for the new boot UUID.
MFC after: 1 month Discussed with: marcel (some things might still change, but am committing what I have so far)
|
172927 |
24-Oct-2007 |
jhb |
Rework the read/write support in the bios disk driver some to cut down on duplicated code and support 64-bit LBAs for GPT. - The code to manage an EDD or C/H/S I/O request are now in their own routines. The EDD routine now handles a full 64-bit LBA instead of truncating LBAs to the lower 32-bits. (MBRs and BSD labels only have 32-bit LBAs anyway, so the only LBAs ever passed down were 32-bit). - All of the bounce buffer and retry logic duplicated in bd_read() and bd_write() are merged into a single bd_io() routine that takes an extra direction argument. bd_read() and bd_write() are now simple wrappers around bd_io(). - If a disk supports EDD then always use it rather than only using it if the cylinder is > 1023. Other parts of the boot code already do something similar to this. Also, GPT just uses LBAs, so for a GPT disk it's probably best to ignore C/H/S completely. Always using EDD when it is supported by a disk is an easy way to accomplish this.
MFC after: 1 week
|
172925 |
24-Oct-2007 |
nyan |
MFi386: revision 1.50
Reindent the read/write code of bd_realstrategy() so it is more readable.
|
172924 |
24-Oct-2007 |
nyan |
MFi386: revision 1.41
Slightly cleanup the 'bootdev' concept on x86 by changing the various macros to treat the 'slice' field as a real part of the bootdev instead of as hack that spans two other fields (adaptor (sic) and controller) that are not used in any modern FreeBSD boot code.
|
172922 |
24-Oct-2007 |
jhb |
Reindent the read/write code of bd_realstrategy() so it is more readable.
MFC after: 1 week
|
172921 |
24-Oct-2007 |
jhb |
Slightly cleanup the 'bootdev' concept on x86 by changing the various macros to treat the 'slice' field as a real part of the bootdev instead of as hack that spans two other fields (adaptor (sic) and controller) that are not used in any modern FreeBSD boot code.
MFC after: 1 week
|
172664 |
15-Oct-2007 |
nyan |
Optimize for size on pc98. It enables to boot a kernel again.
I don't know what's wrong (loader, boot2 or others), but this change is effective.
Tested by: NAKAJI Hiroyuki MFC after: 3 days
|
172591 |
12-Oct-2007 |
ps |
Do not attempt to make an NFS rpc call if using tftp
PR: kern/91720 Submitted by: Ruben Kerkhof
|
172445 |
04-Oct-2007 |
obrien |
Also boot *.debug if everything else fails.
Approved by: re(gnn)
|
172327 |
26-Sep-2007 |
ru |
Mention that autoboot_delay also accepts the "NO" value.
Approved by: re (kensmith)
|
171876 |
17-Aug-2007 |
imp |
Don't pass RB_BOOTINFO to the kernel. There's no bootinfo actually passed into the kernel, and the kernel will soon grow that ability on arm.
Approved by: re@ (blanket)
|
171794 |
09-Aug-2007 |
imp |
Use the .S version for now. I have a version optimized for size p4, but I'm unsure of its provenance, so rather than add it here, revert the migration to it.
Approved by: re@ (blanket)
|
171426 |
13-Jul-2007 |
imp |
MFp4: Add support for the CENTIPAD board (http://www.harerod.de/centipad/index.html) (which is a very cool, very small ARM board) Add support for KB9202B (it has different memory) Make BOOT_FLAVOR settable Minor cleanup nits
Approved by: re@
|
171023 |
25-Jun-2007 |
rafan |
- Remove UMAP filesystem. It was disconnected from build three years ago, and it is seriously broken.
Discussed on: freebsd-arch@ Approved by: re (mux)
|
170854 |
17-Jun-2007 |
marius |
- Make better use of the global chosen, memory and mmu handles instead of obtaining them over and over again and pretending we could do anything useful without them (for chosen this includes adding a declaration and initializing it in OF_init()). - In OF_init() if obtaining the memory or mmu handle fails just call OF_exit() instead of panic() as the loader hasn't initialized the console at these early stages yet and trying to print out something causes a hang. With OF_exit() one at least has a change to get back to the OFW boot monitor and debug the problem. - Fix OF_call_method() on 64-bit machines (this is a merge of sys/dev/ofw/openfirm.c rev 1.6). - Replace OF_alloc_phys(), OF_claim_virt(), OF_map_phys() and OF_release_phys() in the MI part of the loader with wrappers around OF_call_method() in the sparc64. Beside the fact that they duplicate OF_call_method() the formers should never have been in the MI part of the loader as contrary to the OFW spec they use two-cell physical addresses. - Remove unused functions which are also MD dupes of OF_call_method(). - In sys/boot/sparc64/loader/main.c add __func__ to panic strings as different functions use otherwise identical panic strings and make some of the panic strings a tad more user-friendly instead of just mentioning the name of the function that returned an unexpected result.
|
170839 |
16-Jun-2007 |
marius |
- Remove dupe and unused declarations and prototypes. - Add missing prototypes. - Define global variables not used outside of this module as static. - Replace some outdated hard-coded functions names in panic strings with __func__. - Fix some style(9) bugs.
|
170838 |
16-Jun-2007 |
marius |
Sync the styles of sys/boot/ofw/libofw/openfirm.c and sys/dev/ofw/openfirm.c with themselves, with each-other and with style(9).
|
170101 |
29-May-2007 |
simokawa |
MFp4: add FireWire/dcons support in loader for i386/amd64.
It is disabled by default. You need to put LOADER_FIREWIRE_SUPPORT=yes in /etc/make.conf and rebuild loader to enable it. (cd /sys/boot/i386 && make clean && make && make install)
You can find a short introduction of dcons at http://wiki.freebsd.org/DebugWithDcons
|
170026 |
27-May-2007 |
marcel |
Have the processor defer all faults and exceptions for control speculative loads. This at least makes control speculative loads work. In the future we should analyze which faults/exceptions we want to handle rather than defer to avoid having to call the recovery code when it's not strictly necessary.
|
169842 |
21-May-2007 |
jkim |
Use lower cases for UUID string to conform RFC4122 and ISO/IEC-9834-8:2005.
|
169732 |
19-May-2007 |
kan |
Tweak inlining parameters a little. Add warning to tell us if function we declared as inline can not be inlined.
|
169399 |
09-May-2007 |
sepotvin |
Add documentation for the vm.kmem_size_min and vm.kmem_size_max tunables.
Approved by: njl (mentor, blanket)
|
169286 |
05-May-2007 |
jmg |
fixup talk of kern.maxswzone... It's been 32MB for almost 5 years now... and only supports just over 7GB of swap...
Sound a bit more professional..
Inspired by: Marc G. Fournier MFC After: 3 days
|
168554 |
09-Apr-2007 |
pjd |
Add zfs_load here.
Reminded by: bmah
|
168512 |
09-Apr-2007 |
pjd |
Always try to load zpool.cache instead of trying to find good place to document it. When there is no such file, it's invisible for the user.
|
168466 |
07-Apr-2007 |
nyan |
Fix build.
|
168457 |
07-Apr-2007 |
kato |
Added the IPLware 3.33 support. - Added magic numbers to pretend the NEC original program version 2.70. - Added string display routine with Shift-JIS code support. - Added three nop instructions at start1 in start.s since the installaer of the IPLware put 'call $0x09ab' instruction. - Put the near return instruction at 0x9ab in selector.s.
Since the Shit-JIS display routine must be located at 0x1243, the linker script file (ldscript) is applied.
|
168442 |
06-Apr-2007 |
kan |
pc98 boot2 is compiled with _KERNEL defined, and that makes non-static bootinfo variable declaration visible. It conflicts with static declaration in this file. Declare variable as globally visible in order to resolve the conflict.
|
168279 |
02-Apr-2007 |
imp |
Loop on sdcard init. This helps if one hasn't plugged in the card fast enough, or there's other issues that cause the first try to fail.
|
168013 |
28-Mar-2007 |
imp |
RTC_TIMR's RTC_SEC field is BCD. That makes it unsuitable for GetSeconds(). Instead, use CRTR register shifted right 15. This gives us a range of 32 seconds we can do for timeout.
Shift to using == rather than < or > for calculating the timeout, since if we can't read the ST_CTRT register twice in a second we have even bigger problems to worry about, and == deals with the 'wrap' issue.
This lets me type at the boot2 prompt again! Woo Hoo!
Bogusness noticed by: tisco Pointy Hat to: That silly imp guy
|
168012 |
28-Mar-2007 |
imp |
Since we're about to set ST_RTMR to 1 to increase the accuracy of the CRTR register to be 1/32768th of a second in init, we don't need to do it here.
|
168011 |
28-Mar-2007 |
imp |
All SD cards have a block size of 512. The READ_BL_LEN field in the CSD is usually 512 (well, 9), but for 2GB (and the rogue 4GB SD cards) it is 1024 (or 2048 for 4GB). This value doesn't work for the block read commands (which really want 512). Hardcode 512 for those. This may break really old MMC cards that don't have a 512 block size (I've never seen one: make my day and send me one :-), but since the MMC side of the house is currently broken, it should only have the effect that 2GB (and non-conforming 4GB) SD cards will work.
My 'non-conforming' 4GB SD card also works now too. The non-conforming 4GB SD cards were sold for a while before the SD association was worried they would be (a) incompatible (different FAT flavor on them) and (b) confusing for the new SDHC standard and cracked down on suppliers' bogus use of the SD trademark...
|
168007 |
28-Mar-2007 |
imp |
Various buglets fixed (from submitter):
The changes to getstr() is so that the character that is passed in to it, is also processed just as the rest. I also removed one of the getc() calls otherwise you loose every second character.
I also changed the strcpy of kname, so that it only happens if kname is '\0'. This is so that one can pass a kernel in through /boot.config.
The last change to boot2.c is in parse(). If you tried to type a kernel name to boot, the first character was lost, the arg-- fix that.
Submitted by: jhay
|
168006 |
28-Mar-2007 |
imp |
Fix problem where memcmp would return true in the case where the character after the character that was the same.
Submitted by: jhay
|
168005 |
28-Mar-2007 |
imp |
Fix off by one error in length of the string.
Submitted by: jhay
|
167914 |
26-Mar-2007 |
thomas |
Fix setting of serial port speed. A junk value was passed in AX when bioscom is called to set up serial port parameters because COMSPEED was treated as an address instead of an immediate value, causing serial port parameters to never be set.
PR: i386/110828 Reviewed by: jhb MFC after: 2 weeks
|
167850 |
23-Mar-2007 |
jkim |
Update to FICL 3.03 (the last release before FICL4 rewrite).
The relevant changes for FreeBSD (excerpt from the release note):
* Newly implemented CORE EXT words: CASE, OF, ENDOF, and ENDCASE. Also added FALLTHROUGH, which works like ENDOF but jumps to the instruction just after the next OF. * Bugfix: John-Hopkins locals syntax now accepts | and -- in the comment (between the first -- and the }.) * Bugfix: Changed vmGetWord0() to make Purify happier. The resulting code is no slower, no larger, and slightly more robust.
|
167814 |
22-Mar-2007 |
jkim |
Catch up with ACPI-CA 20070320 import.
|
167657 |
17-Mar-2007 |
kato |
- Moved the uninitialized variables from the data to the bss section. - Fixed typos in comment.
|
167586 |
15-Mar-2007 |
imp |
Remove vestiges of very specific fpga support for my company's board. It isn't relevant to FreeBSD as a whole, breaks the build, and isn't even needed for my company's boards anymore...
MFC After: 2 weeks
|
167191 |
04-Mar-2007 |
nyan |
MFi386: revision 1.17.
Fix the cdboot twiddle display.
|
166926 |
23-Feb-2007 |
remko |
Fix the cdboot twiddle display. I created and tested this with a custom FreeSBIE cd-image.
PR: i386/96452 Submitted by: Yuichiro Goto <y7goto at gmail dot com> MFC after: 3 days Approved by: imp (mentor)
|
166486 |
04-Feb-2007 |
imp |
Document the init_chroot and init_script variables.
# I didn't check the markup too closely, so doc people, please check
Submitted by: Oliver Fromme
|
166005 |
14-Jan-2007 |
maxim |
o Wrap long lines.
|
166004 |
14-Jan-2007 |
maxim |
o Typo: note -> node.
PR: misc/107906 Submitted by: Alex Keda MFC after: 3 days
|
166003 |
14-Jan-2007 |
maxim |
o Move the comment to the correct place.
PR: misc/107904 MFC after: 3 days
|
165876 |
07-Jan-2007 |
marius |
Garbage collect the code for auto-loading modules based on ISAPNP IDs, which is #if'ed out since nearly eight years, along with its outdated database.
Agreed by: ru (some months ago)
|
165401 |
20-Dec-2006 |
imp |
MFp4: differences for bwct ethernet attachment
|
165400 |
20-Dec-2006 |
imp |
MFp4: Differences in flash part for bwct. need a more generic way to cope.
|
165399 |
20-Dec-2006 |
imp |
MFp4: Add timeout to eeprom access for lame eeprom that go awol
|
165398 |
20-Dec-2006 |
imp |
MFp4: bwct memory size and PLL parameters
|
165397 |
20-Dec-2006 |
imp |
MFp4: bwct boot rom is different. need a more generic way to cope long term.
|
165396 |
20-Dec-2006 |
imp |
MFp4: Delay a second or two after the upload before printing Done. Add an automatic reset for remote operational luvin' goodness.
|
165395 |
20-Dec-2006 |
imp |
MFp4: bwct is a new board choice.
|
165325 |
18-Dec-2006 |
kmacy |
add an interface for passing the entire kernel size up front to the loader so that it can memory can be allocated aligned at the beginning of the desired large page
|
165145 |
13-Dec-2006 |
yongari |
Add an entry for the msk(4) module.
|
164948 |
06-Dec-2006 |
jhb |
Ignore any breakpoint instructions (int 3) we encounter in vm86 mode rather than treating them as a fatal exception and halting. At least one storage BIOS (some newer mpt(4) parts) have a breakpoint instruction in their disk read routine.
MFC after: 3 days
|
164739 |
29-Nov-2006 |
yar |
Note that not all architectures use sendfile(2) buffers; refer to the respective manpage for details.
MFC after: 3 days
|
164563 |
23-Nov-2006 |
kmacy |
remove CDDL derive hcall.S
|
164412 |
19-Nov-2006 |
marcel |
Remove LDR_LOG2_PGSZ, ia64_pgtbl and ia64_pgtblsz. They are part of a WIP and not used yet.
|
164335 |
16-Nov-2006 |
ru |
Remove an unused variable.
|
164324 |
16-Nov-2006 |
imp |
Mfp4: Remove mci_device.c. It should have been removed when it was merged ito sd-card.c, but this is an imperfect world.
|
164323 |
16-Nov-2006 |
imp |
Move to using a common arm_init.S. These things are more similar than different at this point.
|
164322 |
16-Nov-2006 |
imp |
MFp4: Don't fix the size at 8k, and some minor cleanups. andre@ contributed to fixing this problem.
|
164321 |
16-Nov-2006 |
imp |
MFp4: Improvements, including the ability to download to an arbitrary part of the spi flash.
|
164320 |
16-Nov-2006 |
imp |
Tweaks for better boot flavor support.
|
164319 |
16-Nov-2006 |
imp |
Mfp4: We no longer need ee.h included here.
|
164138 |
09-Nov-2006 |
imp |
MFp4: boot2 should now build
|
164137 |
09-Nov-2006 |
imp |
MFp4: boot on KB9202 correctly. Also, reduce the size of the SD/MMC driver somewhat.
|
164136 |
09-Nov-2006 |
imp |
MFp4: Support KB9202 booting better
|
164135 |
09-Nov-2006 |
imp |
Fix typo
|
164134 |
09-Nov-2006 |
imp |
MFp4: Make boot2 work on Kwikbyte KB9202 boards.
|
164133 |
09-Nov-2006 |
imp |
MFp4: Merge a slightly more generic build infrastructure.
|
164132 |
09-Nov-2006 |
imp |
MFp4: Remove bogus \r
|
164115 |
09-Nov-2006 |
nyan |
Add a stub of bios_addsmapdata(). PC98 does not have BIOS SMAP.
|
164114 |
09-Nov-2006 |
nyan |
MFi386: revisions from 1.39 to 1.43.
|
164010 |
05-Nov-2006 |
marcel |
Major rework of the ia64 loaders. The two primary objectives are: 1. Make libefi portable by removing ia64 specific code and build it on i386 and amd64 by default to prevent regressions. These changes include fixes and improvements over previous code to establish or improve APIs where none existed or when the amount of kluging was unacceptably high. 2. Increase the amount of sharing between the efi and ski loaders to improve maintainability of the loaders and simplify making changes to the loader-kernel handshaking in the future.
The version of the efi and ski loaders are now both changed to 1.2 as user visible improvements and changes have been made.
|
163929 |
03-Nov-2006 |
marcel |
Make this compile on EFI32. The EFI_PHYSICAL_ADDRESS type is always 64-bit, even when sizeof(void *) is 32-bit.
|
163927 |
03-Nov-2006 |
marcel |
Properly calculate the checksum of the APIC table.
|
163917 |
02-Nov-2006 |
ru |
Unbreak compile with ELF_VERBOSE defined, and fix format warnings.
|
163914 |
02-Nov-2006 |
ru |
Revert the last change. Masking only 2 MSBs of the virtual address to get the physical address doesn't work for all values of KVA_PAGES, while masking 8 MSBs works for all values of KVA_PAGES that are multiple of 4 for non-PAE and 8 for PAE. (This leaves us limited with 12MB for non-PAE kernels and 14MB for PAE kernels.)
To get things right, we'd need to subtract the KERNBASE from the virtual address (but KERNBASE is not easy to figure out from here), or have physical addresses set properly in the ELF headers.
Discussed with: jhb
|
163898 |
02-Nov-2006 |
marcel |
Sync the EFI headers with version 1.10.14.62 of the Intel sample EFI implementation. This re-introduces C99 style comments that previously were replaced by original C comments.
|
163897 |
02-Nov-2006 |
marcel |
Extend struct devdesc with a unit field, called d_unit. Promote the device (kind) specific unit field to the common field. This change allows a future version of libefi to work without requiring anything more than what is defined in struct devdesc and as such makes it possible to compile said version of libefi for different platforms without requiring that those platforms have identical derivatives of struct devdesc.
|
163893 |
02-Nov-2006 |
marcel |
Don't unconditionally compile-in the bcache code. It's only used on i386/amd64 and pc98. Remove useless calls to bcache_init() from the ia64 and sparc64 loaders, as well as from the OFW common code.
|
163891 |
02-Nov-2006 |
marcel |
o Make sure to clear f->f_devdata if d_dev->dv_open() fails. It would otherwise cause devclose() to free() the memory again. o Refactor devopen() so that it's more readable.
|
163765 |
29-Oct-2006 |
ru |
Because the BTX mini-kernel now uses flat memory mode and clients are no longer limited to a virtual address space of 16 megabytes, only mask high two bits of a virtual address. This allows to load larger kernels (up to 1 gigabyte). Not masking addresses at all was a bad idea on machines with less than >3G of memory -- kernels are linked at 0xc0xxxxxx, and that would attempt to load a kernel at above 3G. By masking only two highest bits we stay within the safe limits while still allowing to boot larger kernels.
(This is a safer reimplmentation of sys/boot/i386/boot2/boot.2.c rev. 1.71.)
Prodded by: jhb Tested by: nyan (pc98)
|
163708 |
26-Oct-2006 |
ru |
Adopt comments borrowed from aout_freebsd.c.
|
163707 |
26-Oct-2006 |
ru |
Restore support for -c and -d that were treacherously murdered in rev. 1.58. (This only costs us four bytes.)
Prodded by: bde MFC after: 3 days
|
163706 |
26-Oct-2006 |
ru |
Back out rev. 1.71 as it breaks directly loading (i386) kernels.
OK'ed by: jhb PR: i386/96430, i386/104709 MFC after: 3 days
|
163617 |
23-Oct-2006 |
imp |
Don't descend into at91 until we sort out the boot loader issues more generally
|
163598 |
21-Oct-2006 |
imp |
MFp4: default to not loading the fpga
|
163597 |
21-Oct-2006 |
imp |
MFp4: Update to smaller code footprint.
|
163596 |
21-Oct-2006 |
imp |
MFp4: Move to smaller code footprint.
|
163595 |
21-Oct-2006 |
imp |
MFp4: Move to smaller code. This was somehow forgotten before.
|
163542 |
20-Oct-2006 |
imp |
There's no fpga.c, so omit it.
|
163533 |
20-Oct-2006 |
imp |
MFp4:
Massive update. The highlights: o dramatically cut memory usage by writing better, less intertwingled code. o implement booting off mmc/sd cards (sd only tested one at the moment) o start to split out board specific stuff for boot2.
|
163327 |
13-Oct-2006 |
ru |
Replace a rarely used "depuration" with "debugging".
PR: docs/85127 Submitted by: Gary W. Swearingen (partially) MFC after: 3 days
|
163154 |
09-Oct-2006 |
kmacy |
more sun4v fallout - missed add Approved by: rwatson (mentor)
|
163151 |
09-Oct-2006 |
kmacy |
unbreak sparc64 loader build re-add accidentally deleted asi value remove sun4v only header include
Approved by: rwatson (mentor) Reviewed by: jmg
|
163145 |
09-Oct-2006 |
kmacy |
add sun4v support to the sparc64 boot loader
Approved by: rwatson (mentor) Reviewed by: jmg Tested by: kris, dwhite, and jmg
|
163070 |
07-Oct-2006 |
pav |
- Update URL of Intel documentation
Submitted by: Rob <spamrefuse@yahoo.com> on freebsd-doc MFC after: 3 days
|
163032 |
05-Oct-2006 |
jhb |
- Fix a couple of improper uses of leal in the previous space saving commits. For some reason I thought the scale factor was a shift count rather than the multiplicand (that is, I thought leal (%eax,%edx,4) was going to generate %eax + %edx << 4 rather than %eax + %edx * 4). What I need is to multiply by 16 to convert a real-mode (seg, offset) tuple into a flat address. However, the max multiplicand for scaled/index addressing on i386 is 8, so go back to using a shl and an add. - Convert two more inter-register mov instructions where we don't need to preserve the source register to xchg instructions to keep our space savings.
Tested by: Ian FREISLICH if at hetzner.co.za MFC after: 1 week
|
162934 |
01-Oct-2006 |
ariff |
Add module loading option for Intel High Definition Audio Controller - snd_hda(4)
|
162890 |
30-Sep-2006 |
netchild |
Add snd_envy24ht and remove the snd_ak4* module.
|
162815 |
29-Sep-2006 |
ru |
Fix WARNS=2 warnings.
|
162814 |
29-Sep-2006 |
ru |
Fix most of the WARNS=2 warnings.
|
162813 |
29-Sep-2006 |
jhb |
Oops, add return values for the smap command function. We must have the warnings set weird or something because gcc didn't warn about this at all.
Submitted by: ru
|
162745 |
28-Sep-2006 |
jhb |
Tweak the code to handle intercepting BIOS calls to int 0x15 to shave another 16 bytes off of BTX (and thus boot2): - Compare against the value of %eax that is saved on the stack instead of loading it into %eax (which requires saving the current %eax on the stack). - Use %ch to examine the keyboard flag state in the BIOS to see if Ctrl-Alt-Del is pressed instead of %al so we don't have to save %eax on the stack anymore.
MFC after: 1 week
|
162744 |
28-Sep-2006 |
jhb |
Optimize the int 15/87 handler for space to shave another 16 bytes off of BTX (and thus boot2): - Don't bother saving %eax, %ebx, or %ecx as it is not necessary. - Use a more compact sequence to load the base value out of a GDT entry by loading the contiguous low 24 bits into the upper 24 bits of %eax, loading the high 8 bits into %al, and using a ror to rotate the bits (2 mov's and a ror) rather than loading the pieces in smaller chunks (3 mov's and a shl). - Use movzwl + leal instead of movl + movw + shll + addl. - Use 'xchgl %eax,%foo' rather than 'movl %eax,%foo' for cases where it's ok to trash %eax. xchgl %eax, foo is a 1-byte opcode whereas the mov is a 2-byte opcode. - Use movzwl rather than xorl + movw.
MFC after: 1 week
|
162743 |
28-Sep-2006 |
jhb |
Add an 'smap' command that dumps out the BIOS SMAP.
MFC after: 1 week
|
162742 |
28-Sep-2006 |
jhb |
Ignore a sub-topic match if it is inside the command description. Otherwise, merge-help can get confused by a command description that includes a word that starts with a capital S.
MFC after: 1 week
|
162737 |
28-Sep-2006 |
jhb |
A couple of simple tweaks that trim BTX by 6 bytes. Since BTX is 16-byte aligned within boot2 however, this actually trims boot2 by 16 bytes.
|
162717 |
28-Sep-2006 |
ru |
Add -march=i386 to fix amd64 build by generating the same code as i386 would do.
|
162710 |
27-Sep-2006 |
jhb |
Emulate moving cr0, cr2, cr3, or cr4 into any i386 general register rather than just emulating mov cr0, eax. This fixes some Compaq/HP BIOS with DMA (as the BIOS tried to read cr3 so it could translate addresses if paging was enabled).
MFC after: 1 week
|
162649 |
26-Sep-2006 |
tegge |
Add mnt_noasync counter to better handle interleaved calls to nmount(), sync() and sync_fsync() without losing MNT_ASYNC. Add MNTK_ASYNC flag which is set only when MNT_ASYNC is set and mnt_noasync is zero, and check that flag instead of MNT_ASYNC before initiating async io.
|
162046 |
05-Sep-2006 |
ru |
- Include <sys/reboot.h> to get the RB_* defines.
- Make the PROBE_KEYBOARD option better resemble the -P option in boot2, i.e., if keyboard isn't present then boot with both RB_SERIAL and RB_MULTIPLE set.
Reviewed by: jhb
|
161471 |
20-Aug-2006 |
ru |
Make the default "init_path" value breakable, so it fits on the screen's width, thus eliminating a groff(1) warning.
Suggested by: marck
|
161454 |
18-Aug-2006 |
imp |
Copy powerpc ficl files sysdep files (maybe we need a common one)
|
161453 |
18-Aug-2006 |
imp |
Build at91
|
161452 |
18-Aug-2006 |
imp |
Support compiling as part of world
|
161449 |
18-Aug-2006 |
brueffer |
Wordsmithing on the ixgb(4) and mxge(4) descriptions.
Suggested by: ru (ixgb)
|
161448 |
18-Aug-2006 |
brueffer |
Add more modules, correct alphabetical order.
|
161431 |
18-Aug-2006 |
marck |
kern.ipc.nmbclusters is sysctl, not compile-time option. Change Dv to Va.
Touch .Dd.
Pointed out by: ru MFC after: 1 week
|
161429 |
18-Aug-2006 |
marck |
Remove references to NMBCLUSTERS which is obsoleted.
PR: 100427 Approved by: maxim MFC after: 1 week
|
161379 |
17-Aug-2006 |
imp |
MFp4: changes since .s -> .S rename. Use correct header for size
|
161370 |
16-Aug-2006 |
imp |
MFp4: First cut at making spi and/or sd card booting work, needs work
|
161369 |
16-Aug-2006 |
imp |
MFp4:
Tidy up a bit. Make sure that the burned image matches the downloaded one.
|
161368 |
16-Aug-2006 |
imp |
MFp4:
Simplify life a little for such a simple program.
|
161286 |
14-Aug-2006 |
brueffer |
Several updates:
- Added missing file system/network/sound module entries - Removed obsolete network module entries - Capitalized (Fast|Gigabit) Ethernet
MFC after: 1 week
|
161202 |
10-Aug-2006 |
imp |
MFp4: Integrate a boatload of bug fixes from p4. We're right on the 8k boundary with this program still.
text data bss dec hex filename 7925 4 4476 12405 3075 bootiic.out
so we have like 293 bytes left before we have to play games. There may be ways to reduce that somewhat, but they start to be very board specific.
|
161199 |
10-Aug-2006 |
imp |
MFp4:
Reach over into the arm tree to grab some at91 definitions. Better warnings Lots of build tweaks
|
161198 |
10-Aug-2006 |
imp |
MFp4: remove obsolete files
|
161197 |
10-Aug-2006 |
imp |
MFp4: Remove obsolete files in list Add spi flash reading routines
|
161196 |
10-Aug-2006 |
imp |
MFp4: Numerous changes from p4 to try to improve tftp downloading, reduce code footprint, etc. While some problems still remain, the reliability of tftp is much improved.
|
161195 |
10-Aug-2006 |
imp |
MFp4: consolidate #include files down to lib.h
|
161194 |
10-Aug-2006 |
imp |
MFp4: These will migrate to the boot specific directories because they are too hard to share between the different boot loaders.
|
161193 |
10-Aug-2006 |
imp |
MFp4: Make it clearer that the address passed to the eeprom routines is really an offset within the eeprom device, and not a IIC address.
|
161192 |
10-Aug-2006 |
imp |
MFp4: Catchup with migration of some defines.
|
161191 |
10-Aug-2006 |
imp |
MFp4: Tweaks for our board.
|
161190 |
10-Aug-2006 |
imp |
MFp4: Increase character timeout to 10. Make it a #define for easier changes in the future. This helps with getting started and to overcome the really sucky level of granuality this timeout has in getc. A timeout of 1 means 'wait until top of next second' rather than 'wait for at least a second'.
|
161157 |
10-Aug-2006 |
imp |
Don't need to special case arm here anymore
|
161156 |
10-Aug-2006 |
imp |
Add a dummy makefile to keep build happy
|
160964 |
04-Aug-2006 |
yar |
Commit the results of the typo hunt by Darren Pilgrim. This change affects documentation and comments only, no real code involved.
PR: misc/101245 Submitted by: Darren Pilgrim <darren pilgrim bitfreak org> Tested by: md5(1) MFC after: 1 week
|
160709 |
26-Jul-2006 |
ache |
Add snd_emu10kx_load
|
160651 |
25-Jul-2006 |
yongari |
Add an entry for the stge(4) module. While I'm here remove a stale wx(4) entry which was removed 4 years, 9 months ago.
|
159744 |
18-Jun-2006 |
imp |
Don't descend into ${MACHINE} on the arm platforms.
|
159096 |
31-May-2006 |
iedowse |
Increment the disk block offset after writing, not before. This fixes filesystem corruption when nextboot.conf is located after cylinder 1023. The bug appears to have been introduced at the time bd_read was copied to create bd_write.
PR: bin/98005 Reported by: yar MFC after: 1 week
|
158569 |
14-May-2006 |
marius |
- Replace the entry for the no longer existing lnc(4) module with an entry for the replacement le(4) module. - Add an entry for the gem(4) module. - Remove gratuitous whitespace in the description of the hme(4) entry.
|
158559 |
14-May-2006 |
nyan |
Add a bootable CD support.
|
158467 |
12-May-2006 |
jhb |
Remove more Alpha bits from the boot code including fixing several stale comments.
|
158466 |
12-May-2006 |
jhb |
Remove Alpha bits for ficl.
|
158458 |
11-May-2006 |
jhb |
First pass at removing Alpha kernel support.
|
158378 |
09-May-2006 |
nyan |
Fix build (s:pc98/cbus/cbus.h:pc98/pc98/pc98_machdep.h:)
Pointyhat to: nyan
|
158265 |
03-May-2006 |
jhb |
Restore the pre-5.x behavior of only beeping if the user makes a bad selection and not always beeping on startup. The two bytes for the extra 'jmp' instruction were obtained by removing recognition of BSD/OS partitions.
Requested by: many Tested by: subset of many Head nod: imp, keramida MFC after: 2 weeks
|
158023 |
25-Apr-2006 |
jhb |
Use PTOV() to convert physical addresses to appropriate virtual addresses in the loader when searching for the ACPI RSDP. (The loader runs in a flat mode with va 0 == pa 0xa000.)
|
157940 |
21-Apr-2006 |
imp |
MFp4: Make getc(0) polling (this has the happy side effect of saving 8 bytes in the generated code).
|
157939 |
21-Apr-2006 |
imp |
MFp4: Loop forever getting characters... A kludge for now.
|
157938 |
21-Apr-2006 |
imp |
MFp4: Integrate support for building tag support for linux booting.
|
157937 |
21-Apr-2006 |
imp |
MFp4: Init eeprom here now that we don't init the eeprom in arm_init.s and read in the second 8k of the data. Tweak formatting.
|
157936 |
21-Apr-2006 |
imp |
Move from arm_init.s -> .S. #ifdef linux vs freebsd defaults for the boot loader (linux booting helps regression testing). No repo copy because of limited history.
|
157926 |
21-Apr-2006 |
imp |
MFp4: formatting nits and minor style changes that likely won't matter.
|
157925 |
21-Apr-2006 |
imp |
Allow one to enable building tags. Check the size of the boot imag.
|
157924 |
21-Apr-2006 |
imp |
MFp4:
On the KB9202 go ahead and enable the flash controller so the boot loader can access the parallel flash.
|
157921 |
21-Apr-2006 |
imp |
MFp4:
Make this compile, assuming that you have linux installed in a sensible place. tag_list is disabled by default, since we don't distribute linux, but it is desirable to allow the boot loader to boot Linux or FreeBSD (mostly for testing).
|
157918 |
21-Apr-2006 |
imp |
MFp4: Minor diffs to reduce diffs to p4.
|
157917 |
21-Apr-2006 |
imp |
spi flash updating boot loader. upload this file for the recovery xmodem download. Then download the image you want in the flash. This will burn the image into the flash. You must then reset the unit and the new flash image will be used for booting...
|
157916 |
21-Apr-2006 |
imp |
iic eeprom updating boot loader. upload this file for the recovery xmodem download. Then download the image you want in the eeprom. This will burn the image into the eeprom. You must then reset the unit and the new eeprom image will be used for booting...
|
157915 |
21-Apr-2006 |
imp |
Add boot0iic and boot0spi. These are 'shortcut' boot loaders designed to replace either a bad iic eeprom with one you download with xmodem, or likewise with a spi flash.
|
157873 |
19-Apr-2006 |
imp |
MFp4 (checkpoint of work in progress):
o Use a directory layout that is more akin to the i386 boot layout. o Create a libat91 for library routines that are used by one or more of the boot loaders. o Create bootiic for booting from an iic part. o Create bootspi for booting from an spi part. o Optimize the size of many of these routines (especially emac.c). Except for the emac.c optimizations, all these have been tested. o eliminate the inc directory, libat91 superceeds it. o Move linker.cfg up a layer to allow it to be shared.
|
157765 |
15-Apr-2006 |
imp |
Fix style nit noticed by bde.
|
157733 |
13-Apr-2006 |
imp |
Add commented out define for TSC board's boot0.
|
157732 |
13-Apr-2006 |
imp |
MFp4:
For 32-bit SDRAM systems, enable D16 to D31 in the PIO controller. Otherwise they read back as 0xffff.
Shave 8 bytes from the object size by using AT91C_BASE_PIOA directly and by not assigning PIO_BSR to 0 in the DBGU init. That's a nop in two ways (everything defaults to peripheral A, and writing 0 changes nothing).
|
157731 |
13-Apr-2006 |
imp |
Merge from p4:
Many places used #define FOO ((unsigned int) 0x23) where a simpler #define FOO 0x23u would have sufficed. This practice is overly verbose and has the disadvantage that you can't say
#if FOO == BAR #endif
because the extra "unsigned int" tokens choke cpp's little brain. Migrate to the latter style to allow use in preprocessor statements. The two are the same semantically anyway in a C context (at least for the uses they are put to presently, C gurus can explain to me how they differ).
|
157730 |
13-Apr-2006 |
imp |
Need at91rm9200_lowlevel.h for SDRAM_BASE definition.
|
157699 |
12-Apr-2006 |
imp |
Common register definition for AT91RM9200
|
157697 |
12-Apr-2006 |
imp |
Recovery boot loader for the AT91 family of processors. Download it via xmodem to the DBGU port when the AT91 comes up in recovery mode. The recovery loader will then load your program via xmodem into SDRAM at 1MB which can do its things. It needs to be tweaked to the specific board one is using, but it fits in < 1kB (all of Atmel's ARM products have at least 8kb of SRAM that I can tell, so this should work for them all).
Parts of this code were provided by Kwikbyte with copyright specifically disclaimed. I heavily modified it to act as a recovery loader (before it was a bootstrap loader) and to optimize for size (before I started the size was closer to 8k).
Bootstrap loaders for SPI and IIC to follow.
|
157669 |
11-Apr-2006 |
sobomax |
Merge in timeout into A20-enable routine from cdboot/boot1.
MFC after: 1 day
|
157668 |
11-Apr-2006 |
jhb |
Drop the gateA20() function in the loader as it is unused. All the other boot loaders that load the loader already handle A20. In fact, they are required to do so in order to setup the environment that btxldr expects.
|
157667 |
11-Apr-2006 |
jhb |
Minor whitespace tweak.
|
157664 |
11-Apr-2006 |
jhb |
Tweak comment.
|
157663 |
11-Apr-2006 |
jhb |
Use the proper condition to determine that we matched an filename. Otherwise, we could match on a filename that had the wrong last character (such as /boot/loaded instead of /boot/loader).
PR: kern/95625 Submitted by: Oliver Fromme <olli@secnetix.de> MFC after: 1 month
|
157652 |
11-Apr-2006 |
sobomax |
When enabling A20 put upper limit on amount of time we wait for the keyboard controller to get ready (65K x ISA access time, visually around 1 second). If we have wait more than that amount it's likely that the hardware is a legacy-free one and simply doesn't have keyboard controller and doesn't require enabling A20 at all.
This makes cdboot working for MacBook Pro with Boot Camp.
MFC after: 1 day
|
157339 |
31-Mar-2006 |
scottl |
Remove the USB keyboard hack now that KBDMUX is enabled by default. Allow it to be disabled if Safe Mode is selected.
|
156813 |
17-Mar-2006 |
ru |
Reimplementation of world/kernel build options. For details, see:
http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html
The src.conf(5) manpage is to follow in a few days.
Brought to you by: imp, jhb, kris, phk, ru (all bugs are mine)
|
156712 |
14-Mar-2006 |
jkim |
Export SMBIOS serial numbers by default. To turn it off, use 'BOOT_HIDE_SERIAL_NUMBERS' knob.
Suggested by: ceri
|
156558 |
10-Mar-2006 |
jkim |
Micro-optimize invalid UUID check.
|
156519 |
09-Mar-2006 |
jkim |
- Implement serial numbers, UUID, and asset tag (turned off by default). Use 'BOOT_SENSITIVE_INFO=YES' variable to turn them on. - Use 'uint*_t' instead of 'u_int*_t', correct compilation warnings, and update copyright while I am here.
|
154527 |
18-Jan-2006 |
marcel |
Remove ELF dynamic tag definitions that aren't used. Ideally, those that are used should come from <machine/elf.h>.
|
154491 |
17-Jan-2006 |
marcel |
s/R_IA64_/R_IA_64_/g as per the ia64 psABI.
|
154257 |
12-Jan-2006 |
marius |
In moduledir_readhints() cast the value returned by sizeof() to ssize_t when checking whether it's greater than a struct stat st_size in order to also catch the case when st_size is -1. Previously this check didn't trigger on sparc64 when st_size is -1 (as it's the case for a file on a bzipfs, TFTP server etc.), causing the content of the linker hints file to be copied to memory referenced by a null-pointer.
PR: 91231 MFC after: 1 week
|
153600 |
21-Dec-2005 |
nyan |
MFi386: revisions 1.34 and 1.36.
|
153599 |
21-Dec-2005 |
nyan |
MFi386: revision 1.8.
|
153598 |
21-Dec-2005 |
nyan |
MFi386: revision 1.46.
|
153589 |
21-Dec-2005 |
sobomax |
For the cases when loading bzip2-compressed kernels enabled use last 3MB of physical memory for heap instead of range between 1MB and 4MB. This makes this feature working with PAE and amd64 kernels, which are loaded at 2MB. Teach i386_copyin() to avoid using range allocated by heap in such case, so that it won't trash heap in the low memory conditions.
This should make loading bzip2-compressed kernels/modules/mfs images generally useable, so that re@ team is welcome to evaluate merits of using this feature in the installation CDs.
Valuable suggestions by: jhb
|
153551 |
20-Dec-2005 |
sobomax |
Unbreak pc98 after my last changes to i386.
|
153536 |
19-Dec-2005 |
sobomax |
If LOADER_BZIP2_SUPPORT is defined allocate heap in the 1MB-4MB range to provide enough room for decompression (up to 2.5MB is necessary). This should be safe to do since we load i386 kernels after 8MB mark now, so that 16MB is the minimum amount of RAM necessary to even boot FreeBSD.
This makes bzip2-support practically useable.
|
153535 |
19-Dec-2005 |
sobomax |
Long-long time ago, when the trees were large and memory expensive amount of memory directly available to loader(8) and friends was limited to 640K on i386. Those times have passed long time ago and now loader(8) can directly access up to 4GB of RAM at least theoretically. At the same time, there are several places where it's assumed that malloc() will only allocate memory within first megabyte.
Remove that assumption by allocating appropriate bounce buffers for BIOS calls on stack where necessary.
This allows using memory above first megabyte for heap if necessary.
|
153504 |
18-Dec-2005 |
marcel |
Make our ELF64 type definitions match standards. In particular this means: o Remove Elf64_Quarter, o Redefine Elf64_Half to be 16-bit, o Redefine Elf64_Word to be 32-bit, o Add Elf64_Xword and Elf64_Sxword for 64-bit entities, o Use Elf_Size in MI code to abstract the difference between Elf32_Word and Elf64_Word. o Add Elf_Ssize as the signed counterpart of Elf_Size.
MFC after: 2 weeks
|
152979 |
01-Dec-2005 |
ariff |
Add kernel module loading option for snd_atiixp(4).
|
152568 |
18-Nov-2005 |
ru |
-mdoc sweep.
|
152463 |
15-Nov-2005 |
ru |
Catch up with loader_color -> loader_logo and document beastie_disable.
|
152309 |
11-Nov-2005 |
pjd |
Rename GEOM class kernel module g_md.ko to geom_md.ko for consistency with the rest.
mdconfig.c: Simplify mdmaybeload() function. mdioctl.h: Removed (now unused) #define. loader.conf: Sort GEOM classes properly.
OK'ed by: phk
|
152307 |
11-Nov-2005 |
pjd |
Add more GEOM classes to defaults/loader.conf. Add references to manual pages to those already present.
Reviewed by: brueffer
|
151999 |
03-Nov-2005 |
ru |
Consistently use OPT_* macros to test/set boot options.
|
151882 |
30-Oct-2005 |
nyan |
MFi386: Enable beastie.4th.
|
151874 |
30-Oct-2005 |
scottl |
Add back some bits.
|
151873 |
30-Oct-2005 |
scottl |
Replace loader_color with loader_logo
|
151650 |
25-Oct-2005 |
marius |
- Add a workaround for the fact that OFW doesn't guarantee that devices can be opened multiple times simultaneously but we're expected to be able to do so by the rest of the loader. This fixes booting from disks attached to the on-board SCSI controller of Sun Ultra 1 (previously this triggered a trap) and probably also of AX1115 boards. - While here, remove unused variables and add empty lines where style(9) requires such.
Tested on: powerpc (grehan), sparc64 MFC after: 1 month
|
151649 |
25-Oct-2005 |
marius |
In ofw_parsedev() check the return value of malloc() and protect against a NULL pointer dereference when ofw_parsedev() is called with a NULL path argument.
Tested on: powerpc (grehan), sparc64
|
151507 |
20-Oct-2005 |
marius |
Use an ihandle_t to store the instance handle of an opened device instead of a phandle_t (package handle). Since both are typedefed to unsigned int, this is more or less cosmetic.
|
151496 |
20-Oct-2005 |
marius |
Remove unused variables.
|
151452 |
18-Oct-2005 |
jkim |
Export processor socket information. New environment variables are:
smbios.socket.enabled: number of enabled sockets smbios.socket.populated: number of populated sockets
|
151382 |
16-Oct-2005 |
sobomax |
Re-implement rev.1.76 with respect to the code size.
|
151381 |
16-Oct-2005 |
sobomax |
Backout previous commit - for some reason it overflows space constrains on amd64. Better version will follow.
|
151367 |
16-Oct-2005 |
sobomax |
Add new option `q', which makes second stage loader quiet unless autoboot is disabled or fails.
MFC after: 1 week
|
150751 |
30-Sep-2005 |
nyan |
MFi386: revision 1.33. > Cause all flags passed by boot2 to set the respective loader(8) > boot_* variable. The end effect is that all flags from boot2 > are now passed to the kernel.
|
150470 |
22-Sep-2005 |
ru |
Cause all flags passed by boot2 to set the respective loader(8) boot_* variable. The end effect is that all flags from boot2 are now passed to the kernel.
|
150469 |
22-Sep-2005 |
ru |
Add loader(8) variables for RB_DFLTROOT, RB_MUTE, and RB_PAUSE: "boot_dfltroot", "boot_mute", and "boot_pause" respectively.
|
150464 |
22-Sep-2005 |
ru |
- RBX_MASK wasn't updated when RB_PAUSE was changed from 0x40000 to 0x100000 in rev. 1.67.
- NOPT wasn't updated (decremented) in previous revision.
|
150127 |
14-Sep-2005 |
nyan |
Remove EPSON PC-386 note A/W/AE/WR support.
|
150073 |
13-Sep-2005 |
nyan |
MFi386: revision 1.11.
|
150072 |
13-Sep-2005 |
nyan |
MFi386: revisions 1.10 and 1.11. - Add '-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3' to CFLAGS.
|
149661 |
31-Aug-2005 |
glebius |
net.graph.ngqfreemax has been deprecated.
|
149213 |
18-Aug-2005 |
iedowse |
Add a "comconsole_speed" loader variable that can be used to change the serial console speed (i386 and amd64 only). If the previous stage boot loader requested a serial console (RB_SERIAL or RB_MULTIPLE) then the default speed is determined from the current serial port speed. Otherwise it is set to 9600 or the value of BOOT_COMCONSOLE_SPEED at compile time.
This makes it possible to set the serial port speed once in /boot.config and the setting will propagate to boot2, loader and the kernel serial console.
|
149212 |
18-Aug-2005 |
iedowse |
Add the ability to specify the boot2 serial console speed in /boot.config or on the "boot:" prompt line via a "-S<speed>" flag, e.g. "-h -S19200". This adds about 50 bytes to the size of boot2 and required a few other small changes to limit the size impact. This changes only affects boot2; there are further loader changes to follow.
|
149111 |
15-Aug-2005 |
marius |
- Change the code that determines whether to use a serial console and which serial device to use in that case respectively to not rely on the OFW names of the input/output and stdin/stdout devices. Instead check whether input and output refers to the same device and is of type serial (uart(4) was already doing this) and for the fallback to a serial console in case a keyboard is the selected input device but unplugged do the same for stdin and stdout in case the input device is nonexistent (PS/2 and USB keyboards) or has a 'keyboard' property (RS232 keyboards). Additionally also check whether the OFW did a fallback to a serial console in the same way in case the output device is nonexistent. While at it save on some variables and for sys/boot/sparc64/loader/metadata.c move the code in question to a new function md_bootserial() so it can be kept in sync with uart_cpu_getdev_console() more easily. This fixes selecting a serial console and the appropriate device when using a device path for the 'input-device' and 'output-device' OFW environment variables instead of an alias for the serial device to use or when using a screen alias that additionally denotes a video mode (like e.g. 'screen:r1024x768x60') but no keyboard is plugged in (amongst others). It also makes the code select a serial console in case the OFW did the same due to a misconfiguration like both 'input-device' and 'output-device' set to 'keyboard' or to a nonexisting device (whether the OFW does a fallback to a serial console in case of a misconfiguration or one ends up with just no console at all highly depends on the OBP version however). - Reduce the size of buffers that only ever need to hold the string 'serial' accordingly. Double the size of buffers that may need to hold a device path as e.g. '/pci@8,700000/ebus@5/serial@1,400000:a' exceeds 32 chars. - Remove the package handle of the '/options' node from the argument list of uart_cpu_getdev_dbgport() as it's unused there and future use is also unlikely.
MFC after: 1 week
|
148817 |
07-Aug-2005 |
krion |
Add if_arl_load, if_axe_load, if_aue_load, if_cs_load, if_cue_load, if_hme_load, if_nve_load, if_rue_load, if_udav_load to Networking Drivers section.
Submitted by: matteo
|
148798 |
06-Aug-2005 |
krion |
Add if_ath_load (default NO) in Networking Drivers section.
PR: conf/80870 Submitted by: Hasan Cana <vpb at albabsd dot org>
|
148767 |
06-Aug-2005 |
ssouhlal |
The kernel is usually at /boot/kernel/kernel nowadays.
PR: i386/81756 Submitted by: trasz <trasz@buziaczek.pl>
|
148516 |
29-Jul-2005 |
brian |
Fix a comparison that broke ``set console=vidconsole'' and even the loader.conf line ``console="vidconsole"''.
Sponsored by: ActiveState/Sophos MFC after: 1 week
|
148515 |
29-Jul-2005 |
brian |
Mention that console= can set multiple consoles. Relate boot_ options to their kernel command line flags and make it clear how kenv(1) is used.
Sponsored by: ActiveState/Sophos MFC after: 1 week
|
148450 |
27-Jul-2005 |
jkim |
Simplify SMBIOS loader variables and drop `hint.smbios.0.enabled'.
They are not real hints.
Reported by: des Pointed out by: peter Approved by: anholt (mentor)
|
148398 |
25-Jul-2005 |
jmg |
remove a pointless comment with a more helpful one...
Submitted by: Tobias Roth MFC after: 5 days
|
148319 |
22-Jul-2005 |
grehan |
Make code match comment: make the smallest unit of page allocation from OpenFirmware be 16 pages to avoid fragmentation in the list of mappings returned when the kernel requests it in pmap_bootstrap.
This allows a static buffer to be used when obtaining the existing mappings - very useful on the G5 when random physical pages can't be grabbed because they can't be BAT-mapped.
MFC after: 3 days
|
148046 |
15-Jul-2005 |
ache |
Add -mno-sse3 for prescott/nocona
|
148006 |
14-Jul-2005 |
jkim |
Scan static SMBIOS structures and export the following environment variables to loader:
hint.smbios.0.enabled "YES" when SMBIOS is detected
hint.smbios.0.bios.vendor BIOS vendor hint.smbios.0.bios.version BIOS version hint.smbios.0.bios.reldate BIOS release date
hint.smbios.0.system.maker System manufacturer hint.smbios.0.system.product System product name hint.smbios.0.system.version System version number
hint.smbios.0.planar.maker Base board manufacturer hint.smbios.0.planar.product Base board product name hint.smbios.0.planar.version Base board version number
hint.smbios.0.chassis.maker Enclosure manufacturer hint.smbios.0.chassis.version Enclosure version
These strings can be used to detect hardware quirks and to set appropriate flags. For example, Compaq R3000 series and some HP laptops require
hint.atkbd.0.flags="0x9"
to boot. See amd64/67745 for more detail.
Note: Please do not abuse this feature to resolve general problem when it can be fixed programmatically. This must be used as a last resort.
PR: kern/81449 Approved by: anholt (mentor)
|
147366 |
14-Jun-2005 |
ru |
Improved markup, fixes some spelling and grammar.
Approved by: re (blanket)
|
146976 |
04-Jun-2005 |
marcel |
Fix getsecs(). It was not counting the seconds right. The immediate and visible effect of the bug what that autoboot would boot a kernel after only a couple of seconds had passed instead of waiting the full 10 seconds it's supposed to wait by default. Add my copyright notice, since one was missing and I reimplemented the one and only function in this file.
MFC after: 1 week
|
146973 |
04-Jun-2005 |
marcel |
Fix delay(). The processor cycle counter is a 32-bit wrapping counter. Hence, mask off the upper 32 bits and deal with wrap-arounds.
MFC after: 1 week
|
146874 |
01-Jun-2005 |
obrien |
Temperarly disable building in the bzip2 support by default so we can fit on the i386 floppies. Sigh, I hate floppies.
|
146844 |
31-May-2005 |
jhb |
Add a missing const to alpha_setcurrdev() to quiet a warning.
|
146843 |
31-May-2005 |
jhb |
Change the type the buf arg to the strategy routines from void * to char * to quiet some warnings.
|
146842 |
31-May-2005 |
jhb |
Whitespace.
|
146840 |
31-May-2005 |
obrien |
Put bzip2 support on equal footing with gzip support. Enable bzip2 support by default, set LOADER_NO_BZIP2_SUPPORT to disable it.
Pointy hat to: sobomax
|
146828 |
31-May-2005 |
obrien |
Ensure GCC does not use FP registers in integer code. I really don't like cluttering up the compiler invocation, but this bigger hammer will fix reported problems for now.
|
146804 |
30-May-2005 |
ru |
Markup nits.
|
146698 |
27-May-2005 |
jhb |
- Add support to the loader for multiple consoles. - Teach the i386 and pc98 loaders to honor multiple console requests from their respective boot2 binaries so that the same console(s) are used in both boot2 and the loader. - Since the kernel doesn't support multiple consoles, whichever console is listed first is treated as the "primary" console and is passed to the kernel in the boot_howto flags.
PR: kern/66425 Submitted by: Gavin Atkinson gavin at ury dot york dot ac dot uk MFC after: 1 week
|
146697 |
27-May-2005 |
jhb |
Fix a warning by adding a missing 'const'.
MFC after: 1 week
|
146696 |
27-May-2005 |
jhb |
Print out the commands from /boot.config after parsing them so that they output is sent to the correct console(s).
PR: kern/66425 Submitted by: Gavin Atkinson gavin at ury dot york dot ac dot uk MFC after: 1 week
|
146593 |
24-May-2005 |
grehan |
Since the BAT mapping was removed a long time back, it can't be assumed that modules are contiguous in memory (they're not) so don't blindly __syncicache start/end. In fact, don't bother syncing the icache for modules since the kernel will do it after fixing up relocations.
This fixes the trap when loading modules at boot time.
Reported by: orlando at break dot net
|
146448 |
20-May-2005 |
charnier |
Remove unused variables. Remove prototype for function that does not exist.
|
146421 |
19-May-2005 |
sobomax |
Extend `autoboot_delay' handling - is this variable is set to -1 don't allow user to interrupt autoboot process at all. Currently, even when `autoboot_delay' is set to 0, loader(8) still allows autoboot process to be interrupted by pressing any key on the console when the loader reads kernel and modules from the disk. In some cases (i.e. untrusted environment) such behaviour is highly indesirable and user should not be allowed to interfere with the autoboot process at all.
Sponsored by: PBXpress Inc. MFC after: 3 days
|
146368 |
19-May-2005 |
grehan |
Change ofw_readin/ofw_copyin to map the entire region before copying, rather than a page at a time. This was creating far too many single-page mappings, and eventually OFW overflowed some internal data structure and refused to map any more. The new algorithm creates far less mappings and fixed a bug where multiple mappings for the same page would be created.
'Twas known this was a problem, but only became urgent when the install CD's mfs_root grew large enough to cause the overflow.
|
146365 |
19-May-2005 |
sobomax |
Whitespace only: kill trailing spaces.
|
146049 |
10-May-2005 |
nyan |
Change a directory layout for pc98. - Move MD files into <arch>/<arch>. - Move bus dependent files into <arch>/<bus>. Rename some files to more suitable names.
Repo-copied by: peter Discussed with: imp
|
146011 |
08-May-2005 |
nyan |
Remove ifdef PC98.
|
146010 |
08-May-2005 |
nyan |
Merged from libi386/biosdisk.c revisions 1.37 and 1.41.
|
146007 |
08-May-2005 |
nyan |
Use DOSMID_386BSD rather than DOSPTYP_386BSD.
|
145515 |
25-Apr-2005 |
ru |
Allow BOOT_BOOT0_COMCONSOLE_SPEED to be derived from BOOT_COMCONSOLE_SPEED at compile time.
|
145209 |
17-Apr-2005 |
wollman |
Pass the hostname we got from DHCP to the kernel so that machines can share a read-only NFS root.
|
145158 |
16-Apr-2005 |
njl |
Extend a local buffer to prevent an overflow of the XSDT address.
Submitted by: Joerg Sonnenberger Obtained from: DragonflyBSD MFC after: 1 day
|
145069 |
14-Apr-2005 |
nyan |
MFi386: revision 1.20.
|
144837 |
09-Apr-2005 |
stefanf |
Fix 'implicit int' instance.
|
144563 |
03-Apr-2005 |
imp |
Fix buidling of boot blocks for pc98 with new links.
Submitted by: nyan@
|
143661 |
15-Mar-2005 |
obrien |
Ensure GCC does not use FP registers in integer code. I think all we really need is -fno-sse2. I really don't like cluttering up the compiler invocation, but this bigger hammer will fix reported problems for now.
|
143476 |
12-Mar-2005 |
kan |
Allow kernels loaded by pxeboot, which was compiled with LOADER_TFTP_SUPPORT, to stll be able to mount NFS root as prescribed by DCHP configuration. Since pxeboot is using TFTP to get to the files, pxeboot can not rely on NFS to provide it a root directory hande as a side effect. pxeboot has to make RPC mount call itself.
|
143250 |
07-Mar-2005 |
stefanf |
Don't try to use 'typedef struct foo' if just 'struct foo' makes more sense and works on all compilers. This also removes the need for __CC_SUPPORTS_FORWARD_REFERENCE_CONSTRUCT in <sys/cdefs.h>.
OK'ed by: marcel, dfr
|
143176 |
06-Mar-2005 |
stefanf |
Fix typos in a comment.
|
143063 |
02-Mar-2005 |
joerg |
netchild's mega-patch to isolate compiler dependencies into a central place.
This moves the dependency on GCC's and other compiler's features into the central sys/cdefs.h file, while the individual source files can then refer to #ifdef __COMPILER_FEATURE_FOO where they by now used to refer to #if __GNUC__ > 3.1415 && __BARC__ <= 42.
By now, GCC and ICC (the Intel compiler) have been actively tested on IA32 platforms by netchild. Extension to other compilers is supposed to be possible, of course.
Submitted by: netchild Reviewed by: various developers on arch@, some time ago
|
143053 |
02-Mar-2005 |
marius |
Remove unused variables.
|
142012 |
17-Feb-2005 |
des |
Document the new default init_path.
Reminded by: ru MFC after: 2 weeks
|
142009 |
17-Feb-2005 |
des |
Add /rescue/init to the default init_path, before /stand/sysinstall.
MFC after: 2 weeks
|
141846 |
13-Feb-2005 |
ru |
Expand *n't contractions.
|
141540 |
08-Feb-2005 |
des |
Remove type 0x4 (FAT12 <32MB) to make room for type 0x7 (NTFS).
|
141060 |
30-Jan-2005 |
rwatson |
Insert an explicit McAfee license, as we use a stock two-clause BSD license rather than the slightly custom licence in ufsread.c.
|
139948 |
09-Jan-2005 |
peadar |
Only update the boot sector when there is a valid drive number provided. (After squeezing a few more bytes out of boot0)
Discussed With: jhb, julian PR: 66248 Submitted By: Hans Petter Selasky MFC After: 1 week
|
139738 |
05-Jan-2005 |
imp |
Start each of the license/copyright comments with /*-
|
139737 |
05-Jan-2005 |
imp |
Remove obsolete note about the boot loader not being ready for stable. It has been in stable for at least 5 years now.
|
139123 |
21-Dec-2004 |
ru |
NOFORTH -> NO_FORTH
|
139112 |
21-Dec-2004 |
ru |
NOSHARED -> NO_SHARED
|
139103 |
21-Dec-2004 |
ru |
Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by: core
|
138427 |
06-Dec-2004 |
imp |
The 'start' command processes loader.conf variables, not loader.rc. Fix comment to match.
|
138258 |
01-Dec-2004 |
scottl |
Fix a bunch of stack leaks. These were theoretically harmless, except that they would leave enough elements on the stack that if you escaped to the loader prompt and then typed 'setenv', it would pull in all of the leaked junk and cause an exception in the environment. There still seems to be 3 leaked elements, but they don't appear to be coming from this file.
|
138249 |
01-Dec-2004 |
scottl |
Remove the last vestiges of the userconfig option. None of this actually did anything, so this commit should be considered a NO-OP.
|
138223 |
30-Nov-2004 |
scottl |
Instead of just not defining a bunch of words when TESTMAIN is set, provide stubs that at least handle the stack correctly. This makes it much easier to experiment with loader scripts from userland.
|
138190 |
29-Nov-2004 |
nyan |
MFi386: revisions 1.77 and 1.78.
|
138189 |
29-Nov-2004 |
nyan |
MFi386: revision 1.38.
|
138186 |
29-Nov-2004 |
ru |
Pick up loader.rc from its old home.
|
138183 |
29-Nov-2004 |
scottl |
Disable the beastie menu. It offends some and annoys everyone else, and I'm frankly tired of the controversy. When people ask me why FreeBSD isn't user- friendly, I'll tell them that I tried. RIP.
|
138141 |
28-Nov-2004 |
marcel |
o Introduce efimd_va2pa() to translate addresses in efi_copy{in|out}() and efi_readin(). This removes MD code from copy.c. o Don't unconditionally add pal.S to SRCS. It's specific to ia64.
|
138140 |
28-Nov-2004 |
marcel |
Add efimd.c. This file contains MD code used by the EFI library. While changing the Makefile, fail the creation of loader.efi when there are unresolved symbols in loader.sym. This avoids silently creating a faulty EFI binary.
|
138048 |
24-Nov-2004 |
jhb |
- If the COMSPEED is set to 0, then don't try to initialize the serial port and assume that the BIOS has set it up for us. This allows folks with a serial-aware BIOS to set the BIOS to speeds above 9600 and allow boot0 to just use the existing settings. - Purge some gratuitous cpp comments as per style(9).
Submitted by: Danny Braniss danny at cs dot huji dot ac dot il (1) MFC after: 1 month
|
138046 |
24-Nov-2004 |
jhb |
Fix comments for serial I/O function prototypes that were broken in the assembler to cpp(1) comment conversions. This allows btx to compile again when BTX_SERIAL is defined.
Reported by: Danny Braniss danny at cs dot huji dot ac dot il MFC after: 1 month
|
138026 |
23-Nov-2004 |
marcel |
This file was repocopied to src/sys/boot/ia64/efi.
|
138004 |
23-Nov-2004 |
marcel |
Unhook the loader subdirectory. The ia64 EFI loader is now build under ../ia64/efi.
|
138003 |
23-Nov-2004 |
marcel |
Hookup the efi subdirectory.
|
138002 |
23-Nov-2004 |
marcel |
This file was repocopied from src/sys/boot/efi/loader. Updated for the new build location.
|
138001 |
23-Nov-2004 |
marcel |
Visit the efi subdirectory before we visit the machine-specific subdirectory so that the library built there can be used by the machine specific boot code.
|
137978 |
21-Nov-2004 |
marcel |
Remove struct ia64_itir and use a plain old uint64_t instead.
|
137667 |
13-Nov-2004 |
ru |
There's no reason for "read" and "echo" commands to not appear in the online command list.
|
137615 |
12-Nov-2004 |
ru |
Pass the "?" command output through the pager.
(This doesn't quite work as this command is overridden by Forth, and some Forth commands are appended to the output.)
|
137419 |
08-Nov-2004 |
peter |
Remove a pre-tier-1 kernel compatability helper. This means a 6.x loader won't boot a pre-5.1 development amd64 kernel. That's no big loss though.
|
137344 |
07-Nov-2004 |
krion |
Document "loader_color" variable.
PR: conf/73396 Submitted by: Aleksander Fafula <alex at fafula dot com> Approved by: scottl
|
137298 |
06-Nov-2004 |
keramida |
Clean up the comments, rewording, adding missing punctuation and other minor nits.
Approved by: jhb
|
137071 |
30-Oct-2004 |
brooks |
Add a loader menu option to set hint.atkbd.0.flags=0x1 which allows USB keyboards to work if no PS/2 keyboard is attached. The position in the menu was chosen to avoid moving option 6 (loader prompt). This should be a no-op on non-i386/amd64 machines.
|
136910 |
24-Oct-2004 |
ru |
For variables that are only checked with defined(), don't provide any fake value.
|
136895 |
24-Oct-2004 |
ru |
Collapse several adjacent .if's into .if/.elif.
|
136893 |
24-Oct-2004 |
nyan |
ELF64 support is not needed on pc98.
|
136892 |
24-Oct-2004 |
nyan |
MFi386: revision 1.4.
|
136891 |
24-Oct-2004 |
nyan |
MFi386: Set bi_basemem and bi_extmem variables. Respect RB_MULTIPLE flag.
|
136890 |
24-Oct-2004 |
nyan |
MFi386: Add support for preloading ELF relocatable object format modules.
|
136780 |
22-Oct-2004 |
simokawa |
Respect RB_MULTIPLE flag.
|
136779 |
22-Oct-2004 |
simokawa |
- Add FireWire subclass and OHCI interface. - Add some PCI BIOS function calls. (find_devclass, read_config, write_config)
|
136549 |
15-Oct-2004 |
imp |
document host_start_mem.
# feel free to wordsmith.
Suggested by: ru@
|
136548 |
15-Oct-2004 |
ru |
Polish the last change.
|
136525 |
15-Oct-2004 |
imp |
Document hw.{pci,acpi}.host_start_mem
Requested by: ru@
|
136144 |
05-Oct-2004 |
pjd |
Back out changes which were introduced to delay mounting root file system. Those changes were made on gmirror needs, but now gmirror handles this by itself.
|
136097 |
03-Oct-2004 |
stefanf |
Use the correct printf specifier.
PR: 47187
|
136036 |
01-Oct-2004 |
ru |
Document MD commands.
|
135999 |
01-Oct-2004 |
ru |
The "autoboot" command also has a third (optional) parameter.
|
135996 |
30-Sep-2004 |
ru |
Don't give instructions on how to disable ACPI in the MI section. For novice users, beastie.4th can just do it. Expert users can read ACPI instructions by typing "help ACPI".
|
135995 |
30-Sep-2004 |
ru |
Setting "kernel" to an absolute path is a bad idea because after loading such a kernel, "module_path" will be set to an insane value. Fixed example by providing an equivalent setting. For the record, when automatically loading a kernel (commands "boot" and "boot-conf"), the following is tried, in this order:
path=/boot/${kernel} file=${bootfile} path=/boot/${kernel} file=${kernel} path=${kernel} file=${bootfile} path=${kernel} file=${kernel} path=${module_path} file=${kernel}
|
135986 |
30-Sep-2004 |
ru |
Bring this file more up to date.
|
135980 |
30-Sep-2004 |
ru |
Retire now useless userconfig_script_*.
|
135975 |
30-Sep-2004 |
ru |
The value of $interpret is "OK", in uppercase.
|
135974 |
30-Sep-2004 |
ru |
Fixed the default value of the $prompt variable, document what happens if $prompt is unset.
|
135973 |
30-Sep-2004 |
ru |
Setting dump device from loader(8) has not been supported since 2002.
|
135970 |
30-Sep-2004 |
ru |
The default value of "bootfile" has been "kernel" since 2000.
|
135969 |
30-Sep-2004 |
ru |
Mention "help index" in the online help, and provide a help for the `?' command.
|
135968 |
30-Sep-2004 |
ru |
Added support for the -D boot option.
|
135967 |
30-Sep-2004 |
ru |
Document boot_cdrom, boot_multicons, and boot_serial. Reduce diffs between help.common and loader(8). Mention that boot_userconfig is currently a no-op.
|
135965 |
30-Sep-2004 |
ru |
`?' is not the same as "help index".
|
135929 |
29-Sep-2004 |
ru |
Fixed exiting from pager using the `q' key while paging "help index" or "help <topic>" with list of subtopics.
|
135729 |
24-Sep-2004 |
pjd |
Document vfs.root.mountdelay value.
Reminded by: ru
|
135702 |
24-Sep-2004 |
marcel |
Remove. This file was repocopied to ../ski.
|
135700 |
24-Sep-2004 |
marcel |
Replace misuse of NULL with 0UL.
|
135699 |
24-Sep-2004 |
marcel |
Remove the dependency on the Intel EFI headers in sys/boot/efi. Instead use <machine/efi.h> for the necessary definitions. This makes the EFI code in sys/boot/efi totally unused, except for pure EFI loaders. As such, maintenance and porting (to IA-32) of the EFI code is made as easy as possible.
|
135698 |
24-Sep-2004 |
marcel |
Unhook libski and skiload and hook up ski.
|
135697 |
24-Sep-2004 |
marcel |
Post repocopy build fixes.
|
135630 |
23-Sep-2004 |
marcel |
Redefine a PTE as a 64-bit integral type instead of a struct of bit-fields. Unify the PTE defines accordingly and update all uses.
|
135538 |
21-Sep-2004 |
wes |
Trap invalid sector size 0 in disk probe, refusing to add such a device to the list. This prevents crashes on /0 errors in 'lsdev' et al.
Reviewed-by: jhb@ MT5 after: RE approval
|
135442 |
18-Sep-2004 |
marcel |
Remove useless include of <machine/fpu.h>.
|
135410 |
18-Sep-2004 |
jhb |
A long, long time ago in a CVS branch far away (specifically, HEAD prior to 4.0 and RELENG_3), the BTX mini-kernel used paging rather than flat mode and clients were limited to a virtual address space of 16 megabytes. Because of this limitation, boot2 silently masked all physical addresses in any binaries it loaded so that they were always loaded into the first 16 Meg. Since BTX no longer has this limitation (and hasn't for a long time), remove the masking from boot2. This allows boot2 to load kernels larger than about 12 to 14 meg (12 for non-PAE, 14 for PAE).
Submitted by: Sergey Lyubka devnull at uptsoft dot com MFC after: 1 month
|
135409 |
18-Sep-2004 |
nyan |
MFi386: revision 1.56 (Add -fno-unit-at-a-time to CFLAGS).
|
134944 |
08-Sep-2004 |
kensmith |
Back out v1.24. v1.40 of sys/sparc64/sparc64/bus_machdep.c fixes the problem this hack was put in place for.
MFC to be done if the fix to bus_machdep.c is MFC-ed.
|
134459 |
29-Aug-2004 |
iedowse |
Add the loader side of support for preloading ELF relocatable object format modules, which are currently only used on the amd64 platform. This initial implementation just parses enough of the module to allow it to extract dependencies and load all the bits into the right place in memory, so the kernel must still do the full relocation and linking. The details of the loaded sections are passed to the kernel by supplying a copy of the ELF section header table as module metadata with the MODINFOMD_SHDR tag.
|
134458 |
28-Aug-2004 |
iedowse |
Separate out the ELF relocation code from the ELF loader, and add better relocation support for the amd64 and i386 platforms. This should not result in any change in functionality, but moves a step towards supporting the relocatable object file modules on amd64.
The same hack/trick as load_elf*.c uses is used here to simultaneously support both elf32 and elf64 on amd64 and i386.
|
134441 |
28-Aug-2004 |
iedowse |
Add a few helper functions for zeroing kernel space and reading from specified file offsets. Make use of these in load_elf.c.
|
134431 |
28-Aug-2004 |
yar |
Don't be too smart, just try packet mode of INT13 first. This way of operation is more robust than the "AI" used before.
Add flags to mbr accessible from make.conf as BOOT_MBR_FLAGS. Only one flag is defined now, "allow using packet mode", which is 0x80 in accord with the rest of i386 boot code. The "packet" flag is on by default.
PR: i386/70241 Submitted by: Valentin Nechayev <netch <@> netch.kiev.ua> (inital version) Discussed with: jhb (by Valentin Nechayev) Tested on: bochs (with EDD turned on or off by patching the BIOS), PCs
|
134430 |
28-Aug-2004 |
yar |
Try packet mode of INT13 on a hard disk first if not prohibited by the flag, fall back to the old INT13/AH=02 function if that fails. This way of operation is less likely to fail with modern BIOSes and large disks of strange geometries.
PR: i386/70241 Submitted by: Valentin Nechayev <netch <@> netch.kiev.ua> (inital version) Discussed with: jhb (by Valentin Nechayev) Tested on: bochs (with EDD turned on or off by patching the BIOS), PCs
|
134382 |
27-Aug-2004 |
yar |
B1FLAGS -> BOOT_BOOT1_FLAGS, which is consistent with naming of other boot-related make vars.
|
134357 |
27-Aug-2004 |
obrien |
In conjunction with having boot0cfg(8) default boot0 to packet mode.
Submitted by: Tor.Egge@cvsup.no.freebsd.org
|
134151 |
22-Aug-2004 |
maxim |
Trim EOL white spaces.
|
134150 |
22-Aug-2004 |
maxim |
Check a return code from read(2) correctly.
PR: kern/70815 Submitted by: info [at] haakh.de
|
134148 |
22-Aug-2004 |
marcel |
Part 2 of fixing the boot code: gcc 3.4 fixes.
The whole problem seems to be size. Which is odd, because it is said that size doesn't matter. Anyway... Add -Os to strategic places in the makefile to have the final loader be as mall as possible. This seems to be enough to make it work. For now... I think something is more fundamentally wrong; or something more fundamental is wrong. Potato, potaato.
|
134140 |
22-Aug-2004 |
marcel |
Part 1 of fixing the boot code: binutils 2.15 fixes.
The binutils 2.15 assembler now automaticly and non-optionally adds the .eh_frame section for unwind information. This section appears to wreck havoc to the final boot code. Fix this by using a special linker script that discards the .eh_frame sections, but is otherwise identical to the linker internal script used for -N.
Compiler used: gcc 3.3.5 Verified with: binutils 2.14 & binutils 2.15 (stock and in-tree) Tested with: /boot/loader & /boot/netboot
|
134039 |
19-Aug-2004 |
kensmith |
Temporary bandaid to help sparc64 systems with ATA disks boot. Recent changes to the ATA driver cause a kernel crash, no fault of the ATA code. Work is in progress to add the necessary feature to the sparc64 kernel and this commit will be backed out when it is complete. This bandaid is being put in mostly in the interests of getting the first release snapshot done and out the door.
Tested on: Ultra-10 exhibiting the insta-panic. MFC: Real Soon
|
133953 |
18-Aug-2004 |
grehan |
Remove NOMAN so loader man pages are installed.
Noticed by: ru
|
133948 |
18-Aug-2004 |
maxim |
Bump the manpage date.
Noticed by: ru
|
133947 |
18-Aug-2004 |
maxim |
Retire hw.pci.allow_unsupported_io_range.
PR: bin/70533 Submitted by: Gavin Atkinson
|
133862 |
16-Aug-2004 |
marius |
Instead of "OpenFirmware", "openfirmware", etc. use the official spelling "Open Firmware" from IEEE 1275 and OpenFirmware.org (no pun intended).
Ok'ed by: tmm
|
133420 |
10-Aug-2004 |
marcel |
Catch up with change to <machine/pte.h>.
|
133217 |
06-Aug-2004 |
jmg |
remove /boot/kernel from the default path.. There is already code that will prepend the current kernel booting... This prevents a problem of loading /boot/kernel's modules when a different kernel has no modules, but you left your module_load="YES" in loader.conf...
Reviewed by: dcs (minus the help part)
|
133154 |
05-Aug-2004 |
kan |
Move boot2 BSS zeroing into btx startup code out of boot1. boot1 does not have clear idea on boot2 BSS size and leaves portion of it not zeroed out. btxcsu.s is in much better position for this job.
Obtained from: DragonflyBSD (with minor adjustments)
|
132997 |
02-Aug-2004 |
grehan |
Add PowerPC bridge instruction flag to the assembler to help out with test code written in the loader.
|
132996 |
02-Aug-2004 |
grehan |
G5 support: handle the case where the OpenFirmware memory array uses 64 bits for the phys address, but only 32 for the virtual address.
|
132881 |
30-Jul-2004 |
nyan |
Fix new compiler error (s/bcopy/memcpy/).
|
132870 |
30-Jul-2004 |
kan |
Compile boot2 with -fno-unit-at-a-time. GCCs aggressive optimization breaks boot in spectacular ways otherwise.
|
132864 |
30-Jul-2004 |
kan |
Clean up local memcpy implementation to take void * parameters.
|
132854 |
29-Jul-2004 |
ceri |
Correct a documentation bug.
Approved by: jhb
|
132853 |
29-Jul-2004 |
ceri |
Correct typo in a comment.
Approved by: jhb
|
132764 |
28-Jul-2004 |
kan |
Define our own memcpy here instead of relying on GCC to provide one.
|
132437 |
20-Jul-2004 |
marcel |
o Support the REL32LSB relocation. It's in the ELF file from which we construct the EFI image. It doesn't seem to actually end up in the EFI image, AFAICT. o Replace .quad, .long and .short with data8, data4 and data2 resp. The former are gnuisms. o Redefine _start_plabel as a data16 with @iplt(_start) as its value. This is the preferred way to create user PLT entries.
|
132435 |
20-Jul-2004 |
marcel |
Fix the creation of EFI images that got broken by the import of binutils 2.15. The linker now creates a .rela.dyn section for dynamic relocations, while our script created a .rela section. Likewise, we copied the .rela section to the EFI image, but not the .rela.dyn section. The fix is to rename .rela to .rela.dyn in the linker script so that all relocations end up in the same section again. This we copy into the EFI image.
|
132248 |
16-Jul-2004 |
tanimura |
Rename snd_pcm as sound.
|
131840 |
08-Jul-2004 |
brian |
Change the following environment variables to kernel options:
bootp -> BOOTP bootp.nfsroot -> BOOTP_NFSROOT bootp.nfsv3 -> BOOTP_NFSV3 bootp.compat -> BOOTP_COMPAT bootp.wired_to -> BOOTP_WIRED_TO
- i.e. back out the previous commit. It's already possible to pxeboot(8) with a GENERIC kernel.
Pointed out by: dwmalone
|
131814 |
08-Jul-2004 |
brian |
Change the following kernel options to environment variables:
BOOTP -> bootp BOOTP_NFSROOT -> bootp.nfsroot BOOTP_NFSV3 -> bootp.nfsv3 BOOTP_COMPAT -> bootp.compat BOOTP_WIRED_TO -> bootp.wired_to
This lets you PXE boot with a GENERIC kernel by putting this sort of thing in loader.conf:
bootp="YES" bootp.nfsroot="YES" bootp.nfsv3="YES" bootp.wired_to="bge1"
or even setting the variables manually from the OK prompt.
|
131811 |
08-Jul-2004 |
grehan |
Use a linker script for the loader. This avoids issues with command-line options, such as misaligning the data segment. Exposed by the limited PearPC OFW ELF loader, but a good thing in general.
|
131785 |
08-Jul-2004 |
grehan |
Remove cache flush, 256Mb 1:1 BAT mapping, and BAT clearing. This doesn't work on a G5 (no BAT registers) or on PearPC (dBAT3 used for mapping the framebuffer and BATs not re-inited on OpenFirmware calls).
It also hid a number of bugs.
|
131783 |
08-Jul-2004 |
grehan |
All hell breaks loose if the loader image is released before jumping to the kernel. Another bug exposed by removing the 1:1 BAT mapping. Sparc64 doesn't do this either.
Compile tested on: panther (sparc64). Code built, but not used, on sparc64.
|
131782 |
08-Jul-2004 |
grehan |
Correctly calculate size of memory to be mapped when copying. Removal of the 256Mb 1:1 BAT mapping exposed this as copying into memory that hadn't been claimed from OpenFirmware.
compiled-tested on: panther (sparc64). Code built, but not used, on sparc64
|
131781 |
08-Jul-2004 |
grehan |
Extract entry point from elf header before releasing the heap. This caused a data-miss trap when the BAT init code was removed on PPC.
Compile tested on: panther (sparc64). Code built, but not used, on sparc64.
|
131754 |
07-Jul-2004 |
ru |
mdoc(7) fixes.
|
131575 |
04-Jul-2004 |
stefanf |
Consistently use __inline instead of __inline__ as the former is an empty macro in <sys/cdefs.h> for compilers without support for inline.
|
131489 |
02-Jul-2004 |
ru |
Fixed what appeared to be a hard sentence break.
|
131393 |
01-Jul-2004 |
ps |
When building a kernel or the loader, let the hostname be overridden
|
131068 |
24-Jun-2004 |
josef |
Remove the entry for configuring pcm0 mixer channels. This is accomplished via device.hints now.
|
130945 |
22-Jun-2004 |
brueffer |
Throw out pfsync and pflog, the modules were removed
|
130943 |
22-Jun-2004 |
jhb |
Update the copyright to use a 3 clause BSD license rather than one that is less clear about allowing redistribution of modified copies.
Requested by: Tom Cosgrove tom dot cosgrove at arches-consulting dot com
|
130942 |
22-Jun-2004 |
jhb |
Remove a bogus increment of %di when scanning the list of loader paths. %di will already point to the character after the nul char when the 'repnz scasb' terminates.
Submitted by: Tom Cosgrove tom dot cosgrove at arches-consulting dot com
|
130793 |
20-Jun-2004 |
josef |
Document the possibility of setting default values for mixer channels via boot loader.
|
130632 |
17-Jun-2004 |
phk |
Save a couple of bytes for the SIO case.
|
130630 |
17-Jun-2004 |
phk |
Fix another beak.
Seen by: pjd
|
130603 |
16-Jun-2004 |
phk |
Unspam sys/boot, the dev_t commit should not have touched these.
Spotted by: peter
|
130601 |
16-Jun-2004 |
phk |
My new keyboard can't spell.
|
130585 |
16-Jun-2004 |
phk |
Do the dreaded s/dev_t/struct cdev */ Bump __FreeBSD_version accordingly.
|
130579 |
16-Jun-2004 |
phk |
Premptively fix GCC3.4 issue: add break; after empty default: clauses.
PR: 65493 Submitted by: Pawel Worach <sajd@telia.com>
|
130343 |
11-Jun-2004 |
phk |
Merge boot0 and boot0sio so they behave the same.
|
129993 |
02-Jun-2004 |
phk |
Some embedded platforms have no keyboard controller. Give up waiting for it to react after a timeout.
|
129702 |
25-May-2004 |
njl |
Use the correct location of the EBDA for searching for the RSDP. The EBDA is the 1 KB area addressed by the 16 bit pointer at 0x40E.
Pointed out by: robert.moore AT intel.com
|
129310 |
16-May-2004 |
ru |
Markup fixes.
|
129269 |
16-May-2004 |
cognet |
Try harder not to compile anything in sys/boot for arm. I wonder how buildworld ever worked for me...
|
129240 |
14-May-2004 |
ru |
Back out last revision that unnecessarily changed valid assembler line comments and damaged the CVS history.
Prompted by: bde, jhb
|
129239 |
14-May-2004 |
ru |
Partly back out last revision that unnecessarily changed valid assembler line comments and damaged the CVS history.
Prompted by: bde, jhb
|
129218 |
14-May-2004 |
cognet |
Do not attempt to build anything in sys/boot for arm.
|
129195 |
14-May-2004 |
jdp |
Fix a potential stack buffer overflow on systems whose ACPI OEMID fills its field (6 characters). In that case the OEMID is not null-terminated, and the sprintf that was used would copy up to the next null byte, which could be pretty far away.
|
128741 |
29-Apr-2004 |
ru |
Convert block comments into C-style that is understood by cpp(1). Keep line comments in assembler style. A few lines that match the '^[[:space:]]+#' regexp still need to be fixed, somehow.
OK'ed by: bde, jhb
|
128736 |
29-Apr-2004 |
nyan |
MFi386: revisions from 1.15 to 1.17.
|
128735 |
29-Apr-2004 |
nyan |
MFi386: revisions from 1.16 to 1.18.
|
128725 |
28-Apr-2004 |
ru |
Thanks to David's patches, we can now simplify these makefiles further, and just use PROG directly (without FILES).
Suggested by: bde
|
128724 |
28-Apr-2004 |
ru |
Properly merge boot0sio.s and boot0.s into boot0.S.
|
128723 |
28-Apr-2004 |
ru |
Switch to using C99 comments in assembler preprocessed with cpp(1).
|
128722 |
28-Apr-2004 |
ru |
- Properly merge boot0sio.s and boot0.s into boot0.S. boot0sio.s was repo-copied to boot0.S.
- Rename boot0ext.s to boot0ext.S, to stay consistent with other preprocessed asm files around here, and for better portability.
Repocopied by: joe
|
128718 |
28-Apr-2004 |
ru |
Temporary precaution measure until repocopy requests are processed: don't forget to clean generated .s sources.
|
128716 |
28-Apr-2004 |
ru |
After talking to Bruce Evans and reading more standards specs, switch to using C99-style comments everywhere in preprocessed assembler. The reason is that lines starting with the regexp '^[[:space:]]#' are treated as preprocessing directives, and while it seems to work now with GCC, it's not necessarily has to work. Use C99 comments `//' for the trailing comments to save whitespace.
|
128710 |
28-Apr-2004 |
ru |
MFi386: Use C (and CPP) style comments for assembler-with-cpp sources, for lines that start with a comment.
|
128709 |
28-Apr-2004 |
ru |
Use C (and CPP) style comments for assembler-with-cpp sources, for lines that start with a comment.
|
128708 |
28-Apr-2004 |
ru |
Use C (and CPP) style comments for assembler-with-cpp sources, for lines that start with a comment.
|
128707 |
28-Apr-2004 |
ru |
- Use C (and CPP) style comments for assembler-with-cpp sources, for lines that start with a comment. - Preserve as(1) style comments for the rest.
|
128694 |
27-Apr-2004 |
ru |
Removed now redundant CLEANFILES assignments.
Not read enough of my patch by: obrien ;)
|
128691 |
27-Apr-2004 |
phk |
Change from '#' to "//" comment character to allow CPP preprocessing.
Merge boot0.s and boot0sio.s into boot0_512.s controlled by "#ifdef SIO".
Add Makefile magic to generate boot0.s and boot0sio.s from boot0_512.s.
The compile boot0 and boot0sio have unchanged MD5 checksums.
|
128651 |
25-Apr-2004 |
obrien |
Use a more compact syntax for passing the "binary" options to 'ld'.
|
128649 |
25-Apr-2004 |
obrien |
Simplify the building of our i386 'binary' boot components by directly producing them using 'ld' options rather than post-processing with 'objcopy'.
Idea by: Ryan Sommers <ryans@gamersimpact.com>
|
128471 |
20-Apr-2004 |
obrien |
Fix a last second typo in 'vi' that caused a problem.
|
128451 |
20-Apr-2004 |
obrien |
White space style cleanup.
|
128441 |
19-Apr-2004 |
obrien |
MFp4: merge version #5 of the 2-sector boot0 from the "jhb boot" branch.
|
128280 |
15-Apr-2004 |
cperciva |
s/atspeaker/speaker/ cf. revision 1.2 of src/sys/modules/speaker/Makefile
PR: conf/65195 Submitted by: daichi
|
128019 |
07-Apr-2004 |
imp |
Remove advertising clause from University of California Regent's license, per letter dated July 22, 1999 and email from Peter Wemm, Alan Cox and Robert Watson.
Approved by: core, peter, alc, rwatson
|
127919 |
05-Apr-2004 |
imp |
Remove advertising clause from University of California Regent's license, per letter dated July 22, 1999.
Approved by: core
|
127826 |
04-Apr-2004 |
marcel |
To quote the submitter: "...If "keyboard" is the selected input-device and "screen" the output-device (both via /options) but the keyboard is unplugged, OF automatically switches to ttya for the console, it even prints a line telling so on "screen". Solaris respects this behaviour and uses ttya as the console in this case and people probably expect FreeBSD to do the same (it's also very handy to temporarily switch consoles)..." "...I changed the comparison of the console device with "ttya" || "ttyb" to "tty" because on AXe boards all 4 onboard UARTs end in SUB-D connectors (ttya and ttyb being 16550 and ttyc and ttyd a SAB82532) and there's no Sun keyboard connector (but PS/2). If one plugs a serial card in a box there also can be more than just ttya and ttyb available for a console..."
Submitted by: Marius Strobl <marius@alchemy.franken.de> Has no doubt that the change is correct: marcel
|
127789 |
03-Apr-2004 |
le |
mdoc fix: put the end-of-list macro after the last list element.
Approved by: grog (mentor)
|
127458 |
26-Mar-2004 |
obrien |
Bring back jhb's two sector (1024 bytes) 'boot0' [rev 1.22] as 'boot0ext'.
|
127417 |
25-Mar-2004 |
jhb |
Enable splitfs in the Alpha boot loaders.
|
126970 |
14-Mar-2004 |
nyan |
MFi386: revision 1.29.
|
126969 |
14-Mar-2004 |
nyan |
MFi386: revision 1.76.
|
126958 |
14-Mar-2004 |
bde |
Fixed misspellings of 0 as NULL.
|
126891 |
12-Mar-2004 |
trhodes |
These are changes to allow to use the Intel C/C++ compiler (lang/icc) to build the kernel. It doesn't affect the operation if gcc.
Most of the changes are just adding __INTEL_COMPILER to #ifdef's, as icc v8 may define __GNUC__ some parts may look strange but are necessary.
Additional changes: - in_cksum.[ch]: * use a generic C version instead of the assembly version in the !gcc case (ASM code breaks with the optimizations icc does) -> no bad checksums with an icc compiled kernel Help from: andre, grehan, das Stolen from: alpha version via ppc version The entire checksum code should IMHO be replaced with the DragonFly version (because it isn't guaranteed future revisions of gcc will include similar optimizations) as in: ---snip--- Revision Changes Path 1.12 +1 -0 src/sys/conf/files.i386 1.4 +142 -558 src/sys/i386/i386/in_cksum.c 1.5 +33 -69 src/sys/i386/include/in_cksum.h 1.5 +2 -0 src/sys/netinet/igmp.c 1.6 +0 -1 src/sys/netinet/in.h 1.6 +2 -0 src/sys/netinet/ip_icmp.c
1.4 +3 -4 src/contrib/ipfilter/ip_compat.h 1.3 +1 -2 src/sbin/natd/icmp.c 1.4 +0 -1 src/sbin/natd/natd.c 1.48 +1 -0 src/sys/conf/files 1.2 +0 -1 src/sys/conf/files.amd64 1.13 +0 -1 src/sys/conf/files.i386 1.5 +0 -1 src/sys/conf/files.pc98 1.7 +1 -1 src/sys/contrib/ipfilter/netinet/fil.c 1.10 +2 -3 src/sys/contrib/ipfilter/netinet/ip_compat.h 1.10 +1 -1 src/sys/contrib/ipfilter/netinet/ip_fil.c 1.7 +1 -1 src/sys/dev/netif/txp/if_txp.c 1.7 +1 -1 src/sys/net/ip_mroute/ip_mroute.c 1.7 +1 -2 src/sys/net/ipfw/ip_fw2.c 1.6 +1 -2 src/sys/netinet/igmp.c 1.4 +158 -116 src/sys/netinet/in_cksum.c 1.6 +1 -1 src/sys/netinet/ip_gre.c 1.7 +1 -2 src/sys/netinet/ip_icmp.c 1.10 +1 -1 src/sys/netinet/ip_input.c 1.10 +1 -2 src/sys/netinet/ip_output.c 1.13 +1 -2 src/sys/netinet/tcp_input.c 1.9 +1 -2 src/sys/netinet/tcp_output.c 1.10 +1 -1 src/sys/netinet/tcp_subr.c 1.10 +1 -1 src/sys/netinet/tcp_syncache.c 1.9 +1 -2 src/sys/netinet/udp_usrreq.c
1.5 +1 -2 src/sys/netinet6/ipsec.c 1.5 +1 -2 src/sys/netproto/ipsec/ipsec.c 1.5 +1 -1 src/sys/netproto/ipsec/ipsec_input.c 1.4 +1 -2 src/sys/netproto/ipsec/ipsec_output.c
and finally remove sys/i386/i386 in_cksum.c sys/i386/include in_cksum.h ---snip--- - endian.h: * DTRT in C++ mode - quad.h: * we don't use gcc v1 anymore, remove support for it Suggested by: bde (long ago) - assym.h: * avoid zero-length arrays (remove dependency on a gcc specific feature) This change changes the contents of the object file, but as it's only used to generate some values for a header, and the generator knows how to handle this, there's no impact in the gcc case. Explained by: bde Submitted by: Marius Strobl <marius@alchemy.franken.de> - aicasm.c: * minor change to teach it about the way icc spells "-nostdinc" Not approved by: gibbs (no reply to my mail) - bump __FreeBSD_version (lang/icc needs to know about the changes)
Incarnations of this patch survive gcc compiles since a loooong time, I use it on my desktop. An icc compiled kernel works since Nov. 2003 (exceptions: snd_* if used as modules), it survives a build of the entire ports collection with icc.
Parts of this commit contains suggestions or submissions from Marius Strobl <marius@alchemy.franken.de>.
Reviewed by: -arch Submitted by: netchild
|
126837 |
11-Mar-2004 |
bde |
Fixed a misspelling of 0 as NULL.
|
126764 |
09-Mar-2004 |
marcel |
Reset the text attributes when initializing the console. The EFI loader typically doesn't do this so that we end up booting the with whatever the EFI loader has set it to last.
|
126455 |
01-Mar-2004 |
des |
While I'm here, add linprocfs (but not pseudofs, since it is no use on its own)
|
126453 |
01-Mar-2004 |
des |
Add acpi_video_load (default NO) in the ACPI section
|
126312 |
27-Feb-2004 |
ru |
For some reason crt0.o needs to be linked first for pxeboot(8) to work. This is odd because loader(8) doesn't suffer from this problem. Perhaps pxeboot bootstrap can be fixed to handle this better. Anyway, PXE booting should work again.
|
126263 |
26-Feb-2004 |
mlaier |
Tweak existing header and other build infrastructure to be able to build pf/pflog/pfsync as modules. Do not list them in NOTES or modules/Makefile (i.e. do not connect it to any (automatic) builds - yet).
Approved by: bms(mentor)
|
125932 |
17-Feb-2004 |
ru |
Re-add sio.S, and properly deal with assembler files.
Repocopied by: joe
|
125901 |
16-Feb-2004 |
obrien |
Fix the AMD64 build: this file shouldn't exist.
|
125837 |
15-Feb-2004 |
simon |
mdoc(7) janitor: - Fix hard sentence breaks. - Quote argument to the Nd macro. - Use Pa for filenames.
|
125795 |
14-Feb-2004 |
njl |
Fix hw.acpi.os_name by renaming it to hw.acpi.osname. The "_name" suffix is reserved by the loader, and thus any tunable name with that suffix will be silently discarded.
Document this in the header and man page so that other developers do not develop so many bumps on the head after banging it against the wall.
Detective work by: Mark Santcroos, grehan
|
125780 |
13-Feb-2004 |
nyan |
MFi386: Get rid of unnecessary use of m4(1) by using cpp(1) instead.
Repocopied by: joe
|
125779 |
13-Feb-2004 |
nyan |
MFi386: revisions 1.74 and 1.75. - kzip(8) is long dead. - Clean CLEANFILES.
|
125778 |
13-Feb-2004 |
nyan |
MFi386: revision 1.20 (don't strip kgzldr.o)
|
125767 |
13-Feb-2004 |
marcel |
Don't create a mapfile during link. It's not needed for the build.
|
125766 |
13-Feb-2004 |
marcel |
o Don't build with -fpic. It's not needed and inconsistent with how other constributions are compiled. o Remove powerpc specific additions to CFLAGS.
|
125753 |
12-Feb-2004 |
ru |
Fixed the fatal bug introduced in previous commit: don't strip kgzldr.o -- kgzipping with such a loader produces bad images.
|
125751 |
12-Feb-2004 |
ru |
Clean CLEANFILES.
|
125729 |
12-Feb-2004 |
ru |
Tidy up makefiles.
Tested by: marcel
|
125722 |
11-Feb-2004 |
ru |
kzip(8) is long dead.
|
125719 |
11-Feb-2004 |
ru |
Overhaul makefiles.
|
125717 |
11-Feb-2004 |
ru |
_start.S -> _start.s as the latter is pure asm file.
Repocopied by: joe
|
125693 |
11-Feb-2004 |
ru |
Get rid of unnecessary use of m4(1) by using cpp(1) instead. (John tells me there were problems when trying this before, but it appears to be safe these day.)
OK'ed by: jhb Repocopied by: joe
|
125674 |
10-Feb-2004 |
ru |
Since loader(8) on SPARC64 is a pure ELF executable (as opposed to other architectures), there is no reason not to strip(1) it.
Tested by: kensmith
|
125634 |
09-Feb-2004 |
grehan |
Loader makefile cleanup.
Submitted by: ru
|
125625 |
09-Feb-2004 |
nyan |
MFi386: Factor out -nostdlib and use PROG.
|
125622 |
09-Feb-2004 |
ru |
MFi386.
- Factor out common settings and put them in an upper level Makefile.inc. - Properly use PROG for real programs, not their products. - Further reduce diffs to i386 versions.
Tested on: sparc64 (panther)
|
125621 |
09-Feb-2004 |
ru |
- Factor out -nostdlib to an upper level Makefile.inc.
- Now that bsd.prog.mk deals with programs linked with -nostdlib better, and has a notion of an "internal" program, use PROG where possible. This has a good impact on the contents of .depend files and causes programs to be linked with cc(1).
XXX: boot2 couldn't be converted as it's actually two programs.
Tested on: i386, amd64
|
125581 |
07-Feb-2004 |
ru |
Argh, unbreak "make depend" for AMD64.
Reported by: kris
|
125567 |
07-Feb-2004 |
ru |
MFi386: Removed -elf and duplicate -ffreestanding.
|
125566 |
07-Feb-2004 |
ru |
- Removed -elf which is not a valid gcc(1) option anymore. - Removed -ffreestanding; it's enforced by ../Makefile.inc.
|
125564 |
07-Feb-2004 |
ru |
Generate .depend file.
|
125563 |
07-Feb-2004 |
nyan |
MFi386: Cleanups to sys/boot makefiles.
|
125561 |
07-Feb-2004 |
ru |
Style: use the defined() expression explicitly.
|
125556 |
07-Feb-2004 |
ru |
Untangle building of AMD64 boot code.
Tested on: amd64 (sledge)
|
125537 |
06-Feb-2004 |
ru |
First round of cleanups to sys/boot/ makefiles:
- do not use PROG for what's not a real C program, - use sys.mk transformation rules where possible, - only create the "machine" symlink on AMD64, - removed MAINTAINER lines in individual makefiles, - added the LIBSTAND defitinion to <bsd.libnames.mk>, - somewhat better contents in .depend files.
Tested on: i386, amd64 Prodded by: bde
|
125517 |
06-Feb-2004 |
ru |
Inherit BINDIR from a parent Makefile.inc.
|
125516 |
06-Feb-2004 |
ru |
Only include ../Makefile.inc once in loader/Makefile.
|
125127 |
28-Jan-2004 |
nyan |
MFi386: revision 1.33
PR: kern/62005
|
125117 |
27-Jan-2004 |
schweikh |
Sync with Oxford Dictionary. Style (add missing full stops) while I'm here.
|
125091 |
27-Jan-2004 |
des |
Rename the kern.vm.kmem.size tunable to the more logical vm.kmem_size. To assure backward compatibility (conditional on !BURN_BRIDGES), look it up by its old name first, and log a warning (but accept the setting) if it was found. If both the old and new name are defined, the new name takes precedence.
Also export vm.kmem_size as a read-only sysctl variable; I find it hard to tune a parameter when I don't know its default value, especially when that default value is computed at boot time.
|
124818 |
21-Jan-2004 |
jhb |
If a transfer to or from a floppy disk crosses a 64k boundary, we have to use a bounce buffer for the actual transfer to avoid crossing a 64k boundary. To do this, we malloc a buffer twice as big as we need and then find an aligned block within that buffer to do the transfer. The check to see which part of the block we use used the wrong variable for part of the condition meaning that in certain edge cases we would ask the BIOS to cross a 64k boundary. The BIOS request would then fail resulting in file transfers that just magically fail in the middle without any apparent reason. Specifically, my tests for the splitfs boot floppies managed to trigger this edge case.
MFC after: 1 week X-MFC-info: along with fixes to libstand filesystems
|
124648 |
18-Jan-2004 |
nyan |
PC98 uses the different frame code.
|
124647 |
18-Jan-2004 |
nyan |
Fix to support KANA and graphics characters which code are over 0x80.
|
124445 |
12-Jan-2004 |
jhb |
- Use constant for shift when converting file length in bytes to a sector count. - Fix the twiddle output so that it actually spins. - Save %cx around BIOS calls to read in sectors from the disc as at least one BIOS trashes %cx when called to read off of a USB CD-ROM drive.
Submitted by: Martin Nilsson <martin@gneto.com> MFC after: 1 week
|
124306 |
09-Jan-2004 |
scottl |
Disable the APIC when selecting the 'Safe Mode' option of the loader. This will disable both APIC interrupt routing and SMP.
|
124179 |
06-Jan-2004 |
obrien |
Allow one to specify the com port settings for boot0sio.
|
124140 |
04-Jan-2004 |
obrien |
Convert to __FBSDID.
|
124139 |
04-Jan-2004 |
obrien |
Convert to __FBSDID.
|
123703 |
21-Dec-2003 |
grehan |
- Add ':' as a separator between the OpenFirmware device space and the file path. Commonly used on Macs e.g. "hd:9". - Update the ofw_setcurrdev routine to match libstand setenv prototype
Not objected to by: sparc64
|
123702 |
21-Dec-2003 |
grehan |
Make __elfN(ofw_loadfile) match parameter declaration for file_format in boot/common/bootstrap.h. Having a 32-bit size when a 64-bit param is declared wreaks havoc on PPC.
Not objected to by: sparc64
|
123701 |
21-Dec-2003 |
grehan |
Only print out an error if returned data size is < 0. A value of 0 happens almost every time at the end of a file when using NFS.
No objection by: sparc64
|
123700 |
21-Dec-2003 |
grehan |
Use daddr_t instead of u_long for byte offset in strategy routine to avoid >4G truncation on 32-bit systems.
no objection by: sparc64
|
123699 |
21-Dec-2003 |
grehan |
- use correct pointer arithmetic in heapsize calculation - handle multiple Ofw memory regions when determining mem size - allow currdev to be set as a loader command-line option. parse() is used to allow future options to be processed.
|
123476 |
11-Dec-2003 |
jhb |
- Change the lookup() function to report success or failure using the carry flag rather than explicitly halting if a lookup failed. - Add a loop around the call to lookup() to traverse an array of nul-terminated strings for possible paths to the boot loader. A double nul character denotes the end of the list. - Add a new message to say that the boot failed if all of the path lookups for a boot loader file failed. - Add '/boot/loader' as a second boot path. If you build an ISO using risky options to mkisofs such as -U then the loader will be called '/boot/loader' rather than '/BOOT/LOADER;0'. This allows cdboot to work with such risky ISO images. - Bump version to 1.2 to denote added functionality.
The basic idea as well as some of the code were provided by the submitter, but I added some extra code to use a loop rather than hard-code just 2 possible paths.
PR: misc/43543 Submitted by: kientzle MFC after: 1 week
|
123470 |
11-Dec-2003 |
jhb |
Properly fix a typo that the previous revision made even worse.
|
123399 |
10-Dec-2003 |
jhb |
Fix typo in comment.
|
123377 |
10-Dec-2003 |
grehan |
Enable FICL build on powerpc
|
123376 |
10-Dec-2003 |
grehan |
Update libstand filesystems to be in-line with tier-1 platforms.
|
123375 |
10-Dec-2003 |
grehan |
- Bring Makefile up to rev with sparc64 in terms of config options and rules - Move loader relocation up to 0x1C00000. This is in line with OSX bootx, and allows more space for boot-time modules/ramdisks without conflicting with OpenFirmware's use of RAM
|
123374 |
10-Dec-2003 |
grehan |
Disable floating point on PowerPC for the ficl library.
|
123373 |
10-Dec-2003 |
grehan |
Define 'arch-powerpc'
|
123372 |
10-Dec-2003 |
grehan |
FICL system-dependent files for powerpc. Taken from the i386 versions, which were the most relevant.
|
123343 |
09-Dec-2003 |
marcel |
Fix the build of libski now that we use the "official" MADT table definitions. Those are slightly different than the ones we used before ACPI-CA 20031203 got imported. No structural or functional change.
|
123336 |
09-Dec-2003 |
obrien |
Sync these two files.
|
123302 |
08-Dec-2003 |
obrien |
Hook boot0sio to the build. Use 'boot0cfg -b /boot/boot0sio' to use.
|
123301 |
08-Dec-2003 |
bms |
Add a serial console capable version of the FreeBSD boot manager. This has been lying around my tree(s) for the past year or so. It could do with TLC.
Requested by: obrien Sponsored by: Weyland-Yutani Corporation
|
122942 |
21-Nov-2003 |
dcs |
With the beastie menu a problem was introduced in which selecting a different kernel to boot with kernel="NAME" would load the kernel and loader.conf-selected modules from /boot/NAME, but it would not change module_path. So, for instance, the automatically loaded acpi.ko would come from /boot/kernel/acpi.ko, *always*.
Mind you, this happened for unassisted boot. If you interrupted, typed "unload" and then "boot NAME", it would Do The Right Thing.
The source of the problem is the double initialization with beastie's loader.rc. One would happen inside "start", and would load the kernel. The next one would happen later in the loader.rc script, resetting module_path.
Because module_path is set to the Right Value by the functions in support.4th that actually load the kernel, when beastie.4th proceeded to boot module_path would remain wrong, as the kernel was already loaded.
This can be corrected by removing either initialization, and also by changing the command used by beastie.4th from "boot" to "boot-conf", which makes sure you use the right kernel and modules.
I chose to remove the second initialization, since this let you interrupt (or confirm) boot before beastie even comes up. I avoid also doing the boot-conf change because that would simply cause the kernel and modules to be loaded twice (in fact, that was my original patch, until, in writing this very commit message, I saw the error of my ways).
This commit changes the semantics of module loading when using the beastie menu. Now it does what one would expect it to, but not what it was actually doing, so something may break for unusual setups depending on broken behavior. As our japanese friends so nicely put it, shikata ga nakatta. :-)
Approved by: re (scottl)
|
122923 |
20-Nov-2003 |
jhb |
Update the size of the OS string table that wasn't updated in the previous commit that removed the UNIX entry.
Submitted by: Rudolf Cejka <cejkar@fit.vutbr.cz> Approved by: re (rwatson)
|
122806 |
16-Nov-2003 |
phk |
When rebooting the machine jump to 0xf000:0xfff0 instead of 0xffff:0x0.
While we end up the same place, we end up with two different CS register values after the jump and 0xf000 is compatible with the hardware reset value.
This makes a difference if the BIOS does a near jump before a far jump.
Detective work and patch by: Adrian Steinmann <ast@marabu.ch>
|
122753 |
15-Nov-2003 |
nyan |
MFi386: revision 1.13.
|
122749 |
15-Nov-2003 |
bde |
Changed the RB_PAUSE flag from 0x40000 to 0x100000 and marked the old value as reserved for internal use in boot blocks, because RB_PAUSE broke binary compatibility by usurping the RB_DUAL flag. Probably no one except me has boot blocks for which this matters, since most boot blocks based on biosboot including pc98's boot2 can't boot elf kernels, and /boot/loader doesn't properly pass flags set by the previous stage.
reboot.h: Also mark the historical RB_PROBEKBD flag (0x80000) as reserved for internal use in boot blocks.
boot2.c: Added comments to inhibit usurping of other flags.
Approved by: guido, imp MFC after: 1 week
|
122499 |
11-Nov-2003 |
jake |
Set RB_SERIAL in boothowto if the firmware output-device is ttya or ttyb. This ensures that uart gets a higher console priority than syscons when a serial console is being used. Testing against the "console" environment variable doesn't make sense since we only have one loader console driver.
|
122463 |
11-Nov-2003 |
bde |
Include <sys/reboot.h> the definition of RB_BOOTINFO. The previous commit broke the world because it depended on namespace pollution that was only in my version of <machine/bootinfo.h>. The include was removed in rev.1.63 after the last reference to it went away in rev.1.61.
|
122433 |
10-Nov-2003 |
bde |
Fixed loss of setting of the RB_BOOTINFO flag in rev.1.43. Fixed wrong comment about this flag in rev.1.61. It is not historical like the comment said; it is the flag that says that most of what is laboriously put in the bootinfo struct is actually there. Newer kernels were bootable by even the broken boot2 without losing anything except the symbol table, but older kernels need at least the memory sizes.
Restoring the "|" with RB_BOOTINFO that was lost in rev.1.43 costs 5 bytes. The fix can be done in only 4 bytes by fixing some code that was removed in rev.1.61 (put RB_BOOTINFO back in in the initial value of "opts" and fix RBX_MASK to not clobber it.)
|
122351 |
09-Nov-2003 |
marcel |
Implement PAL_HALT_LIGHT now that the kernel halts the processor when idle. All we have to do is return.
|
122350 |
09-Nov-2003 |
marcel |
Do not strip skiload when installed. The stripped binary does not load in the simulator.
|
122177 |
06-Nov-2003 |
jhb |
Fix an incorrect quote character in an M4 test conditon. Basically, one of the verbose print statements that BTXLDR_VERBOSE enables wasn't properly enabled.
|
121973 |
03-Nov-2003 |
iedowse |
Override the root server address if an IP address is specified in the root path. This is reported to make non-PXE netbooting, such as is used on sparc64 systems, work correctly when the TFTP server is not the same as the root server.
PR: kern/57328 Submitted by: Per Kristian Hove <Per.Hove@math.ntnu.no>
|
121632 |
28-Oct-2003 |
scottl |
Directly call the 'reboot' word instead of indirectly evaluating it.
|
121618 |
27-Oct-2003 |
scottl |
Directly call the 'boot' word instead of indirectly evaluating it.
Submitted by: dcs
|
120118 |
16-Sep-2003 |
bde |
Don't repeat selected defines from ns16550.h or sioreg.h. Just include ns16550.h. The missing installation of ns16550.h was fixed long ago and the misplaced defines in sioreg.h were fixed recently.
|
120031 |
13-Sep-2003 |
scottl |
Apply Aleksander Fafula's crayons to the beastie. Add the this line to /boot/loader.conf to see the pretty colors =-)
loader_color="YES"
|
119880 |
08-Sep-2003 |
obrien |
Use __FBSDID(). Also some minor style cleanups.
|
119714 |
03-Sep-2003 |
phk |
Add BOOT_PXELDR_ALWAYS_SERIAL option which forces serial console.
|
119483 |
25-Aug-2003 |
obrien |
Use __FBSDID(). Also some minor style cleanups.
|
119482 |
25-Aug-2003 |
obrien |
Use __FBSDID(). Also some minor copyright style cleanups.
|
119253 |
22-Aug-2003 |
imp |
Many newer CF do not handle having the entire track read from them at boot time. Instead, read it a sector at a time. While this sounds like a significant slowdown, I've not been able to measure any signficant difference.
Submitted by: luigi Reviewed by: jhb, sam (both a while ago) MFC After: 3 days
|
118982 |
16-Aug-2003 |
obrien |
FICL doesn't build on PowerPC yet, so disable.
|
118607 |
07-Aug-2003 |
jhb |
Consistently use the BSD u_int and u_short instead of the SYSV uint and ushort. In most of these files, there was a mixture of both styles and this change just makes them self-consistent.
Requested by: bde (kern_ktrace.c)
|
118604 |
07-Aug-2003 |
njl |
Null terminate the OEM hint. This rids my laptop of the smiley face that would follow the 6 valid chars of the table entry.
|
118485 |
05-Aug-2003 |
grehan |
Fix asm string newlines to keep gcc3.3 happy. Use register prefixes to make the asm a bit more readable.
|
118346 |
02-Aug-2003 |
marcel |
Don't hardcode unit 0 for the current device if we're loaded from an EFI file system. When booting from a CD and there's already an EFI system partition on the disk, setting the current device to unit 0 will select the harddisk. This invariably breaks installing FreeBSD when other operating systems have been installed before.
We obviously want to do the same when we're booting over the network. Maybe later.
Based on a patch (from memory) from: arun
|
117677 |
17-Jul-2003 |
marcel |
Fix the ski loader, broken by the gcc upgrade. Update the linker script to match the one for the EFI loader and rewrite __start() in assembly to have gp defined without getting in the way of the compiler.
|
117676 |
17-Jul-2003 |
marcel |
Have the linker script look more like the default linker script on ia64. This fixes the breakage caused by the gcc upgrade that resulted in a broken executable.
|
117529 |
13-Jul-2003 |
njl |
Add include file so this builds with new acpica
Reported by: Kevin Oberman <oberman@es.net>
|
117511 |
13-Jul-2003 |
nyan |
Fixed build error with GCC 3.3.1
|
117448 |
11-Jul-2003 |
tmm |
NFS support should be conditional on LOADER_NFS_SUPPORT, not LOADER_NET_SUPPORT.
|
117160 |
02-Jul-2003 |
ru |
Revert non-style part of the recent two deltas that dealt with using as(1) to compile plain assembler source files; bsd.lib.mk has been fixed (in revision 1.147).
|
117158 |
02-Jul-2003 |
ru |
sys/ia64/ia64/pal.s has been repocopied to pal.S.
Approved by: marcel Repocopied by: joe
|
117156 |
02-Jul-2003 |
ru |
pal_stub.s has been repo-copied to pal_stub.S.
Approved by: marcel Repocopied by: joe
|
117090 |
01-Jul-2003 |
brueffer |
Add the beastie_disable variable which allows to turn the beastie boot menu on and off.
Reviewed by: scottl
|
117081 |
30-Jun-2003 |
ru |
bsd.lib.mk,v 1.143 no longer uses ld(1) directly to strip symbols from intermediate object files, so these hacks to get AMD64 compile are no longer needed.
Tested on: sledge.FreeBSD.org
|
117075 |
30-Jun-2003 |
ru |
Switch to using bsd.prog.mk; this gives us back the standard .s.o transformation rule.
|
117053 |
30-Jun-2003 |
ru |
MFi386: revision 1.16.
|
117052 |
30-Jun-2003 |
ru |
Revision 1.13, besides its useful part, replaced bsd.prog.mk by bsd.lib.mk and thus broke the build since AFLAGS were not taken into considered anymore, as bsd.lib.mk currently has wrong .s.o rule that uses cc(1) instead of as(1).
Revision 1.14 reverted to using as(1), and revision 1.15 brought AFLAGS back to the business, but revision 1.14 also broke "make clean".
To fix this, but not break anything that was fixed in revisions 1.13-1.15, we revert mostly to revision 1.13 except for switching back to using bsd.prog.mk. This gives us back the default .s.o rule from sys.mk that uses as(1), and fixes "make clean" by restoring the full contents of OBJS.
Also fixed LDFLAGS.
|
117044 |
29-Jun-2003 |
brueffer |
Capitalize an occurrence of 'ficl' for consistency.
Submitted by: Andre Guibert de Bruet <andy@siliconlandmark.com> MFC after: 3 days
|
116864 |
26-Jun-2003 |
peter |
Build on amd64. Yes, I know this isn't particularly nice.
|
116451 |
16-Jun-2003 |
iedowse |
When looking for the ':' separator in the root path, don't go past the terminating '\0'. Since the initialisation of rootpath in libstand/bootp.c may copy junk into the rest of the buffer, it was possible for the code to find a ':' after the '\0' and do the wrong thing.
Reviewed by: ps MFC after: 1 week
|
116415 |
15-Jun-2003 |
jake |
Remember to release the loader's heap.
Reviewed by: tmm
|
116175 |
10-Jun-2003 |
scottl |
Don't start the beastie menu if the 'beastie_disable' variable is set to 'YES'.
If the user selects to escape to the loader prompt, set 'autoboot_delay' to 'NO' so that the prompt timer doesn't run.
|
116003 |
08-Jun-2003 |
nyan |
Add help file for pc98.
|
116002 |
08-Jun-2003 |
nyan |
Enable new boot menu.
|
116001 |
08-Jun-2003 |
nyan |
Don't load the acpi module.
|
116000 |
08-Jun-2003 |
nyan |
Set arch-pc98 env to true for pc98.
|
115964 |
07-Jun-2003 |
obrien |
Add ${AFLAGS} to 'as' invocation.
|
115946 |
07-Jun-2003 |
nyan |
MFi386: revisions 1.13 and 1.14.
|
115944 |
07-Jun-2003 |
nyan |
MFi386: revision 1.30.
|
115941 |
07-Jun-2003 |
obrien |
Don't use a C compiler to assemble a pure asm file.
|
115899 |
06-Jun-2003 |
kuriyama |
Tweak make values and targets not to build kgzldr.o at installation stage.
Reviewed by: bde
|
115670 |
02-Jun-2003 |
obrien |
Don't use a C compiler to assemble a pure asm file.
|
115638 |
01-Jun-2003 |
obrien |
Accpet '1'..'5' in place of F1..F5 for serial console users.
Reviewed by: Bruce M Simpson <bms@spc.org>
|
115451 |
31-May-2003 |
scottl |
Man, I'm not on the ball. 4th does not need to escape '\' chars. This should make our beloved friend look less like he has a massive head wound.
|
115434 |
31-May-2003 |
scottl |
Flag when ACPI has been disabled by the user so that sysinstall can do something with it.
|
115423 |
31-May-2003 |
scottl |
Enable the new bootloader for i386 only. The new loader.rc is will only be installed if an old one does not exist, i.e. only during install, not during upgrades.
Approved by: re
|
115410 |
30-May-2003 |
scottl |
Add a new bootloader menu. Pull in screen.4th and frames.4th from the examples directory to support it. This is installed only on i386 for now. It will be enabled in a later commit.
Approved by: re
|
115113 |
17-May-2003 |
ru |
Fixed the markup and wording of the kern.ipc.nsfbufs tunable. (It does not modify NSFBUFS, but just overrides it if set.)
Approved by: re (blanket)
|
115091 |
17-May-2003 |
peter |
Fix a bug in the AMD64 trampoline. I misunderstood the implicit 32->64 bit zero extend. This changes a movl to an orq.
Approved by: re (amd64 bits)
|
115054 |
16-May-2003 |
murray |
Add variables for missing network drivers.
PR: kern/51911 Submitted by: David Yeske <dyeske@yahoo.com> Approved by: re
|
114937 |
12-May-2003 |
peter |
Fix lookup of module metadata on amd64 systems. While this is in common code, the non-trivial part is #ifdef'ed and only executes when loading amd64 kernels. The rest is trivial but needed for the the amd64 case. (Two variables changed from char ** to Elf_Addr).
Approved by: re (amd64 "low-risk" stuff)
|
114933 |
12-May-2003 |
peter |
Revert leftover AMD64 disable-acpi-module stuff.
|
114920 |
11-May-2003 |
peter |
For amd64 kernels, repeat the 1GB mapping over the entire address space instead of just at 0GB and 1GB marks. This gives more flexibility for the choice of KERNBASE.
Approved by: re (amd64 stuff)
|
114707 |
05-May-2003 |
obrien |
Since we insist on loading the POS ACPI by default, give the poor user instructions on the main help screen for disabling it.
|
114654 |
04-May-2003 |
murray |
Fix a bunch of typos and grammatical errors.
PR: docs/40234 Submitted by: Chris Pepper <pepper@rockefeller.edu> (mostly) MFC After: 3 days
|
114521 |
02-May-2003 |
kato |
IPLware support. The `IPLware' program assumes boot menu program begins with the `jmp 0x2d4' near jump.
|
114407 |
01-May-2003 |
nyan |
Fix to build pc98 boot loader after support amd64.
|
114386 |
01-May-2003 |
peter |
Commit a missed change to keep in sync with the MI elf loader.
|
114385 |
01-May-2003 |
peter |
Argh. This was broken by the last-minute elf32/elf64/"elf kernel" changes.
|
114380 |
01-May-2003 |
peter |
Nuke; repocopied to elf32_freebsd.c where it lives on.
|
114379 |
01-May-2003 |
peter |
Enable the i386 loader to load and run an amd64 kernel. If this puts things over floppy size limits, I can exclude it for release builds or something like that. Most of the changes are to get the load_elf.c file into a seperate elf32_ or elf64_ namespace so that you can have two ELF loaders present at once. Note that for 64 bit kernels, it actually starts up the kernel already in 64 bit mode with paging enabled. This is really easy because we have a known minimum feature set.
Of note is that for amd64, we have to pass in the bios int 15 0xe821 memory map because once in long mode, you absolutely cannot make VM86 calls. amd64 does not use 'struct bootinfo' at all. It is a pure loader metadata startup, just like sparc64 and powerpc. Much of the infrastructure to support this was adapted from sparc64.
|
114343 |
30-Apr-2003 |
peter |
We use i386 boot code on AMD64.
|
114339 |
30-Apr-2003 |
peter |
ACPI will always be present on AMD64 - it will never be an autodetect module.
|
114338 |
30-Apr-2003 |
peter |
Also look for an "elf64 kernel" (for sparc64) and "elf32 kernel" (for powerpc) when building metadata.
|
114246 |
29-Apr-2003 |
njl |
Support functions for the new ACPI import. * AcpiOsDerivePciId(): finds a bus number, given the slot/func and the acpi parse tree. * AcpiOsPredefinedOverride(): use the sysctl hw.acpi.os_name to override the value for _OS.
Ideas from: takawata, jhb Reviewed by: takawata, marcel Tested on: i386, ia64
|
113583 |
16-Apr-2003 |
phk |
Cut&Paste considered far too easy:
Don't include <sys/disklabel.h>
|
113161 |
06-Apr-2003 |
peter |
Zap some a.out leftovers
|
113083 |
04-Apr-2003 |
phk |
Libdisk does not need to include <sys/diskslice.h> any more.
Move the remaining bits of <sys/diskslice.h> to <i386/include/bootinfo.h>
Move i386/pc98 specific bits from <sys/reboot.h> to <i386/include/bootinfo.h> as well.
Adjust includes in sys/boot accordingly.
|
113042 |
04-Apr-2003 |
marcel |
Remove `#ifndef lint' left behind after previous change.
|
113038 |
03-Apr-2003 |
obrien |
Use __FBSDID rather than rcsid[].
|
112091 |
11-Mar-2003 |
ru |
FreeBSD 5.0 has stopped shipping /modules 2.5 years ago. Catch up with this further by excluding /modules from the (default) kern.module_path.
|
111957 |
07-Mar-2003 |
trhodes |
Fix a few spelling errors.
Submitted by: Stefan Farfeleder <stefan@fafoe.dyndns.org> via -doc.
|
111890 |
04-Mar-2003 |
seanc |
Document the tunable kern.ipc.nsfbufs in help.common and loader.8. Small nearby grammar fixup that saves a line of display while in the loader (help set tunables), but reuses the line for kern.ipc.nsfbufs.
Approved by: roam
|
111852 |
03-Mar-2003 |
ru |
FreeBSD 5.0 has stopped shipping /modules 2.5 years ago. Catch up with this further by excluding /modules from the (default) kern.module_path.
|
111764 |
02-Mar-2003 |
ru |
Fixed sys/boot/pc98/boot2/Makefile to use kern.mk and get rid of bsd.kern.mk completely.
OK'ed by: bde
|
111749 |
02-Mar-2003 |
harti |
Add two loader tuneables that allow one to change the maximum number of queue items that can be allocated by netgraph and the number of free queue items that are cached on a private list.
Netgraph places an upper limit on the number of queue items it may allocate. When there is a large number of netgraph messages travelling through the system (100k/sec and more) there is a high probability, that messages get queued at the nodes and netgraph runs out of queue items. In this case the data flow through netgraph gets blocked. The tuneable for the number of free items lets one trade memory for performance.
The tunables are also available as read-only sysctls.
PR: kern/47393 Reviewed by: julian Approved by: jake (mentor)
|
111693 |
01-Mar-2003 |
marcel |
Speed up debugging in the context of unexpected traps by printing the address of the image base of the loader. Given cr.iip, we can use the symbol table to figure out what function caused the trap.
|
111692 |
01-Mar-2003 |
marcel |
Paranoia: Don't use the length of the option string alone to determine whether we have command line options. We expect a valid string pointer as well.
|
111543 |
26-Feb-2003 |
marcel |
Increase the block size for reading and writing from 8KB to 1MB and introduce a preprocessor define for it. The larger block size significantly speeds up the loading of the kernel.
Submitted by: Arun Sharma <arun.sharma@intel.com>
|
111536 |
26-Feb-2003 |
obrien |
Consistently use NOFORTH to control the usage of ficl.
|
111490 |
25-Feb-2003 |
ru |
Fixed CLEANFILES.
Submitted by: cron
|
111456 |
25-Feb-2003 |
obrien |
Only apply rev 1.10 (which hacks around the i386 boot2 being too big for both ufs1 and ufs2 support) on i386.
|
111410 |
24-Feb-2003 |
mckusick |
Revert to old (broken for over 1.5Tb filesystems) version of cgbase so that boot loader once again will fit.
Sponsored by: DARPA & NAI Labs.
|
111168 |
20-Feb-2003 |
marcel |
Simplify page alignment.
|
110783 |
13-Feb-2003 |
benno |
Don't bother to build ficl if NOFORTH is defined.
|
110554 |
08-Feb-2003 |
trhodes |
s/hw.pci_allow_unsupported_io_range/hw.pci.allow_unsupported_io_range/
The former was incorrect and gave an `unknown oid' error.
|
110211 |
01-Feb-2003 |
marcel |
Remove special casing for running in the simulator from the kernel and instead add platform, firmware and EFI stubs to the loader. The net effect of this change is that besides a special console and disk driver, the kernel has no knowledge of the simulator. This has the following advantages: o Simulator support is much harder to break, o It's easier to make use of more feature complete simulators. This would only need a change in the simulator specific loader, o Running SMP kernels within the simulator. Note that ski at this time does not simulate IPIs, so there's no way to start APs.
The platform, firmware and EFI stubs describe the following hardware: o 4 CPU Itanium, o 128 MB RAM within the 4GB address space, o 64 MB RAM above the 4GB address space.
NOTE: The stubs in the skiloader describe a machine that should in parts be defined by the simulator. Things like processor interrupt block and AP wakeup vector cannot be choosen at random because they require interpretation by the simulator. Currently the simulator is ignorant of this.
This change introduces an unofficial SSC call SSC_SAL_SET_VECTORS which is ignored by the simulator.
Tested with: ski (version 0.943 for linux)
|
110206 |
01-Feb-2003 |
marcel |
SSC calls use break immediate 0x80000. 0x80001 only works for break.i. Ski is rather broken in this respect.
|
110102 |
30-Jan-2003 |
nyan |
MFi386: Install the "boot" image which is boot1 + boot2.
|
109888 |
26-Jan-2003 |
phk |
Link /boot/boot1 to the name /boot/boot to avoid per-arch naming of the bootstrap code for disklabel using architectures.
|
109886 |
26-Jan-2003 |
phk |
Build a file "boot" which consists of boot1 and boot2 concatenated.
There is little if any reason to treat the two components separately and it will simplify disklabel(8) and libdisk if we didn't.
|
109638 |
21-Jan-2003 |
nyan |
Use NDOSPART instead of NEXTDOSPART.
|
109637 |
21-Jan-2003 |
nyan |
MFi386: revision 1.63.
|
109616 |
21-Jan-2003 |
jake |
Fix module dependency (pre)loading on sparc64 by relocating the variables read from the raw kld files.
Submitted by: Hartmut Brandt <brandt@fokus.gmd.de> PR: 46870 Tested on: alpha (obrien), i386, sparc64
|
109559 |
20-Jan-2003 |
phk |
Use NEXTDOSPART instead of MAX_SLICES.
|
109498 |
18-Jan-2003 |
obrien |
Simplify the Makefile by just using our standard PROG variable.
|
109281 |
15-Jan-2003 |
mdodd |
Minimally document hw.syscons.sc_no_suspend_vtswitch.
Requested by: Nate Lawson <nate@root.org>
|
109235 |
14-Jan-2003 |
imp |
Save 4 more bytes by not initializing opts to 0. This moves it from the data section to the bss section givig us initialization for free.
Noticed by: bde
|
109197 |
13-Jan-2003 |
imp |
Fix interactive booting: o Revision 1.38 introduced the -n flag. It conflicted with the RB_BOOTINFO flag, so was in effect always on. Change the -n flag to be bit 0x1c instead of 0x1f. This also had the consequence that a mal-formed /boot.config would render the system unbootable because the user was unable to enter anything at all on the command line. o Remove the initialization of opt to be RB_BOOTINFO since we filter that bit out and do not otherwise use it.
Reviewed by: jhb MFC after: 3 days
|
108791 |
06-Jan-2003 |
nyan |
Add SCSI MO device support.
Submitted by: Kawanobe Koh <kawanobe@st.rim.or.jp>
|
108650 |
04-Jan-2003 |
nyan |
Rename the dos_partition structure for pc98 to pc98_partition.
|
108476 |
31-Dec-2002 |
obrien |
RIP liloldr. It is not complete (the LILO root= specification isn't passed to our loader for instance), it has not been touched in over 2 years. Linux has moved on to GRUB, so this is OBE now. If someone creeps up to work on it, it could become a port.
|
108470 |
30-Dec-2002 |
schweikh |
Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/ Add FreeBSD Id tag where missing.
|
108149 |
21-Dec-2002 |
obrien |
-mno-align-long-strings can make things smaller, so lets use it in hopes that it does here.
|
108119 |
20-Dec-2002 |
imp |
Put back the casts to unsigned. While no strictly necessary for its current uses, the name strcmp has strong connotations that shouldn't lightly be discarded. This doesn't cost us anything.
Submitted by: bde
|
108115 |
20-Dec-2002 |
jake |
Fix breakage from earlier inadvertant changes.
|
108100 |
19-Dec-2002 |
jake |
Renamed the loader's zipfs to gzipfs. zipfs.c was repo-copied to gzipfs.c.
|
108025 |
18-Dec-2002 |
marcel |
Add command `hcdp'. This command dumps the DIG64 HCDP table if one exists.
|
108016 |
18-Dec-2002 |
imp |
I didn't intend to delete this rm from the Makefile. It snuck in at the last second before the commit.
# likely we can remove this hack now that gcc generates better aligned code # in the align to word case.
Noticed by: bde
|
108005 |
17-Dec-2002 |
imp |
Reduce diffs with Peter's expanded diffs: 1) Put back the keyboard printing printf, at the cost of 58 bytes. 2) Minor tweak to getstr at no apparent cost.
|
108000 |
17-Dec-2002 |
imp |
Make both UFS1 and UFS2 fit on the same boot blocks. These are a subset of Peter's patchs that are believed to be safe.
Makefile tweaks: o -fomit-frame-pointer o Change default to building both UFS1 and UFS2 bootblocks.
Lots of boot2 tweaks: o lookup is only ever called with kname, so use it directly. o inline memsize o getstr are only ever called with cmd, so hardware that. o tweaks to the parsing code to test after the conversion rather than before since we tested after anyways. o eliminate support for %x in printf. o eliminate a few bytes in printfs. o Tweak the boot banner. o eliminate support for wd and " " devices (I might add wd back to keep bde happy). o eliminate support for a few arguments.
This takes us from -162 bytes free to 67 bytes free.
I've tested this only on a few systems, so be careful when updating to this change.
Submitted by: peter, imp, ian
|
107889 |
15-Dec-2002 |
obrien |
Remove unneeded casts. Add others to make WARNS=5 happy.
|
107879 |
14-Dec-2002 |
phk |
Employ the unused bytes after the disklabel in the second sector. This makes it possible to make UFS1_ONLY and UFS2_ONLY versions which fit inside the traditional 16 sectors.
Remove assorted now unneeded hackery.
UFS1_AND_UFS2 still needs another 150 bytes to work, and that is probably not within our reach, ever.
|
107878 |
14-Dec-2002 |
phk |
Remove unnecessary call to fsread().
|
107877 |
14-Dec-2002 |
phk |
Restructure so we can compile UFS1_ONLY, UFS2_ONLY or UFS1_AND_UFS2 versions from the same basic function.
|
107875 |
14-Dec-2002 |
phk |
Always use the smaller GCC builtin memcpy
|
107874 |
14-Dec-2002 |
phk |
Remove unused variable.
|
107869 |
14-Dec-2002 |
phk |
Don't fill in the table with the BIOS idea about disk-geometry, we don't use it. This saves a surprising number of bytes.
|
107788 |
12-Dec-2002 |
ru |
Uniformly refer to a file system as "file system".
Approved by: re
|
107733 |
10-Dec-2002 |
marcel |
Pass the HCDP table address to the kernel. If no such table exists, NULL is passed. The address of the HCDP table can be found by iterating over the configuration tables in the EFI system table. To avoid more duplication, a function can be called with the GUID of interest. The function will do the scanning. Use the function in all places where we iterate over the configuration tables in an attempt to find a specific one.
Bump the loader version number as the result of this.
Approved by: re (blanket)
|
107724 |
10-Dec-2002 |
marcel |
The exit() function has been moved to libefi.c to better deal with cleaning up after ourselves.
Approved by: re (blankoscheck) German corrections: Alexander (both :-)
|
107723 |
10-Dec-2002 |
marcel |
Change the startup code to fix a memory leak and to allow us to accept load options (=command line options).
The call graph changes from *entry*->efi_main->efi_init, where efi_main is the EFI equivalent of main to *entry*->efi_main->main, where main is what you'd expect. efi_main now is what efi_init was. The prototype of main follows that of C. The first argument is argc and the second is argv. There is no third argument. Allocation of heap pages is now handled by the EFI library and it now deallocates the pages when main() returns or when exit() is called. This allows us to safely return to the boot manager (or EFI shell) without leaks. EFI applications are responsible to free all memory themselves.
Handling of the load options is a bit tricky. There are either no load options, load options in ASCII or load options in Unicode. The EFI library will translate the ASCII options to Unicode options as to simplify user code. Since the load options are passed as a single string (if present) and main() accepts argc and argv, the startup code also has to split the string into words and build the argv vector. Here the trickiness starts. When the loader is started from the EFI shell, argv[0] will automaticly load the program name. In all other cases (ie through the boot manager), this is not the case. Unfortunately, there's no trivial way to check. Hence, a set of conditions is checked to determine if we need to fill in argv[0] ourselves or not. This checking is not perfect. There are known cases where it fails to do the right thing. The logic works for most expected cases, though. This includes the case where no options are given.
Approved by: re (blanket)
|
107722 |
10-Dec-2002 |
marcel |
o Make all GUID variables global to maximize reuse. o Recognize the HCDP configuration table. o Dump the GUID of tables we don't recognize.
Approved by: re (carte blanche)
|
107721 |
10-Dec-2002 |
marcel |
Build EFI with -fshort-wchar so that L"some string" works with the EFI has defined CHAR16.
|
107720 |
10-Dec-2002 |
marcel |
Remove _putchar, _puts and _puthex. These functions are unused.
Approved by: re (blanket)
|
107686 |
08-Dec-2002 |
marcel |
Add the GUID of the DIG64 HCDP table.
|
107683 |
08-Dec-2002 |
marcel |
The boot manager sets the watchdog timer to 5 minutes before invoking a boot option. When the timer expires the machine is rebooted. Disable the watchdog timer for 2 reasons: o We're an interactive program. We cannot guarantee that we've booted the kernel in the time available to us. There have been situations where netbooting the right kernel took 2 tries and more time than given. Not to speak of the normal behaviour to have the loader sitting at the prompt while the user is off doing other things (such as figuring out what to type next ;-) o We may not boot a kernel at all. We may exit as the result of the user typing quit (assuming it took less than 5 minutes to type it :-). It is documented that loaders should have disabled the watchdog timer if they return to the boot manager. Not doing so would cause a reboot while in the boot manager. This appears to be harmless, besides of course the actual reboot.
Approved by: re (weisse karte)
|
107682 |
08-Dec-2002 |
marcel |
In efi_cons_poll we check if a key is present (pending) by checking the signaled state of the apropriate event. As a side-effect of checking the event, it's signaled state is cleared if it was set. In efi_cons_getchar we used to wait for the apropriate event to be signaled before reading a character. This however does not work if we poll before reading the characteri, such as during autoboot. On a more compliant EFI implementation this resulted in the behaviour that hitting a key during autoboot would stop the countdown, but would then wait for a new character to arrive instead of reading the already pending key that stopped the countdown.
The correct behaviour for efi_cons_getchar is to try to read a key and if none is pending, to wait for the apropriate event to signal the arrival of a new key.
Note that with the previous behaviour, the second key would determine how the autoboot was interrupted. This would indicate that the first key got lost. This indicates that EFI does not necessarily maintain a queue of pending keys. FWIW...
Approved by: re (carte blanche) French corrected by: various people :-)
|
107483 |
02-Dec-2002 |
jake |
Fix a dumb bug that broke net booting on sparc64. The wrong length was passed to strncmp.
Noticed by: tmm Approved by: re Pointy hat to: jake
|
107367 |
28-Nov-2002 |
marcel |
Remove a left-over virtual mapping of uncached I/O port space. Previous kernels unwantingly depended on this mapping, but as of version 1.123 of src/sys/ia64/ia64/machdep.c this dependency has been removed. Consequently, one has to update the kernel before updating the loader. The documented/recommended upgrade will suffice in this case.
Due to a visible (from the kernels point of view) change in behaviour, bump the loader version number from 0.3 to 1.0.
Approved by: re (carte blanc)
|
107352 |
27-Nov-2002 |
jhb |
Enable UFS2 support in boot1. Just as with sparc64 the same boot1 works great with both UFS1 and UFS2 filesystems.
Approved by: re
|
107294 |
27-Nov-2002 |
mckusick |
Create a new 32-bit fs_flags word in the superblock. Add code to move the old 8-bit fs_old_flags to the new location the first time that the filesystem is mounted by a new kernel. One of the unused flags in fs_old_flags is used to indicate that the flags have been moved. Leave the fs_old_flags word intact so that it will work properly if used on an old kernel.
Change the fs_sblockloc superblock location field to be in units of bytes instead of in units of filesystem fragments. The old units did not work properly when the fragment size exceeeded the superblock size (8192). Update old fs_sblockloc values at the same time that the flags are moved.
Suggested by: BOUWSMA Barry <freebsd-misuser@netscum.dyndns.dk> Sponsored by: DARPA & NAI Labs.
|
107266 |
26-Nov-2002 |
yar |
Eliminate references to defunct kernel tunables.
Approved by: re PR: bin/43343
|
107203 |
24-Nov-2002 |
marcel |
MFp4: o Show the contents of the AP wakeup descriptor when dumping SAL information. o Increase S/N ratio when listing the itr and dtr. Only show valid mappings and give the total number of TRs.
Approved by: re (blanket)
|
107175 |
22-Nov-2002 |
dcs |
The new "all sound drivers" driver name is snd_driver. Loader.conf didn't knew about it, though. Now it does.
MFC after: 2 weeks
|
106845 |
13-Nov-2002 |
mdodd |
Document loader tunables hw.pci.enable_io_modes and hw.pci.allow_unsupported_io_range.
Submitted by: Hiten Pandya <hiten@angelica.unixdaemons.com> Approved by: re (murray)
|
106842 |
13-Nov-2002 |
mdodd |
Loader tunable 'machdep.disable_mtrrs'. Sysctl of same name to reflect status.
Submitted by: jhb Approved by: re (murray) MFC after: 1 day
|
106738 |
10-Nov-2002 |
jake |
Change the device path representation in libofw to use the full firmware path, instead of an internal i386 specific one. Don't try to interpret a disklabel in ofw_disk.c, open the partition's device node directly and let the firmware do it. This fixes booting from a partition other than 'a' on sparc64, which is needed to support more installation methods.
No objection: ppc
|
106385 |
03-Nov-2002 |
phk |
Correctly recognize both bogus and genuine BSD disklabels.
Don't expect me to participate in a discussion which is which.
Sponsored by: DARPA & NAI Labs.
|
106335 |
02-Nov-2002 |
mini |
Fix indentation of comments.
|
106330 |
02-Nov-2002 |
mini |
Add loader variables to control the loading of various networking modules.
Submitted by: David Yeske <dyeske@yahoo.com>
|
105852 |
24-Oct-2002 |
marcel |
o Fix a size calculation based on a 8KB page, while under EFI pages are 4KB. o As a second order fix, don't assume we have enough space after the bootinfo block left in a page to hold the memory map. o A third order fix as that we removed the assumption that a bootinfo block fits in a single 8KB page.
PR: ia64/39415 submitted by: Espen Skoglund <esk@ira.uka.de>
|
105427 |
18-Oct-2002 |
tmm |
Pass the right number of tlb slots to the kernel. The allocation scheme was changed in r1.4, but I neglected to update most of the code in metadata.c.
Pointy hat to: tmm
|
105065 |
13-Oct-2002 |
jake |
Compile in support for zipfs and bzipfs so we can load the gzipped mfsroot that releases use.
|
104777 |
10-Oct-2002 |
nyan |
Remove '-DUFS1_ONLY' from CFLAGS. It is not needed.
|
104683 |
08-Oct-2002 |
jhb |
Revert MEM_USR back to 0xa000 for BTX clients. Instead, adjust boot2 to run at 0xc000 by changing its virtual start address from 0x1000 to 0x2000.
Tested by: phk
|
104680 |
08-Oct-2002 |
phk |
Now that ufsread.c doesn't do 64bit divide remainder operations, don't bother with libkern.
Sponsored by: DARPA & NAI Labs.
|
104679 |
08-Oct-2002 |
phk |
Save a couple of bytes by not returning ints nobody care about.
Sponsored by: DARPA & NAI labs
|
104678 |
08-Oct-2002 |
phk |
It seems that the only problem with UFS2 booting on i386 is the 64bit divide/remainder calls. For reasons not resolved, compiling the relevant routines from libkern into boot2 results in stack corruption.
Do the simple thing: Don't use 64bit divide/remainder operations.
Sponsored by: DARPA & NAI Labs
|
104673 |
08-Oct-2002 |
green |
Reinstate rev 1.36 with an important line that got missed. Note this also improves the "random undocumented offsets into various memory spaces" a little bit.
|
104671 |
08-Oct-2002 |
phk |
Remove unused TYPE_WD and TYPE_WFD.
|
104670 |
08-Oct-2002 |
phk |
Correctly calculate dmadat: We need to take the address of _end, it's contents is irrelevant and likely to be zero;
This doesn't change the resultant value, but it does save a couple of bytes because &_end is constant.
|
104668 |
08-Oct-2002 |
phk |
Unbreak boot2 by backing out rev 1.36 to Makefile, which does not work as advertised:
bang# pwd /bang/src/sys/boot/i386/boot2 bang# make clean >& /dev/null bang# cvs -q update -r 1.35 Makefile >& /dev/null bang# make >& /dev/null bang# cat /usr/obj/`pwd`/boot2.h #define XREADORG 0x725 bang# cvs -q update -r 1.36 Makefile > & /dev/null bang# make clean > & /dev/null bang# make > & /dev/null bang# cat /usr/obj/`pwd`/boot2.h #define XREADORG 0x25 bang#
|
104666 |
08-Oct-2002 |
phk |
Save four bytes by shortening a string two chars.
Sponsored by: DARPA & NAI Labs.
|
104636 |
07-Oct-2002 |
green |
Correct a bug in adding 0x700 to a number.
|
104635 |
07-Oct-2002 |
phk |
Conditionalize the number of sectors loaded by boot1.s on UFS1/UFS12.
Conditionalize the "XX bytes left" checks reference on UFS1/UFS12.
Conditionally build the necessary 64bit math for boot2 if UFS12.
Sponsored by: DARPA & NAI Labs.
|
104632 |
07-Oct-2002 |
phk |
Change the comment character from # to // in boot1.s and run it through CPP so we can conditionalized things.
Sponsored by: DARPA & NAI Labs
|
104629 |
07-Oct-2002 |
phk |
Correctly adjust for moved start address.
It seems that the existence of a "depend" target in src/sys/boot is not to be taken as an indication that it actually does what one would expect, at least it clearly threw my testing off.
Apologies to: jhb
|
104621 |
07-Oct-2002 |
nyan |
Added '#include <sys/diskpc98.h>'.
Submitted by: kawanobe@st.rim.or.jp (Kawanobe Koh)
|
104620 |
07-Oct-2002 |
phk |
Correctly compensate for both offset and unoffset on-disk BSD disklabels.
Sponsored by: DARPA & NAI Labs.
|
104618 |
07-Oct-2002 |
phk |
Move MEM_USR a page upwards to make space for larger UFS1 boot2.
Load 4 sectors more than we used to. This is harmless overhead for the UFS1_ONLY case, but sufficient for boot2(UFS1+2).
Sponsored by: DARPA & NAI Labs
|
104613 |
07-Oct-2002 |
phk |
Ups, forgot to tell cvs commit about this file. Move UFS1_ONLY to Makefiles instead of common/ufsread.c
Sponsored by: DARPA & NAI Labs
|
104612 |
07-Oct-2002 |
phk |
Move the definition of UFS1_ONLY into the Makefiles where it belongs.
Sponsored by: DARPA & NAI Labs.
|
104413 |
03-Oct-2002 |
nyan |
Connected boot2.
|
104412 |
03-Oct-2002 |
nyan |
Added some header files from -stable and fixed the boot[12] programs.
|
104315 |
01-Oct-2002 |
iwasaki |
Don't call INT 12H anymore in boot program. Many recent machine have a broken INT 12H (Get base memory size) implementation and boot program stops if INT 12H is called.
This commit should solve the problem at very first step of FreeBSD installation occurred on newer some machines.
Reviewed by: bde, jhb MFC after: 1 week
|
104272 |
01-Oct-2002 |
phk |
Split MBR and PC98 on-disk sliceformats out from disklabel.h, step 1:
Peter had repocopied sys/disklabel.h to sys/diskpc98.h and sys/diskmbr.h.
These two new copies are still intact copies of disklabel.h and therefore protected by #ifndef _SYS_DISKLABEL_H_ so #including them in programs which already include <sys.disklabel.h> is currently a no-op.
This commit adds a number of such #includes.
Once I have verified that I have fixed all the places which need fixing, I will commit the updated versions of the three #include files.
Sponsored by: DARPA & NAI Labs.
|
104234 |
30-Sep-2002 |
peter |
Use as's --defsym switch to compensate for the loss of the M4 substitution of SIOPRT which broke kgzldr and therefore make release.
Pointed out by: murray
|
103877 |
24-Sep-2002 |
nyan |
Fixed to build after removing a.out suppot.
|
103870 |
23-Sep-2002 |
alfred |
use __packed.
|
103834 |
23-Sep-2002 |
peter |
At great personal risk, add a __packed and __aligned(x) define that expand to __attribute__((packed)) and __attribute__((aligned(x))) respectively. Replace the handful of gcc-ism's that use __attribute__((aligned(16))) etc around the kernel with __aligned(16).
There are over 400 __attribute__((packed)) to deal with, that can come later. I just want to use __packed in new code rather than add more gcc-ism's.
|
103641 |
19-Sep-2002 |
nyan |
MFi386: Remove a.out support.
|
103639 |
19-Sep-2002 |
nyan |
Remove -elf option.
|
103436 |
17-Sep-2002 |
peter |
Initiate deorbit burn for the i386-only a.out related support. Moves are under way to move the remnants of the a.out toolchain to ports. As the comment in src/Makefile said, this stuff is deprecated and one should not expect this to remain beyond 4.0-REL. It has already lasted WAY beyond that.
Notable exceptions: gcc - I have not touched the a.out generation stuff there. ldd/ldconfig - still have some code to interface with a.out rtld. old as/ld/etc - I have not removed these yet, pending their move to ports. some includes - necessary for ldd/ldconfig for now.
Tested on: i386 (extensively), alpha
|
102960 |
05-Sep-2002 |
iwasaki |
Parse hint.acpi.0.disabled correctly. Now that hint.acpi.0.disabled="0" won't disable acpi as expected.
Pointed-out by: bde
|
102862 |
02-Sep-2002 |
brooks |
Make SCSI_DELAY setable at boot time and runtime via the kern.cam.scsi_delay tunable/sysctl.
Reviewed by: mdodd, njl
|
102829 |
02-Sep-2002 |
jake |
Remove NOFORTH=yes, it seems to work now thanks to scottl.
|
102807 |
01-Sep-2002 |
kan |
Restore Rev. 1.40 (remove "Keyboard yes/no" printf). GCC 3.2 overflows boot2 by 12 bytes, this patch brings it back within the boundaries, with 12 bytes available for future bloat.
Approved by: obrien
|
102657 |
31-Aug-2002 |
scottl |
Make ficl work on sparc64. The assumption that int == long == void * is very pervasive in this code. This fixes a few of those assumptions and band-aids over some others.
Tested on: ia32 alpha sparc64
Reviewed by: peter jake (in concept)
|
102623 |
30-Aug-2002 |
jhb |
Revert previous untested revision. The i386 loader consists of three parts: At the front is btxldr, in the middle is BTX itself (our mini-kernel), and then the 'client' (loader.bin) which is the actual loader itself. boot2 just executes a raw ELF or a.out binary with the only setup provided being that a bootinfo structure is passed on the stack. Now, since loader.bin is a BTX client, the loader needs to be able to locate a BTX kernel for the client to execute in the context. Thus, just like pxelder, btxldr uses the a.out header on the loader binary to find the BTX kernel stored in the loader and set it up. It does _not_ just reuse the BTX kernel that boot2 invoked it with. This is because it can't assume that it will _have_ a "spare" BTX kernel lying around. For example, when cdboot loads the loader there isn't an existing BTX kernel. In fact, cdboot will only work with an a.out loader as well since it also "borrows" the BTX kernel in the loader binary (which it finds by parsing the a.out header) just as pxeldr does. The only difference between cdboot and pxeldr is where they get /boot/loader from.
If we wanted to make /boot/loader be an actual ELF binary we would need to change the following utilites to handle that (and they all have to be able to handle locating the BTX kernel inside of an ELF binary somehow): - btxldr - pxeldr - cdboot
If we didn't want to require a flag day but make the transition smooth then we need to be able to support both a.out and ELF versions of /boot/loader which isn't exactly trivial since all three of these utilities are written in assembly.
Pointy-hat to: peter
|
102612 |
30-Aug-2002 |
iwasaki |
s/hint.acpi.0.disable/hint.acpi.0.disabled/
Fix device hints entry for disabling acpi(4). This also should fix the arbitration with apm(4) when both drivers are enabled.
Note that your /boot/device.hints needs to be updated if you want to stop auto-loading acpi.ko or disable acpi(4).
|
102591 |
29-Aug-2002 |
peter |
Try #2 at having /boot/loader default to ELF. Have pxeldr build its own a.out version of loader.bin rather than depend on ../loader/loader being a.out.
|
102588 |
29-Aug-2002 |
peter |
Actually remove the stale a.out kld support. This is the stuff that was never updated for the metadata infrastructure.
|
102556 |
29-Aug-2002 |
peter |
Initiate deorbit burn of i386 a.out kld "support" in loader. Note that this was quite broken, it never was updated for metadata support. The a.out kld file support was never really used, as it wasn't necessary. You could always load elf kld's, even in an a.out kernel.
|
102466 |
27-Aug-2002 |
trhodes |
Whitespace fix from last commit.
|
102465 |
27-Aug-2002 |
trhodes |
Fix some grammar errors in loader.conf.5
PR: 40237 Submitted by: Chris Pepper <pepper@rockefeller.edu>
|
102226 |
21-Aug-2002 |
robert |
- Do not pretend to compile a kernel and remove the definition of the _KERNEL macro. - Do not include <sys/pcpu.h> for no reason.
Suggested by: jake
|
102219 |
21-Aug-2002 |
robert |
- Define the macro _KERNEL to pretend we are compiling a kernel. This is required by recent changes to <sys/pcpu.h>, which uses the #error preprocessor directive to keep non-kernel applications from using it. _KERNEL is defined below the #include <stand.h>, because <stand.h> removes the definition of _KERNEL. - Move the inclusion of <sys/queue.h> above the inclusion of <sys/linker.h> to avoid syntax errors.
|
102215 |
21-Aug-2002 |
scottl |
Fix for stand-alone compiling
Reviewed by: mini
|
102011 |
17-Aug-2002 |
orion |
Support for VIA VT8233 audio controller.
|
101824 |
13-Aug-2002 |
ru |
mdoc(7) police: Get rid of hard sentence breaks.
|
101823 |
13-Aug-2002 |
ru |
mdoc(7) police: revert unapproved changes in rev. 1.43, added missing markup bits in rev. 1.45.
|
101602 |
09-Aug-2002 |
iwasaki |
Add help about hint.acpi.0.disable.
|
101558 |
09-Aug-2002 |
obrien |
Restore autoloading of ACPI module.
Document the approved ways of disabling it. Submitted by: Daniel O'Connor <doconnor@gsoft.com.au>
|
101556 |
09-Aug-2002 |
obrien |
Don't auto load ACPI -- it causes trouble with my laptop and is TOTALLY undocumented how to control its loading and queries to freebsd-current go unanswered.
|
101287 |
04-Aug-2002 |
jake |
Print out the strings in vers.o instead of hardcoding the loader banner.
|
101187 |
01-Aug-2002 |
rwatson |
Sample loader.conf lines for various MAC modules.
|
101112 |
31-Jul-2002 |
jake |
Stash various networking paramters in the environment for the kernel to pick up, ala pxe.
|
100872 |
29-Jul-2002 |
ru |
Drop support for COPY, -c has been the default mode of install(1) for a long time now.
Approved by: bde
|
100391 |
20-Jul-2002 |
peter |
Turn on -Wformat
|
100390 |
20-Jul-2002 |
peter |
Fix printf format errors
|
100389 |
20-Jul-2002 |
peter |
Work around some nasty bugs on the [beta] Itanium2's E1000 UNDI driver.
Bug#1: The GetStatus() function returns radically different pointers that do not match any packets we transmitted. I think it might be pointing to a copy of the packet or something. Since we do not transmit more than one packet at a time, just wait for "anything".
Bug#2: The Receive() function takes a pointer and a length. However, it either ignores the length or otherwise does bad things and writes outside of ptr[0] through ptr[len-1]. This is bad and causes massive stack corruption for us since we are receiving packets into small buffers on the stack. Instead, Receive() into a large enough buffer and bcopy the data to the requested area.
|
100388 |
20-Jul-2002 |
peter |
Disable loader ufs support. It causes the loader to crash on the Itanium2 box that I have. We have no EFI disk drivers yet anyway (maybe that is the problem).
|
100387 |
20-Jul-2002 |
peter |
Fix printf format errors
|
100325 |
18-Jul-2002 |
nyan |
Remove boot2 temporarily.
|
100318 |
18-Jul-2002 |
benno |
Major rework of how we copy data into kernel space.
We now talk to the memory and mmu instances directly rather than using the OpenFirmware "claim" method.
|
100187 |
16-Jul-2002 |
mp |
Don't imply that setting the boot_ variables to "NO" will disable them.
MFC after: 3 days
|
100174 |
16-Jul-2002 |
nyan |
Change include order.
|
100016 |
15-Jul-2002 |
keramida |
Use present tense in all the verbs, when describing loader's startup. Most of them are not in a future tense already.
|
99976 |
14-Jul-2002 |
charnier |
The .Nm bootloader
|
99975 |
14-Jul-2002 |
charnier |
The .Nm set of commands
|
99974 |
14-Jul-2002 |
charnier |
The .Nm
|
99727 |
10-Jul-2002 |
benno |
Add support for passing metadata.
|
99682 |
09-Jul-2002 |
iwasaki |
Resolve conflicts arising from the ACPI CA 20020611 import.
|
99560 |
07-Jul-2002 |
jake |
Enable netboot support by default, since it can now coexist with disk and cdrom support. This avoids having to distribute separate loaders.
|
99546 |
07-Jul-2002 |
mp |
Change help documentation for bootfile and module_path to reflect the actual code. Both use a ";" (not a ",") to delimit entries.
PR: 39679 Submitted by: Cyrille Lefevre <cyrille.lefevre@laposte.net> MFC after: 3 days
|
99541 |
07-Jul-2002 |
jake |
Make building with ficl work. Unfortunately booting with it doesn't.
|
99539 |
07-Jul-2002 |
jake |
Build ficl on sparc64 fwiw. It doesn't work.
|
99332 |
03-Jul-2002 |
mini |
Add missing kernal tunables to loader.conf.
PR: i386/39085 Submitted by: David Yeske <dyeske@yahoo.com>
|
99170 |
30-Jun-2002 |
iwasaki |
Fix a build problem for the ACPI CA 20020404 import. Add definition of COMPILER_DEPENDENT_INT64 and also fix definition of COMPILER_DEPENDENT_UINT64.
Pointed-out by: Michael Nottebrock <michaelnottebrock@gmx.net>
|
99013 |
29-Jun-2002 |
peter |
Remove a couple of __P() stragglers.
|
98594 |
21-Jun-2002 |
jake |
Enable cd9660 support by default.
|
98593 |
21-Jun-2002 |
jake |
Enable UFS1_AND_UFS2 support for sparc64 by default. Booting from ufs1 or ufs2 filesystems seems to work fine.
|
98556 |
21-Jun-2002 |
phk |
Revert the part of Kirks UFS2 commit which added divdi3.c and moddi3.c to libi386, this issue was resolved already in a cleaner way.
|
98542 |
21-Jun-2002 |
mckusick |
This commit adds basic support for the UFS2 filesystem. The UFS2 filesystem expands the inode to 256 bytes to make space for 64-bit block pointers. It also adds a file-creation time field, an ability to use jumbo blocks per inode to allow extent like pointer density, and space for extended attributes (up to twice the filesystem block size worth of attributes, e.g., on a 16K filesystem, there is space for 32K of attributes). UFS2 fully supports and runs existing UFS1 filesystems. New filesystems built using newfs can be built in either UFS1 or UFS2 format using the -O option. In this commit UFS1 is the default format, so if you want to build UFS2 format filesystems, you must specify -O 2. This default will be changed to UFS2 when UFS2 proves itself to be stable. In this commit the boot code for reading UFS2 filesystems is not compiled (see /sys/boot/common/ufsread.c) as there is insufficient space in the boot block. Once the size of the boot block is increased, this code can be defined.
Things to note: the definition of SBSIZE has changed to SBLOCKSIZE. The header file <ufs/ufs/dinode.h> must be included before <ufs/ffs/fs.h> so as to get the definitions of ufs2_daddr_t and ufs_lbn_t.
Still TODO: Verify that the first level bootstraps work for all the architectures. Convert the utility ffsinfo to understand UFS2 and test growfs. Add support for the extended attribute storage. Update soft updates to ensure integrity of extended attribute storage. Switch the current extended attribute interfaces to use the extended attribute storage. Add the extent like functionality (framework is there, but is currently never used).
Sponsored by: DARPA & NAI Labs. Reviewed by: Poul-Henning Kamp <phk@freebsd.org>
|
98472 |
20-Jun-2002 |
peter |
Add boot_serial and boot_multicons variables to set RB_SERIAL and RB_MULTIPLE since this seems to be the easiest way to add these flags for non-forth loaders etc.
|
98113 |
11-Jun-2002 |
phk |
#include <sys/disklabel.h> to get BBSIZE.
|
98110 |
11-Jun-2002 |
phk |
Make the alpha architecture use the common ufsread().
Submitted by: ticso
|
98014 |
07-Jun-2002 |
benno |
Uncomment some bits that we now need.
|
98013 |
07-Jun-2002 |
benno |
Fix up the DMA buffer allocation call.
|
97867 |
05-Jun-2002 |
phk |
Add explicit dependency on ufsread.c
|
97865 |
05-Jun-2002 |
phk |
Remove UFS related #includes, they're read in ufsread.c now.
|
97864 |
05-Jun-2002 |
phk |
Make sparc64 share ufsread.c with i386.
Sponsored by: DARPA & NAI Labs.
|
97863 |
05-Jun-2002 |
phk |
Avoid entering IOCCC with a memcpy turned bcopy.
|
97861 |
05-Jun-2002 |
phk |
Indent this file more like style(9).
Sponsored by: DARPA & NAI Labs.
|
97860 |
05-Jun-2002 |
phk |
Preparation for UFS2 commit:
Factor the ufs reading code out of the i386/boot2 loader so it can be reused by for instance sparc64.
Sponsored by: DARPA and NAI Labs.
|
97568 |
30-May-2002 |
schweikh |
Fix a handful of typos and grammar bogons. No content changes. Translators can ignore this commit.
MFC after: 2 weeks
|
97525 |
29-May-2002 |
schweikh |
Fix a handful of typos and grammar bogons. No content changes. Translators can ignore this commit.
MFC after: 2 weeks
|
97510 |
29-May-2002 |
jake |
Add needed include of queue.h. Remove unneeded include of smp.h.
|
97445 |
29-May-2002 |
jake |
Use a contrived 'tlb_entry' structure for passing the mappings for the kernel text and data from the loader to the kernel, so that the tte format is not part of the loader->kernel ABI.
|
97432 |
28-May-2002 |
jake |
Sync with i386. The loader was being installed before the beforeinstall target, which conventiently moved it to loader.old, leaving no loader.
|
97301 |
26-May-2002 |
n_hibma |
Cosmetic change (align with other boot blocks):
CONSPEED -> COMSPEED
Approved by: nyan
|
97201 |
24-May-2002 |
gordon |
Add support for reading an additional loader configuration file. By default, this is called /boot/nextboot.conf. This file is required to have it's first line be nextboot_enable="YES" for it to be read. Also, this file is rewritten by the loader to nextboot_enable="NO"<space> after it is read. This makes it so the file is read exactly once. Finally, the nextboot.conf is removed shortly after the filesystems are mounted r/w.
Caution should be taken as you can shoot yourself in the foot. This is only the loader piece. There will be a tool called nextboot(8) that will manage the nextboot.conf file for you. It is coming shortly.
Reviewed by: dcs Approved by: jake (mentor)
|
97065 |
21-May-2002 |
nyan |
Fixed to conflict labels.
Submitted by: Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
|
97060 |
21-May-2002 |
nyan |
MFi386: revision 1.22
|
96962 |
19-May-2002 |
jake |
MD ficl files for sparc64.
|
96912 |
19-May-2002 |
marcel |
o Remove namespace pollution from param.h: - Don't include ia64_cpu.h and cpu.h - Guard definitions by _NO_NAMESPACE_POLLUTION - Move definition of KERNBASE to vmparam.h
o Move definitions of IA64_RR_{BASE|MASK} to vmparam.h o Move definitions of IA64_PHYS_TO_RR{6|7} to vmparam.h
o While here, remove some left-over Alpha references.
|
96893 |
19-May-2002 |
marcel |
An almost mechanical sweep to replace C++ style comments with C style comments. This is not an attempt to conform to style(9). Such has lower priority.
|
96843 |
18-May-2002 |
phk |
Fix one of the va_arg() with less than int sized type probelms.
|
96755 |
16-May-2002 |
trhodes |
More s/file system/filesystem/g
|
96654 |
15-May-2002 |
jhay |
DEV_BSIZE lives in sys/param.h and not in machine/param.h anymore.
|
96583 |
14-May-2002 |
ru |
Even more BBSIZE related breakage.
|
96581 |
14-May-2002 |
nyan |
Fixed to build for GCC 3.1
|
96579 |
14-May-2002 |
nyan |
Add -ffreestanding to CFLAGS.
|
96533 |
13-May-2002 |
ru |
Align CLEANFILES with revision 1.25 changes.
|
96532 |
13-May-2002 |
ru |
Fixed CLEANFILES after bsd.lib.mk sweep.
|
96513 |
13-May-2002 |
ru |
Removed now unused INTERNALSTATICLIB. INTERNALLIB now implies NOPIC and NOPROFILE. Removed gratuitous NOMAN.
|
96512 |
13-May-2002 |
ru |
Major cleanup of bsd.lib.mk.
Get rid of the INTERNALSTATICLIB knob and just use plain INTERNALLIB. INTERNALLIB now means to build static library only and don't install anything. Added a NOINSTALLLIB knob for libpam/modules. To not build any library at all, just do not set LIB.
|
96497 |
13-May-2002 |
obrien |
Match the default newfs UFS block size.
|
96460 |
12-May-2002 |
bde |
Saved 176 bytes by compiling with -fno-guess-branch-probability. The default of -fguess-branch-probablility causes time optimizations (?) like rewriting `if (foo) x++;' as `if (!foo) goto forth; back: ; ...; forth: x++; goto back;". This is pessimizes space especially well on i386's because one short branch gets converted to 2 long ones.
Removed -fno-align-foo since it is implied by -Os. Previous commit messages seem to have overstated the new alignment bugs in gcc. The only case that affects boot2 is that -fno-align-functions (or equivalently -falign-functions=1) actually gives -falign-functions=2. This is caused by FUNCTION_BOUNDARY being 2 (bytes) instead of 1. The default case where the optimization level is 1 and no alignment options are given is more broken. All alignments are minimal, modulo the bug in FUNCTION_BOUNDARY. This is caused by toplev.c setting defaults too early.
Some hacks in previous commits ar not needed now, but may as well be kept until gcc is fixed. The previous on in the Makefile saved 96 bytes of text due to the wrong FUNCTION_BOUNDARY and 32 bytes of data due to unrelated bloat in the alignment of large objects. There aren't even any options to control alignment of data.
|
96455 |
12-May-2002 |
obrien |
Back out last commit. I expect our bsd.*.mk gods to remove the need for defining so many extra things in addition to INTERNALLIB. We don't like repetitive C code and we shouldn't for make code either.
|
96428 |
11-May-2002 |
jake |
Attempt to not crash and burn on UltraSPARC III machines; the cpuid property is named differently.
|
96426 |
11-May-2002 |
peter |
Save about 60 bytes by #define memcpy __builtin_memcpy and removing the function we provided. Restore the Keyboard: yes/no printf for the probe diagnostics. We end up with 40 bytes free.
|
96425 |
11-May-2002 |
peter |
Reconnect boot2. I'm sure I'll regret this though. :-)
|
96424 |
11-May-2002 |
peter |
Use a crowbar and duct-tape to make boot2 fit again. This gets it down to 4 bytes free. I removed a printf (the Keyboard yes/no) since it is of marginal value and sed'ed the generated asm output to remove the unwanted aligns. There's probably a better way to gain a few extra bytes than losing the printf. Shortening strings is probably a better option but this should get us over the hurdle.
|
96423 |
11-May-2002 |
jake |
Change the disk probing so that it will actually find disks other than the first one on a controller, and work for secondary controllers. Due to the prom not having nodes for each disk, but a catch-all one, we have to iterate over each device, trying to open it to determine whether it is actually present. Since probing this way takese some time (and spews some spurious warnings), it should maybe be short-circuited if we use the device we were booted from. Implement lazy device probing, and correct slice/partiniton handling in the ofwd_open() code. With this, I can now actually boot a kernel from disk, and the loader does not create unnecessary delays.
Submitted by: tmm
|
96415 |
11-May-2002 |
obrien |
NOPIC, NOPROFILE, NOMAN, and INTERNALSTATICLIB are redundant when using INTERNALLIB now.
|
96342 |
10-May-2002 |
obrien |
-ffreestanding is the word. (also resort some CFLAGS such that the more "important" value are first so they are easier to see)
|
96327 |
10-May-2002 |
jhb |
- Axe -mpreferred-stack-boundary=2 as -Os turns this on by default. - Axe -fdata-sections as turning it on or off makes no difference. If it did make a difference it would serve to bloat boot2 even further with extra padding. - Axe -fforce-addr. This gets us 32 bytes so we are down to only being 64-bytes over.
We still can't compile this with gcc 3.1. The problem seems to be that the -fno-align-foo options don't actually work. Comparing the new and old output it turns out that gcc is 4-byte padding all the functions and labels and what not despite the passed in arguments thus adding the unfortunate bloat to boot2.
|
96310 |
10-May-2002 |
obrien |
We don't need bootinfo any more, and sparc64 doesn't have it anyways.
|
96309 |
10-May-2002 |
obrien |
Don't be redundant.
|
96306 |
10-May-2002 |
obrien |
-ffreestanding is the word for /sys.
|
96305 |
10-May-2002 |
obrien |
Turn off boot2 -- it gained over 96 bytes dieting on the in-tree Gcc 3.1.
|
96269 |
09-May-2002 |
obrien |
Ficl doesn't build on sparc64.
|
96261 |
09-May-2002 |
obrien |
Partical style cleanup.
|
96247 |
09-May-2002 |
joe |
Replace /kernel with /boot/kernel/kernel.
PR: docs/37757 Submitted by: Hiten Pandya <hiten@uk.FreeBSD.org>
|
95531 |
26-Apr-2002 |
wes |
Rename the file used to specify the nextboot to make it clear that this is a loader configuration file and can be used for more than just a kernel name.
Submitted by: Gordon Tetlow <gordont@gnf.org>
|
95524 |
26-Apr-2002 |
dcs |
A long, long time ago, msmith introduced vfs.root.mountfrom loader variable, which let users specify the root mount point the exact way one does after booting the kernel.
Let's take this opportunity to document it...
|
95485 |
26-Apr-2002 |
wes |
Add a -k option to reboot to specify the kernel to boot next time around. If the kernel boots successfully, the record of this kernel is erased, it is intended to be a one-shot option for testing kernels.
This could be improved by having the loader remove the record of the next kernel to boot, it is currently removed in /etc/rc immediately after disks are mounted r/w.
I'd like to MFC this before the 4.6 freeze unless there is violent objection.
Reviewed by: Several on IRC MFC after: 4 days
|
95450 |
25-Apr-2002 |
nyan |
MFi386: revision 1.56
|
95449 |
25-Apr-2002 |
nyan |
MFi386: revision 1.8
|
95351 |
24-Apr-2002 |
jake |
Split file system setup code out into a function called mount. Implement vsnprintf. Implement panic in terms of it.
|
95346 |
24-Apr-2002 |
jake |
Add support for loading files other than /boot/loader. Useful if you're loader is screwed and you want loader.old. Rewrite the scaled down printf so it actually works right, and add support for more formats.
|
95342 |
24-Apr-2002 |
jake |
Add an exit function.
|
95341 |
24-Apr-2002 |
jake |
Add -Wno-unused.
|
95340 |
24-Apr-2002 |
jake |
memcpy, memset -> bcopy, bzero.
|
95339 |
24-Apr-2002 |
jake |
Clean up elf loading to not make assumptions about the ordering of sections. Don't load the symbol table; this is only needed for loading kernels and we load the loader.
|
95338 |
24-Apr-2002 |
jake |
Remove xfsread. Just call fsread directly.
|
95337 |
24-Apr-2002 |
jake |
Remove a bunch of unused variables, functions and macros. Allocate storage statically instead of using a faked up malloc.
|
95190 |
21-Apr-2002 |
marcel |
Improve self-relocation: o We don't expect the PLT relocations to follow the .rela section anymore. We still assume that PLT relocations are long formed, o Document register usage, o Improve ILP, o Fix the FPTR relocation by creating unique OPDs per function. Comparing functions is valid now, o The IPLT relocation naturally handles the addend. Deal with it. We ignore the addend for FPTR relocations for now. It's not at all clear what it means anyway.
Fix ABI misinterpretation: o For Elf_Rela relocations, the addend is explicit and should not be loaded from the memory address we're relocating. Only do that for Elf_Rel relocations (ie the short form). o DIR64LSB is not the same as REL64LSB. DIR64LSB applies to a symbol (S+A), whereas REL64LSB applies to the base address (BD+A),
|
95172 |
21-Apr-2002 |
obrien |
o Use our own elf2aout now. o Generalize a little.
|
95026 |
19-Apr-2002 |
marcel |
Allocate sufficient pages to hold the bootinfo block and stop hardwiring the location.
|
94956 |
17-Apr-2002 |
ru |
Install files via FILES, there's no reason to compare them before installing.
|
94952 |
17-Apr-2002 |
ru |
Really unbreak it this time (clean and install were still broken).
|
94765 |
15-Apr-2002 |
nyan |
MFi386: revision 1.7.
|
94510 |
12-Apr-2002 |
ru |
Unbreak this as well. At the extra bonus of fixing the contents of the .depend file.
Not really my day.
|
94419 |
11-Apr-2002 |
peter |
Bandaid for a buffer overrun in the module searching code. When breaking up the module_path string, we would walk one past the end of the buffer. This hurting ia64 originally, but it was probably also happening on i386 occasionally as well. The effects were usually harmless, it would add bogus "binary" search directories to the places it actually looked for files.
|
94418 |
11-Apr-2002 |
peter |
Finally fix loader completely for IA64. efifs_stat() wasn't setting the S_IFREG bit for regular files. This caused the path search code to skip it when it finally did find the kernel (after the common/module.c buffer overrun bug was fixed)
|
94411 |
11-Apr-2002 |
pb |
Code cleanup, no functional change. Patch adapted from PR.
PR: i386/36015 Submitted by: thomas@cuivre.fr.eu.org MFC after: 1 week
|
94313 |
09-Apr-2002 |
dcs |
Upgrade FICL to 3.02. Forgot this one, sorry.
PR: 36308 Submitted by: dcs
|
94290 |
09-Apr-2002 |
dcs |
Upgrade to FICL version 3.02. Anything wrong is my fault, everything right is due Jon Mini.
PR: 36308 Submitted by: Jon Mini <mini@haikugeek.com> MFC after: 4 weeks
|
94248 |
09-Apr-2002 |
jake |
Fix another unsigned long used to index the symbol table which should be Elf_Hashelt.
|
94024 |
07-Apr-2002 |
peter |
We must not let install(1) strip loader.efi when installing it, or the resulting binary will be damaged and no longer work.
|
94023 |
07-Apr-2002 |
peter |
Set BINDIR
|
94022 |
07-Apr-2002 |
peter |
Add loader bootforth infrastructure and install it.
|
93926 |
06-Apr-2002 |
peter |
Make it a bit closer to the EFI build and tie up some loose ends.
|
93925 |
06-Apr-2002 |
peter |
Try and tidy up some very loose ends with paths to various libraries etc.
|
93924 |
06-Apr-2002 |
peter |
Do not add the ficl/alpha subdir to the ia64 include path. Try ficl/ia64 instead.
|
93923 |
06-Apr-2002 |
peter |
Do not assume that ${OBJCOPY} variable exists. It was hidden by the fact that the 'ia64-make' wrapper explicitly set it.
|
93922 |
06-Apr-2002 |
peter |
Use the correct elf hash table entry type. This matches a similar fix in the kernel side of things some time ago. The hash table entries are always 32 bits wide, even on 64 bit machines.
|
93921 |
06-Apr-2002 |
peter |
Fix self hosted loader building. When you use a self configured gcc, it detects and uses the gas section merge support. As a result, a whole bunch of new sections arrive, including .rodata.str1.8, which was not included in our custom ldscript.ia64. The result was a loader binary that EFI rejected.
While here, collect the loader shell commands linker set and include it in the data area rather than having its own section.
/boot/loader.efi was the last holdout for having a 100% self built ia64 system.
|
93753 |
04-Apr-2002 |
peter |
Use a relative path to libstand.. /usr/src/lib/libstand may not exist or may have the wrong header files.
|
93678 |
02-Apr-2002 |
tmm |
Do not use semi-fixed TLB slots for the 4M kernel pages any more.
|
93677 |
02-Apr-2002 |
tmm |
1.) Rename locore.s to locore.S (by repocopy), to be able to remove special-case make rule 2.) Cleanups, remove superfluous expicit rules, add -nostdlib to LDFLAGS, remove -X and -g, remove -g from CFLAGS 3.) Add BINDIR 4.) Build install the loader help file, add an empty help.sparc64 5.) Change the default configuration to only support booting from disk 6.) Get libofw.a from a path relative ${.OBJDIR}, not ${.CURDIR}
Submitted by: jake (1 - 5), obrien (6)
|
93606 |
01-Apr-2002 |
tmm |
Add support for booting from CD-ROM. Make it possible to enable UFS support using make arguments.
|
93605 |
01-Apr-2002 |
tmm |
1.) Produce a boot1 disklabel template of the format disklabel(8) expects. 2.) Clean up and change over to using bsd.prog.mk
Submitted by: jake (2)
|
93485 |
31-Mar-2002 |
marcel |
Only install the help file if we can find it. Use ${BASE}.help in both the condition and for the install. We expect to find the help file in ${.OBJDIR}.
|
93459 |
30-Mar-2002 |
marcel |
Pass the address of the bootinfo block to the kernel in register r8. Keep it at the hardwired address for now. Bump the version.
|
93454 |
30-Mar-2002 |
marcel |
Pass the physical address of the bootinfo block to the kernel in register r8. We continue to write the bootinfo block at the same hardwired address, because the kernel still expects it there. It is expected that future kernels use register r8 to get to the bootinfo block and don't depend on the hardwired address anymore.
Bump the loader version once again due to the interface change.
|
93416 |
30-Mar-2002 |
nyan |
MFi386: revision 1.55
|
93411 |
30-Mar-2002 |
marcel |
Add a quick and dirty way to determine where we're loaded from. We only care if it's network or not at this time. If we're loaded from the network, we set currdev (=loaddev) so that the kernel is loaded from the network as well. In all other cases we initialize to disk. This makes netbooting more convenient and can easily be enhanced to do more elaborate checking.
|
93410 |
30-Mar-2002 |
marcel |
The EFI loader has been improved a lot since it was first added. Most significantly (from an interfacing point of view) is the support for the FPSWA pointer passing. Even though that was added 4 months ago, it's probably not a bad idea to bump the version number to reflect this.
|
93409 |
30-Mar-2002 |
marcel |
Fix the initialization of the protocol: o Query the state field of the protocol mode to determine whether we need to start and/or initialize the protocol. When we're loaded across the network, the protocol has already been started and is already initialized. When no networking has happened yet, we have to start and initialize the protocol ourselves. o After initialization, we have to set the receive filters. Not doing this results in a deaf interface. We set the unicast and broadcast filters. Multicast may not be supported. This specific change fixes the problem we had that we could not netboot if the loader was started from the EFI shell. o To help future debugging, add a function that dumps the current mode of the interface. It's conditional on EFINET_DEBUG. o To help in runtime problems, emit a diagnostic message when we could not initialize the protocol properly.
|
93405 |
30-Mar-2002 |
marcel |
Don't blindly dereference f->f_devdata as if it's always a pointer to an efi_devdesc structure. When we're netbooting, f->f_devdata holds the address of the network socket variable. Dereferencing this caused some very unpredictable behaviour, including proper functioning. So, as a sanity check, we first make sure f->f_dev points to our own devsw. If not, the open will fail before we use f->f_devdata.
This solves the netboot hangs I invariably got whenever I used the latest toolchain to compile the EFI loader.
|
93403 |
29-Mar-2002 |
marcel |
o Make efinet_put a blocking call by waiting for the protocol layer to signal transmission of the packet. This resolves the problem I'm seeing that an immediate call to net->Receive after calling net->Transmit returns EFI_DEVICE_ERROR. This condition seems to be sufficiently persistent that BOOTP and RARP fail. o While here, unify all functions to have 'nif' defined. Some have it as arguments. The others now have them as locals. We now always get the protocol interface by using the 'nif' var.
The current status of netbooting is that even though we now reliably have BOOTP working (again), opening a file (ie loading a kernel) across the network causes the loader to hang. I'm working on that now.
|
93400 |
29-Mar-2002 |
marcel |
Fix the beforeinstall target. We install ${PROG}.help if loader.help exists, otherwise we install it anyway. I interpret this as a very high desire to install ${PROG}.help. Alas, ${PROG}.help doesn't exist at the moment and neither does loader.help, so in practice this just doesn't work, no matter how you interpret it. The compromise is to install ${PROG}.help IFF it exists. I realize we lost creativity with this commit, but style should have been preserved, AFAICT :-)
|
93352 |
28-Mar-2002 |
obrien |
Needs a.out support built into the loader.
|
93321 |
28-Mar-2002 |
marcel |
o Don't include sys/cdefs.h
|
93320 |
28-Mar-2002 |
marcel |
o Add -L${DESTDIR}${LIBDIR} on the link line for -lstand. o Add -j .dynstr to objcopy. This makes .efi binaries work when built with a 3.x based toolchain.
|
93319 |
28-Mar-2002 |
marcel |
Duplicate the logic used elsewhere to define LIBSTAND.
|
93313 |
28-Mar-2002 |
obrien |
was repocopied to ../boot1
|
93311 |
28-Mar-2002 |
obrien |
Apparently either gcc or ld, in their infinite wisdom, want to put a bunch of crap before the code in .text. Since the firmware doesn't seem to honour the a.out entry point, we need to include a little assmbler file which jumps to where we want to be in C.
Submitted by: jake
|
93308 |
28-Mar-2002 |
obrien |
Opps, bootblock component is no more.
|
93307 |
28-Mar-2002 |
obrien |
sparc64 is an ofw consumer.
|
93306 |
28-Mar-2002 |
obrien |
Not all platforms have and want a.out format support.
|
93302 |
28-Mar-2002 |
obrien |
Add a Makefile for sparc64 at this level.
|
93044 |
23-Mar-2002 |
pb |
Add option -n to i386 boot2 to disallow boot interruption by keypress.
PR: i386/36016 Submitted by: Thomas Quinot <thomas@cuivre.fr.eu.org> Reviewed by: rnordier MFC after: 1 week
|
92766 |
20-Mar-2002 |
alfred |
Remove __P.
|
92731 |
19-Mar-2002 |
peter |
Add EFI write support to loader
|
92658 |
19-Mar-2002 |
peter |
Add -ffreestanding to avoid printf/puts/putchar conversions
|
92657 |
19-Mar-2002 |
peter |
Boot from efifs first.
|
92656 |
19-Mar-2002 |
peter |
gcc-3.1 likes to have extra { } around the internal array initializers in the GUID templates.
|
92494 |
17-Mar-2002 |
sobomax |
Add splitfs vfs layer into libstand, which allows loading big kernels and modules split across several physical medias. Following is how it works:
The splitfs code, when asked to open "foo" looks for a file "foo.split" which is a text file containing a list of filenames and media names, e.g.
foo.aa "Kernel floppy 1" foo.ab "Kernel floppy 2" foo.ac "Kernel and modules floppy"
For each file segment, the process is:
- try to open the file - prompt "Insert the disk labelled <whatever> and press any key..." - try to open the file - return error if file could not be located
RE team is free to use this feature in the upcoming 5.0-DP1.
Reviewed by: msmith, dcs
|
92339 |
15-Mar-2002 |
ru |
mdoc(7) police: fix a typo and markup.
|
92225 |
13-Mar-2002 |
ru |
Implement -m and -p loader(8) "boot" command options in boot2. (This is more useful for 4.x where boot blocks can still load kernels, modulo the PR kern/17422.)
|
92224 |
13-Mar-2002 |
ru |
Further document "console" (nullconsole).
|
92030 |
10-Mar-2002 |
sobomax |
CG superfluous prototype.
|
91696 |
05-Mar-2002 |
robert |
Change every occurrence of "bootblock" into "boot1" after the repo-move from "src/sys/boot/sparc64/bootblock".
|
91678 |
05-Mar-2002 |
robert |
- Fix seeking for offsets requiring more than 32 bits. - Add sanity checks to lookup(). - Implement the 'l' modifier in printf().
Submitted by: tmm
|
91609 |
04-Mar-2002 |
alfred |
Support for USB fm radio.
Submitted by: David Yeske <dyeske@yahoo.com>
|
91519 |
01-Mar-2002 |
jake |
Catch up to change in tte format.
Forgetten by: jake Submitted by: tmm
|
91480 |
28-Feb-2002 |
nyan |
Add -D_KERNEL to CFLAGS for ntohl().
|
91295 |
26-Feb-2002 |
robert |
- Fix indentation and return statements to conform to style(9). - Use the __FBSDID macro. - Fix some warnings.
Submitted by: obrien (partly)
|
91219 |
25-Feb-2002 |
bde |
Declare time(not3) instead of depending on namespace pollution 3 layers deep in <stand.h> to eventually include <time.h> to declare the user version.
This is not quite the right place to declare it, but <stand.h> would be worse because time() is very MD so it isn't in libstand.
Many places in the boot sources still get the user version using only 1 layer of pollution (#include <sys/time.h>. Some pollute themselves directly (#include <time.h>). But the boot Makefiles are too broken to enable warnings for redeclarations.
|
91218 |
25-Feb-2002 |
bde |
Removed mounds of unused variables.
|
91139 |
23-Feb-2002 |
jake |
Keep track of the ttes used to map the kernel and pass them to it as loader metadata. Modify tlb handling functions to take a tte, instead of virtual address, physical address and flags.
|
91115 |
23-Feb-2002 |
jake |
Add -ffreestanding to CFLAGS.
|
91114 |
23-Feb-2002 |
jake |
Add make variables for fs support and propagate them to CFLAGS. Put -ffreestanding in CFLAGS. Remove unnecessary LDFLAGS.
|
91113 |
23-Feb-2002 |
jake |
Fix test for != 0 that should be > 0.
|
91112 |
23-Feb-2002 |
jake |
Check the return values of index() and don't dereference it if its null; the path may not have a ':' in it. The mac address property is called mac-address for sparc64. Don't allocate a dma buffer for sparc64 either.
|
91111 |
23-Feb-2002 |
jake |
#if 0 more bootinfo stuff.
|
91110 |
23-Feb-2002 |
jake |
Fix fs support ifdefs. Add tftp support. Add physical and virtual watchpoint support for debugging (under LOADER_DEBUG). Claim the physical and virtual addresses used to map the kernel from the prom; we map it ourselves behind the scenes though. Add a reboot command.
Submitted by: tmm
|
91109 |
23-Feb-2002 |
jake |
Allocate a frame on our initial stack so that it doesn't run off into random memory. Disable interrupts while loading the tlb.
Submitted by: tmm
|
91108 |
23-Feb-2002 |
jake |
Add OF_claim_virt() and OF_release_phys().
Submitted by: tmm
|
91107 |
23-Feb-2002 |
jake |
Include <machine/metadata.h>.
|
91008 |
21-Feb-2002 |
davidc |
Document the hw.physmem kernel environment variable.
Reviewed by: alfred
|
90703 |
15-Feb-2002 |
robert |
- Remove unneeded variable. - Remove change for my local configuration that slipped in with the last commit; I am having problems booting when multiple SCSI disks are attached, so I will change this part as soon as I find a solution, anyway.
|
90701 |
15-Feb-2002 |
robert |
This file is now unneeded.
|
90700 |
15-Feb-2002 |
robert |
- Do not include a NetBSD header as it is not needed anymore. - Remove two constants that were needed in conjuction with the NetBSD disklabel header. Use the FreeBSD equivalents. To boot from NetBSD/sparc64 partitions, define LABELOFFSET to be 128. - Do not use the complete open firmware path to filter out cdrom drives. No path containing "cdrom" is detected as a disk now. - Simplify some code.
|
90699 |
15-Feb-2002 |
robert |
Add the FreeBSD/sparc64 bootblock and its make file.
|
90063 |
01-Feb-2002 |
nyan |
Expand COMBRD(x) macro.
|
89699 |
23-Jan-2002 |
sobomax |
CG hard sentence breaks.
Submitted by: ru
|
89601 |
21-Jan-2002 |
sobomax |
Allow dump device be configured as early as possible using loader(8) tunable. This allows obtaining crash dumps from the panics occured during late stages of kernel initialisation before system enters into single-user mode.
MFC after: 2 weeks
|
89519 |
18-Jan-2002 |
iedowse |
Cut more than 500 bytes off the size of the alpha boot1 by adding a simple version of bcopy() so we avoid picking up the overly-complex implementation in libc (via libstand). This is not necessary on -current, but RELENG_4 has apparently just exceeded the 15-sector limit for boot1.
Reviewed by: wilko
|
89495 |
18-Jan-2002 |
nyan |
Added kgzldr for pc98. crt.s is based on btx.s.
|
89481 |
17-Jan-2002 |
iedowse |
Oops, the previous revision (1.35) broke booting from floppies because the buffers we use could end up spanning a 64k boundary. Unfortunately it causes too much bloat (228 -> 72 bytes free) to just reinstate the old malloc() function.
Instead, define a structure that contains all 4 buffers which must not cross 64k boundaries. We allocate a 64k-aligned instance in main() using the magic that was in the old boot2 malloc() function. This brings the free space down to 168 bytes, but that is still better than it was before revision 1.35 (136 bytes).
Reported by: Mike Brancato <funnyguy@digitalsmackdown.net> Pointy-hat to: iedowse
|
89368 |
14-Jan-2002 |
iedowse |
Make the i386 boot2 fully blocksize-agnostic, as has already been done with boot1 on the alpha. We use 4k buffers regardless of the actual filesystem block size.
Remove the simple malloc() implementation, as it is no longer used.
|
89265 |
11-Jan-2002 |
iedowse |
Make the alpha boot1 work on filesystems that have a block size larger than 8k. We now use 4k buffers regardless of the filesystem block size, so there is no longer a static limit.
Simply increasing the buffer size from 8k to 16k as done on the i386 doesn't work on the alpha, probably because it causes us to overshoot boot1's 48k runtime memory limit.
Tested by: naddy
|
89242 |
11-Jan-2002 |
jhb |
Catch the netboot version up to the main loader. This is pretty bogus. All the alpha loaders should use the same version file. Also, we might should merge the various loaders (cdboot, loader, netboot) into one loader that can boot off of disks, CD's, and network devices. The version bump is needed so the FICL scripts won't bomb out thinking that the netboot binary is too old.
|
89240 |
10-Jan-2002 |
jhb |
Unrevert revision 1.12. Revision 1.14 backed this out saying it was backing out the 1024 sector boot0, but revision 1.12 had nothing to do with that. Instead, it documented various compile time options for boot0 and allowed them to be overridden via make.conf or options on the make command line.
|
89154 |
09-Jan-2002 |
iedowse |
Increase BSIZEMAX from 8k to 16k, so that we can reliably boot from filesystems with 16k blocks.
|
88874 |
04-Jan-2002 |
jhb |
Don't turn on RB_CDROM if the rootdev is a BIOS cd device for now as this breaks when cdboot is used with an MFS root.
|
88597 |
28-Dec-2001 |
robert |
Avoid having the text and data sections merged into one program header table entry by removing the -N flag from the LDFLAGS.
|
88253 |
20-Dec-2001 |
jim |
Add missing snd_ich_load entry.
Noticed by: will MFC after: 2 days
|
87855 |
14-Dec-2001 |
ru |
mdoc(7) police: remove hard sentence break which I didn't submit to Jonathan Mini.
|
87734 |
12-Dec-2001 |
nyan |
MFi386: revision 1.35 (Add support for writing to BIOS disks)
|
87636 |
11-Dec-2001 |
jhb |
- Add 'fwrite' and 'fseek' words for writing to and seeking on files. - Change the 'fopen' keyword to accept a mode parameter. Note that this will break existing 4th scripts that use fopen. Thus, the loader version has been bumped and loader.4th has been changed to check for a sufficient version on i386 and alpha. Be sure that you either do a full world build or install or full build and install of sys/boot after this since loader.old won't work with the new 4th files and vice versa.
PR: kern/32389 Submitted by: Jonathan Mini <mini@haikugeek.com> Sponsored by: ClickArray, Inc.
|
87634 |
11-Dec-2001 |
jhb |
Add support for writing blocks to the loader's disk cache.
PR: kern/32389 Submitted by: Jonathan Mini <mini@haikugeek.com> Sponsored by: ClickArray, Inc.
|
87633 |
11-Dec-2001 |
jhb |
Add support for writing to BIOS disks.
PR: kern/32389 Submitted by: Jonathan Mini <mini@haikugeek.com> Sponsored by: ClickArray, Inc.
|
87620 |
10-Dec-2001 |
guido |
Add new boot flag to i386 boot: -p. This flag adds a pausing utility. When ran with -p, during the kernel probing phase, the kernel will pause after each line of output. This pausing can be ended with the '.' key, and is automatically suspended when entering ddb.
This flag comes in handy at systems without a serial port that either hang during booting or reser. Reviewed by: (partly by jlemon) MFC after: 1 week
|
87599 |
10-Dec-2001 |
obrien |
Update to C99, s/__FUNCTION__/__func__/, also don't use ANSI string concatenation.
|
87505 |
07-Dec-2001 |
rwatson |
o Expand list of tunables documented in loader.8 to include kern.maxusers, since other related tunables were also documented here. Add a cross reference to tuning(7) for information on setting this value appropriately.
|
87344 |
04-Dec-2001 |
des |
The entry for the 'set' command no longer has a list of variables.
PR: 32454 Submitted by: Gary W. Swearingen <swear@blarg.net> MFC after: 3 days
|
87265 |
03-Dec-2001 |
dcs |
Remove unused filed.
PR: kern/32395 Submitted by: Jonathan Mini <mini@haikugeek.com>
|
87261 |
03-Dec-2001 |
murray |
Fix typo.
PR: 32455 Submitted by: "Gary W. Swearingen" <swear@blarg.net>
|
87058 |
28-Nov-2001 |
dcs |
Waits for a keypress before rebooting on panic.
PR: kern/32351 Submitted by: Jonathan Mini <mini@haikugeek.com> MFC after: 1 week
|
87004 |
27-Nov-2001 |
rwatson |
Document the "console" setting in loader.conf, suggesting vidconsole or comconsole.
|
86902 |
26-Nov-2001 |
rwatson |
o Add 'kern.maxusers' to the list of commented out sample tunable variables, since that can now be tuned at boot-time without a recompile.
|
86753 |
21-Nov-2001 |
jhb |
Bump the CD boot loader up to 1.1 so that the FICL upgrade a while back will not fail thinking that the loader version is stale. This lets us use the Forth code on the CD now.
|
86608 |
19-Nov-2001 |
obrien |
Upper case the FreeBSD loader prompt. On OFW based machines, it is just too confusing having the firmware and OS loader giving the same prompt. This is a nice compromise that 99% of the users on non-OFW platforms will probably not even notice.
|
86588 |
19-Nov-2001 |
peter |
Lookup the EFI_FPSWA driver and pass the interface pointer through to the kernel before we call ExitBootServices(). I've typed the definitions in efifpswa.h from the Intel FPSWA manual (urk).
|
86586 |
19-Nov-2001 |
peter |
Remove bootinfo.bi_kernel. It isn't used by the kernel. struct bootinfo should go away on ia64, we should be loader metadata based since that is the only way we can boot (loader, skiload).
|
86585 |
19-Nov-2001 |
peter |
Fix a dependency violation, same as in libefi/elf_freebsd.c a while back.
|
86584 |
19-Nov-2001 |
peter |
This is used in C, not C++. functions with no args have func(void) in our kernel.
|
86497 |
17-Nov-2001 |
nyan |
MFi386: revisions from 1.26 to 1.30.
|
86496 |
17-Nov-2001 |
nyan |
MFi386: revision 1.12
|
86469 |
16-Nov-2001 |
iedowse |
Fix a number of misspellings of "dependency" and "dependencies" in comments and function names.
PR: kern/8589 Submitted by: Rajesh Vaidheeswarran <rv@fore.com>
|
86168 |
07-Nov-2001 |
fenner |
Initialize first to -1; this will create a (nearly) empty file on failure, instead of looping until the disk is full. This kind of failure can especially happen when a version of awk that doesn't support POSIX character classes is used.
Submitted by: David Wolfskill <david@catwhisker.org>
|
86164 |
07-Nov-2001 |
jhb |
Remove a few more debugging bits and turn on twiddle output while reading from the CD. This turns off the dual console output to COM1.
|
86133 |
06-Nov-2001 |
iwasaki |
Add S4BIOS sleep (BIOS hibernation) and DSDT overriding support. - Add S4BIOS sleep implementation. This will works well if MIB hw.acpi.s4bios is set (and of course BIOS supports it and hibernation is enabled correctly). - Add DSDT overriding support which is submitted by takawata originally. If loader tunable acpi_dsdt_load="YES" and DSDT file is set to acpi_dsdt_name (default DSDT file name is /boot/acpi_dsdt.aml), ACPI CA core loads DSDT from given file rather than BIOS memory block. DSDT file can be generated by iasl in ports/devel/acpicatools/. - Add new files so that we can add our proposed additional code to Intel ACPI CA into these files temporary. They will be removed when similar code is added into ACPI CA officially.
|
86131 |
06-Nov-2001 |
nyan |
MFi386: sys/boot/i386/loader/main.c revision 1.25
|
86130 |
06-Nov-2001 |
nyan |
MFi386: sys/boot/i386/libi386/Makefile revision 1.21
|
86094 |
05-Nov-2001 |
jhb |
- If we are booted via cdboot, use bc_add() to instantiate the cd0 device from the loader. - Cleanup extract_currdev() some and add support for setting the currdev to cd0 when booted via cdboot.
|
86093 |
05-Nov-2001 |
jhb |
Hook up the bioscd driver and the cd9660 filesystem.
|
86091 |
05-Nov-2001 |
jhb |
Add a device driver for the BIOS device for CD-ROM's booted via El Torito no emulation mode. Unlike other BIOS devices, this device uses 2048 byte sectors. Also, the bioscd driver does not have to worry about slices or partitions.
|
86090 |
05-Nov-2001 |
jhb |
Add a DEVT_CD type for CD drivers.
|
86001 |
04-Nov-2001 |
jhb |
Trim all the extra debugging output including hexdumps, debug messages, etc. The only bit of debugging left is performing dual output to both the screen and COM1. Also, the twiddle is still disabled since it seems to do weird things to the serial dump. cdboot now has 880 bytes to spare.
|
86000 |
04-Nov-2001 |
jhb |
Axe the old cdldr.
|
85999 |
04-Nov-2001 |
jhb |
Use the new cdboot instead of cdldr.
|
85998 |
04-Nov-2001 |
jhb |
This is a new CD bootstrap utility designed to replace cdldr. According to the El Torito standard for CD booting, a CD may boot in "No emulation" mode without using a floppy image. In this mode, the BIOS loads a program off of the CD into memory and creates a BIOS device using 2048 byte sectors for the CD. According to the standard, this program can be up to 0xFFFF virtual (512-byte) sectors long. The old cdldr depended on this by having the BIOS load the entire loader and the small cdldr stub as one binary similar to pxeboot so that cdldr didn't have to read the CD to find the loader. However, the NT no emulation loader just uses 1 disk sector (4 virtual sectors), so it seems that at least some BIOS writers just did enough to get NT to boot by only loading 1 sector and ignoring the sector count. Thus, while cdldr should have worked in theory, it doesn't in practice. This replacment fits entirely in 1 sector and includes simple ISO 9660 support. It looks for /boot/loader on the CD and loads it up using the BIOS. This allows us to not have to depend on the limited size of floppy images but use a full GENERIC kernel for CD-ROM installs in the future, among other things.
This version of cdboot is a bit bloated as it includes some useful debugging routines that people can pull to use in other x86 assembly modules. Even with all the debugging cruft, we still have 272 bytes to spare.
|
85997 |
04-Nov-2001 |
jhb |
Print out 'foo devices:' as the line before displaying a group of devices in 'lsdev' output rather than printing out a pointer to the print function since the user really could care less about the pointer value. Perhaps this was intended to be a debugging printf?
|
85995 |
03-Nov-2001 |
jhb |
Whoops, missed these bits in the previous commit.
|
85994 |
03-Nov-2001 |
jhb |
Add support for sending messages to the serial console which is helpful when debugging boot problems. It is not on by default but is enabled via the BTX_SERIAL variable. The port and speed can be set via the same variables used by boot2 and the loader.
|
85993 |
03-Nov-2001 |
jhb |
Add support for outputting multiple lines when dumping memory during the register dump. Change the default to bump 2 lines of output (32 bytes) instead of 1 line (16 byte).
|
85990 |
03-Nov-2001 |
jhb |
Add support for trace traps by returning from them just as for breakpoint traps rather than halting. Ideally, we should avoid printing the 'BTX halted' message for debug register dumps.
|
85989 |
03-Nov-2001 |
jhb |
Output a newline at the end of a dump so that there are blank lines between dumps when using breakpoints or tracing.
|
85935 |
03-Nov-2001 |
obrien |
Revert rev 1.3 which moved us away from POSIX character classes. The community feels our base AWK must handle them.
|
85934 |
03-Nov-2001 |
obrien |
Revert rev 1.7 which moved us away from POSIX character classes. The community feels our base AWK must handle them.
|
85892 |
02-Nov-2001 |
mike |
o Add new header <sys/stdint.h>. o Make <stdint.h> a symbolic link to <sys/stdint.h>. o Move most of <sys/inttypes.h> into <sys/stdint.h>, as per C99. o Remove <sys/inttypes.h>. o Adjust includes in sys/types.h and boot/efi/include/ia64/efibind.h to reflect new location of integer types in <sys/stdint.h>. o Remove previously symbolicly linked <inttypes.h>, instead create a new file. o Add MD headers <machine/_inttypes.h> from NetBSD. o Include <sys/stdint.h> in <inttypes.h>, as required by C99; and include <machine/_inttypes.h> in <inttypes.h>, to fill in the remaining requirements for <inttypes.h>. o Add additional integer types in <machine/ansi.h> and <machine/limits.h> which are included via <sys/stdint.h>.
Partially obtain from: NetBSD Tested on: alpha, i386 Discussed on: freebsd-standards@bostonradio.org Reviewed by: bde, fenner, obrien, wollman
|
85875 |
02-Nov-2001 |
nyan |
Fixed sioreg.h path.
|
85842 |
01-Nov-2001 |
obrien |
Substitute "[:space:]" with the character constants it expands to. This was a silent 'failure' when using Bell-Labs awk.
Submitted by: David Wolfskill <david@catwhisker.org>
|
85808 |
01-Nov-2001 |
obrien |
Bell-Labs AWK does not support POSIX "bracket expressions" (POSIXese for "character classes", basically). So change them to their character representation.
Submitted by: David Wolfskill <david@catwhisker.org>
|
85805 |
01-Nov-2001 |
peter |
Fix the ILLEGAL fdisk table that is there for supporting "dangerously dedicated" mode. This was specifying that there are 256 (illegal!) heads on the disk. If bioses store that in a byte, and it gets truncated to 0, then that almost certainly causes the infamous divide-by-zero nightmare.
This is also most likely the reason why the Thinkpad T20/A20 series were locking up when FreeBSD was installed. This is also the most likely reason why a boot1 being present causes an IA64 box to lock up at boot. (removing the "part4" stuff from boot1.s fixes the IA64 boxes and would most likely have fixed the T20/A20 and some TP600E series thinkpads)
|
85720 |
30-Oct-2001 |
jake |
Add code to copy the enironment and loader metadata into kernel space.
|
85719 |
30-Oct-2001 |
jake |
Add definitions for network support, doesn't work yet. Pass the right arguments to the kernel. Replace magic numbers with symbolic constants. Pass the real openfirmware entry point to OF_init.
|
85718 |
30-Oct-2001 |
jake |
Use ENTRY() for defining functions in asm. Remove asm functions to call the openfirmware and kernel entry points; we can just call them directly. Don't use the stack pointer for an intermediate result in setx. Put the stack in the bss.
|
85717 |
30-Oct-2001 |
jake |
Make the openfirmware entry point function pointer non-static so that it can be passed to the kernel.
|
85652 |
29-Oct-2001 |
marcel |
Set RB_MULTIPLE (multiple console support) if the kernel is booted with the -D flag.
|
85477 |
25-Oct-2001 |
ru |
Just use ${MACHINE}, it's already special-casing pc98.
|
85476 |
25-Oct-2001 |
dfr |
Call ExitBootServices and disable interrupts before we start hacking the VM registers. This ought to make things slightly more reliable here.
|
85475 |
25-Oct-2001 |
dfr |
Add the two sections used for PLT entries to the text and sdata sections respectively. This makes IPLTLSB relocations work properly (these are generated for weak symbols, particularly for _longjmp).
|
85436 |
24-Oct-2001 |
dfr |
Try to get the self-relocator to work with IPLTLSB relocations. Doesn't work right though - I can't figure out why.
|
85376 |
23-Oct-2001 |
jlemon |
Set RB_MULTIPLE (multiple console support) if the kernel is booted with the -D flag.
|
85374 |
23-Oct-2001 |
jlemon |
Allow the RBX_DUAL flag to appear in bootinfo.
|
85065 |
17-Oct-2001 |
nyan |
Use a array to convert from a attribute for AT to one for PC98. (merged from sys/pc98/pc98/scvtbpc98.c)
|
85063 |
17-Oct-2001 |
nyan |
Merged from sys/boot/i386/libi386/vidconsole.c revisions 1.16, 1.17 and 1.18.
|
85061 |
17-Oct-2001 |
nyan |
fix style(9)
|
85060 |
17-Oct-2001 |
nyan |
Merged from sys/boot/i386/loader/Makefile revision 1.54.
|
84998 |
15-Oct-2001 |
robert |
Add a prototype for OF_alloc_phys.
|
84997 |
15-Oct-2001 |
robert |
Fix some warnings.
|
84996 |
15-Oct-2001 |
robert |
Add the FreeBSD/sparc64 boot loader source files.
|
84975 |
15-Oct-2001 |
robert |
Make the ofw_reg structure and ofw_alloc_heap 64-bit save.
|
84974 |
15-Oct-2001 |
robert |
Add a Makefile for the sparc64 boot loader.
|
84973 |
15-Oct-2001 |
robert |
Do not include openfirm.h; it is now included by libofw.h.
|
84972 |
15-Oct-2001 |
robert |
- Use the cell_t type definition for Open Firmware arguments in combination with requisite casts as this avoids fatal side effects on 64-bit architectures. - Add the OF_alloc_phys function.
|
84970 |
15-Oct-2001 |
robert |
- Fill dummy functions with code to read from disk using Open Firmware. - Add a temporary disklabel header to boot off a NetBSD/sparc64 partition. This file can be deleted when we have got a FCode bootblock.
The disklabel header was obtained from NetBSD.
|
84969 |
15-Oct-2001 |
robert |
- Include openfirm.h for phandle_t. - Add some necessary members to the ofwdisk structure. - Add a prototype for ofw_parseofwdev.
|
84968 |
15-Oct-2001 |
robert |
Add a function for parsing an Open Firmware boot path into the ofw_devdesc structure.
|
84967 |
15-Oct-2001 |
robert |
- Add an ifdef guard. - Use unsigned types for the (32-bit) Open Firmware device handles to avoid sign extension on 64-bit architectures. - Add a standard type definition for Open Firmware arguments.
|
84802 |
11-Oct-2001 |
dfr |
Fix typo in comment.
|
84644 |
08-Oct-2001 |
marcel |
s/alpha/${MACHINE_ARCH}/g
|
84620 |
07-Oct-2001 |
benno |
Whitespace fixes.
|
84619 |
07-Oct-2001 |
benno |
Add new files needed by previous commit.
|
84617 |
07-Oct-2001 |
benno |
Mega-patch for OpenFirmware loader support.
- Flesh out ofw_readin routine. - Add OpenFirmware load and exec routines. - Make sure memory allocation for the kernel is done correctly. - Change the way the heap is allocated so as to make it easier to deallocate when we hand over. - Add a command to print memory maps similar to the one for ia64.
With this patch, I can now load and hand over to a kernel on my iMac. There are some problems with OpenFirmware routines failing after the hand over that still need to be addressed.
|
84461 |
04-Oct-2001 |
jhb |
Whitespace fixes.
|
84371 |
02-Oct-2001 |
yokota |
Fix the ANSI color escape sequence \E[m.
- Corretly map the ansi color number to a PC BIOS color. - Handle multiple arguments to the escape sequence.
|
84354 |
02-Oct-2001 |
yokota |
Fix the local macro: isvisible().
- The space char (0x20) IS a visible char :-)
|
84337 |
01-Oct-2001 |
silby |
grammar fix: to -> too
|
84277 |
01-Oct-2001 |
yokota |
Fix the function CD(): "Clear to the end of the screen".
- When the video BIOS is called to clear the region (x, y)-(79, 24) (by scrolling), the slashed region in Fig.1 is cleared. CD() is supposed to clear the region shown in Fig.2. x x +-------+ +-------+ | | | | y| ////| y| ////| | ////| |///////| | ////| |///////| +-------+ +-------+ Fig.1 Fig.2
- Don't move the cursor during this operation.
|
84276 |
01-Oct-2001 |
yokota |
This is white-space only change. No functional difference.
- Be consistent about placing spaces around keywords and operators; don't mix statements like "if(A==B)" and "if (X == Y)", "return(0)" and "return (-1)", "P=10" and "Q = 0", etc.
- Consitently indent lines. It's not good to indent by 8 columns in one part of the file, and by 4 columns in the other part.
|
83948 |
26-Sep-2001 |
peter |
Make this 'make obj' safe
|
83939 |
25-Sep-2001 |
dfr |
Calculate the valid flag for ITRs and DTRs correctly. Also fix a couple of minor problems and remove some debugging code.
|
83904 |
24-Sep-2001 |
dfr |
Add commands to dump the itrs and dtrs.
|
83903 |
24-Sep-2001 |
dfr |
Return the mapkey which EFI gave us when we read the memory map - we need it to call ExitBootServices.
|
83902 |
24-Sep-2001 |
dfr |
Tidy up a little - don't try to print anything or enable interrupts after we start changing translation registers. Also, call ExitBootServices before we jump into the kernel.
|
83901 |
24-Sep-2001 |
dfr |
Pick up pal.s from the kernel sources.
|
83857 |
23-Sep-2001 |
dfr |
Add commands to dump the configuration tables and the SAL System Table.
|
83829 |
22-Sep-2001 |
dfr |
Add EFI network support.
|
83828 |
22-Sep-2001 |
dfr |
* Flesh out elf_exec and bootinfo. * Add EFI network support.
|
83825 |
22-Sep-2001 |
dfr |
Add getsecs() for the libstand network code.
|
83824 |
22-Sep-2001 |
dfr |
Add a twiddle meter when reading from files. Gives me something to look at when a kernel is loading from a floppy.
|
83710 |
20-Sep-2001 |
dfr |
Add definition of SSC_GET_RTC.
|
83666 |
19-Sep-2001 |
dfr |
Implement time().
|
83616 |
18-Sep-2001 |
sobomax |
Add support for loading bzip2-compressed kernels and modules. This support is turned off by default and could be enabled by defining LOADER_BZIP2_SUPPORT make variable. Also make gzip support optional (turned on by default) - it could be turned off via LOADER_NO_GZIP_SUPPORT make variable.
Please note, that due to limit on the amount of memory available to the loader(8), it is possible to load modules/kernels compressed with the smallest block size supported by the bzip2 - 100k (`-1' bzip2(1) option), however even in this mode bzip2(1) usually provides better compression ratio than gzip(1) in its best compression mode.
MFC after: 1 month
|
83532 |
16-Sep-2001 |
nyan |
MFi386: sys/boot/i386/loader/main.c revision 1.24.
|
83531 |
16-Sep-2001 |
nyan |
MFi386: sys/boot/i386/libi386/Makefile revision 1.20.
|
83521 |
15-Sep-2001 |
dfr |
Add a fake memory descriptor for the I/O port space.
|
83502 |
15-Sep-2001 |
dfr |
Fill in the bootinfo's memory map.
|
83498 |
15-Sep-2001 |
dfr |
Remove dead code.
|
83439 |
14-Sep-2001 |
dfr |
Plug in ELF backend.
|
83438 |
14-Sep-2001 |
dfr |
Add ELF backend to the build.
|
83437 |
14-Sep-2001 |
dfr |
Make this do the right thing (mostly). We should still reserve the pages that the kernel loads into using the EFI AllocatePages call.
|
83408 |
13-Sep-2001 |
dfr |
Update code which creates bootinfo.
|
83370 |
12-Sep-2001 |
dfr |
A command file for SKI which runs the loader up to the first instruction of the loaded kernel.
|
83368 |
12-Sep-2001 |
ru |
Create backup copies using install(1).
|
83365 |
12-Sep-2001 |
dfr |
Build ficl on all architectures.
|
83364 |
12-Sep-2001 |
dfr |
Add a version of the loader which runs under SKI, the HP ia64 simulator. This loader is quite functional and can load and run kernels. The kernels don't quite work right after loading but that should be easily fixable.
|
83321 |
11-Sep-2001 |
peter |
Implement the long-awaited module->file cache database. A userland tool (kldxref(8)) keeps a cache of what modules and versions are inside what .ko files. I have tested this on both Alpha and i386.
Submitted by: bp
|
83216 |
08-Sep-2001 |
dfr |
Add missing entry to memory type name table and adjust field widths.
|
83215 |
08-Sep-2001 |
dfr |
Add a command 'memmap' to print out the EFI memory map.
|
83193 |
07-Sep-2001 |
dfr |
Hook up the native EFI filesystem reader.
|
83192 |
07-Sep-2001 |
dfr |
Set currdev and loaddev variables.
|
83191 |
07-Sep-2001 |
dfr |
Add a libstand filesystem for accessing EFI native filesystems.
|
83190 |
07-Sep-2001 |
dfr |
Reformat.
|
83078 |
05-Sep-2001 |
dfr |
Merge linker set relocations with the rest.
|
82965 |
04-Sep-2001 |
dfr |
Enable bootforth.
|
82960 |
04-Sep-2001 |
dfr |
Avoid an alignment fault on 64bit architectures.
Reviewed by: dcs
|
82942 |
04-Sep-2001 |
dfr |
Make sure we copy over the linker set sections to the EFI executable.
|
82941 |
04-Sep-2001 |
dfr |
Add definition for arch-ia64.
|
82940 |
04-Sep-2001 |
dfr |
Add ia64 system dependancies.
|
82645 |
31-Aug-2001 |
bde |
Don't clobber the default for CFLAGS.
Reviewed by: dfr
|
82542 |
30-Aug-2001 |
msmith |
Mention that the ACPI module load can be disabled by unsetting $acpi_load
|
82531 |
30-Aug-2001 |
msmith |
Teach the loader how to find the system ACPI information, and autoload the ACPI module if the system apperars to be ACPI compliant.
This is an initial cut; the load should really be done by Forth support code, and we should check both the BIOS build date and a blacklist.
|
82343 |
26-Aug-2001 |
benno |
Pass NULL instead of MAXPHYS to the DMA allocation method. Be a bit more verbose if we fail to allocate the DMA buffer.
|
82133 |
22-Aug-2001 |
peter |
OK, now I am scared of pxeldr. It had /boot/loader appended onto the end of it and decoded the headers.
Submitted by: jhb
|
82128 |
22-Aug-2001 |
peter |
Generate an ELF /boot/loader instead of fake a.out. The fake a.out wrapper did not work with old a.out-only bootblocks anyway. :-(
|
81955 |
20-Aug-2001 |
ru |
mdoc(7) police: markup nits.
|
81933 |
20-Aug-2001 |
dillon |
Limit the amount of KVM reserved for the buffer cache and for swap-meta information. The default limits only effect machines with > 1GB of ram and can be overriden with two new kernel conf variables VM_SWZONE_SIZE_MAX and VM_BCACHE_SIZE_MAX, or with loader variables kern.maxswzone and kern.maxbcache. This has the effect of leaving more KVM available for sizing NMBCLUSTERS and 'maxusers' and should avoid tripups where a sysad adds memory to a machine and then sees the kernel panic on boot due to running out of KVM.
Also change the default swap-meta auto-sizing calculation to allocate half of what it was previously allocating. The prior defaults were way too high. Note that we cannot afford to run out of swap-meta structures so we still stay somewhat conservative here.
|
81588 |
13-Aug-2001 |
ru |
Spell "FreeBSD" with "F" and "BSD" in uppercase.
|
81488 |
10-Aug-2001 |
obrien |
Style cleanup.
|
81462 |
10-Aug-2001 |
ru |
mdoc(7) police: join split punctuation to macro calls.
|
81367 |
09-Aug-2001 |
mp |
Allow for text section alignment to properly align the "end" symbol at the actual end of the section. The new gas (binutils) puts in additional padding which was misaligning the concatenated btx loader.
Reported by: Oliver Hartmann <ohartman@klima.physik.uni-mainz.de>, Harti Brandt <brandt@fokus.gmd.de> Tested by: Oliver Hartmann <ohartman@klima.physik.uni-mainz.de>, David Wolfskill <dhw@whistle.com>, ps Reviewed by: jhb MFC after: 1 day
|
81363 |
09-Aug-2001 |
jhb |
Trim trailing whitespace.
|
80751 |
31-Jul-2001 |
jhb |
Add in a hack to support IBM "El Torito" CD-ROM booting BIOS's which expect the first sector of the emulated floppy to contain a valid MS-DOS BPB that it can modify. Since boot1 is the first sector of boot.flp, this resulted in the BIOS overwriting part of boot1: specifically the function used to read in sectors from the disk.
Submitted by: Mark Peek <mark@whistle.com> Submitted by: Doug Ambrisko <ambrisko@ambrisko.com> PR: i386/26382 Obtained from: NetBSD, OpenBSD (the example BPB) MFC after: 1 month
|
80203 |
23-Jul-2001 |
kris |
s/adress/address/
Inspired by: OpenBSD MFC After: 1 week
|
80084 |
21-Jul-2001 |
rnordier |
Unset MAINTAINER.
|
79757 |
15-Jul-2001 |
dd |
Remove whitespace at EOL.
|
79540 |
10-Jul-2001 |
dfr |
Make this build again after breakage from previous commits.
|
79454 |
09-Jul-2001 |
dd |
mdoc(7) police: remove extraneous .Pp before and/or after .Sh.
|
78696 |
24-Jun-2001 |
dwmalone |
Get rid of some constness warnings.
|
78650 |
23-Jun-2001 |
kato |
Merged from sys/boot/i386/btx/btx/btx.s revision 1.25.
|
78522 |
21-Jun-2001 |
peter |
Remove -DNEW_LINKERSET, it is not used here anymore. This is now native.
|
78465 |
19-Jun-2001 |
peter |
Convert the elf loader to the new linker set layout for elf files. This should make dependencies at load time work like before. Oops.
Noticed by: markm
|
78463 |
19-Jun-2001 |
peter |
Fix some of the worst formatting bug (seperate commit)
|
78335 |
16-Jun-2001 |
peter |
Work around what looks like a bad make(1) bug. For some reason, make(1) wants to build loader.sym *before* the .o files. Eliminating one seeminly intermediate step avoids the problem. Somehow, it seems that variables are not getting expanded at the right time. Any explanations would be appreciated...
Changing: ${BASE}.sym: ${OBJS} ${LIBSTAND} ${LIBFICL} ${LIBALPHA} ${CRT} vers.o ${LD} ... To: BASEOBJS= ${OBJS} ${LIBSTAND} ${LIBFICL} ${LIBALPHA} ${CRT} vers.o
${BASE}.sym: ${BASEOBJS} echo ${BASEOBJS} ${LD} ... .. the echo only shows LIBFICL, CRT and vers.o. ${OBJS} is not included.
|
78332 |
16-Jun-2001 |
obrien |
style(9) and remove a left over Alpha comment
|
78331 |
16-Jun-2001 |
obrien |
style cleanup
|
78329 |
16-Jun-2001 |
obrien |
style police
|
78328 |
16-Jun-2001 |
obrien |
This Intel derived file uses C++ style comments. (I'll be we know which compiler and platform they developed this on...) Minimally change them to C89 comments to make GCC happy. (this is kinda funny as the file has piece derived from FreeBDS 3.2)
Also fix FreeBSD id style.
|
78327 |
16-Jun-2001 |
obrien |
Fix FreeBSD id style.
|
78326 |
16-Jun-2001 |
obrien |
style(9)
|
78320 |
16-Jun-2001 |
obrien |
style(9) + fix FreeBSD id's.
|
78195 |
14-Jun-2001 |
peter |
Nuke old gensetdefs based linker sets with extreme prejudice
|
77979 |
10-Jun-2001 |
dfr |
Move the first section up one page. The firmware bogusly uses the first page of the image to load section headers and if we let the text section start at zero, it corrupts the section table when its loaded. With this change, the loader gets as far as the 'ok' prompt.
|
77978 |
10-Jun-2001 |
dfr |
Remove a 'return' statement which I put in while I was trying to debug the startup code.
|
77971 |
10-Jun-2001 |
jesper |
Fix a minor style bug in the last commit.
Submitted by: Adrian Steinmann <ast@marabu.ch> MFC after: 2 days
|
77943 |
09-Jun-2001 |
dfr |
First approximation of an ia64 EFI loader. Not functional.
|
77575 |
01-Jun-2001 |
ru |
Remove vestiges of MFS.
|
77444 |
29-May-2001 |
dcs |
Go back to 1.20 again.
|
77443 |
29-May-2001 |
dcs |
Turn dictthreshold and dictincrease into cell-sized variables, so they can be used with cell operators like !.
As I did this, I noticed the whole CELL thing might have problems with big endian architectures with sizeof(int)!=sizeof(void*).
|
77377 |
29-May-2001 |
obrien |
Revert the ugly band-aide[tm] hack of rev 1.12. The offending loader.4th commit (rev 1.20) has been backed out.
|
77376 |
29-May-2001 |
dcs |
Revert 1.20, as it causes mysterious problems to the Alpha people.
|
77327 |
28-May-2001 |
obrien |
One needs to introduce things with a `.file' directive before trying to do a .loc on it. BTW, the .loc needs to be in a .text section. gas 2.11.0 catches these oversights where previous versions did not.
|
77297 |
28-May-2001 |
obrien |
grep -v offending lines from loader.4th until the master version of it is fixed.
|
77295 |
28-May-2001 |
obrien |
Add the generated help files to CLEANDIRS.
Found by: rm -rf /usr/obj/usr/src/sys/boot ; make ; make clean ; cvs -q up
|
77285 |
27-May-2001 |
jesper |
In sys/boot/common/module.c, near line 105 a request for a raw file is processed by passing its name in argv[1]: return(mod_loadobj(typestr, argv[1])); however, it is not tested to see if argv[1] actually is defined.
At best, mod_loadobj() near line 244 returns an error like "can't find 'garbage'" but if the "filename" entered is sufficiently long, some buffer gets overrun. Of course, "load -t filename" is actually a typo because we meant to type "load -t mfs_root filename"; nevertheless, a hung machine seems like too harsh a punishment for such a small typo...
PR: i386/27693 Submitted by: Adrian Steinmann <ast@marabu.ch> MFC after: 1 week
|
77273 |
27-May-2001 |
rnordier |
Fix reboot buglet when BOOT_BTX_NOHANG is defined.
Submitted by: Umesh Krishnaswamy <umesh@juniper.net>
|
77268 |
27-May-2001 |
dcs |
As in with ":", check dictionary space and increase it if necessary before "create".
|
77162 |
25-May-2001 |
ru |
- sys/msdosfs moved to sys/fs/msdosfs - msdos.ko renamed to msdosfs.ko - /usr/include/msdosfs moved to /usr/include/fs/msdosfs
|
77125 |
24-May-2001 |
nyan |
(Re-)enabled boot2.
|
77124 |
24-May-2001 |
nyan |
Update boot[12] program to compile ELF binary.
Submitted by: Nobuyuki Koganemaru <n-kogane@syd.odn.ne.jp> and kawanobe@st.rim.or.jp (Kawanobe Koh)
|
77034 |
23-May-2001 |
ru |
The following modules were renamed:
fdesc -> fdescfs portal -> portalfs umap -> umapfs union -> unionfs
|
76948 |
22-May-2001 |
dd |
Fix a grammar nit.
PR: 27520 Submitted by: Michael Lucas <mwlucas@blackhelicopters.org>
|
76927 |
21-May-2001 |
nyan |
Merged from sys/boot/i386/btx/btx/btx.s revision 1.24.
|
76714 |
17-May-2001 |
dcs |
Allocate more memory if necessary.
|
76421 |
10-May-2001 |
dcs |
FICL 2.05 has a flawed definition of BASE. Fix it.
Spotted by: Peter Jeremy <peter.jeremy@alcatel.com.au>
|
76224 |
02-May-2001 |
obrien |
* include/elf.h has been repo copied to include/elf-hints.h, and it no longer includes machine/elf.h. * consumers of elf.h now use the minimalist elf header possible.
This change is motivated by Binutils 2.11.0 and too much clashing over our base elf headers and the Binutils elf headers.
|
76116 |
29-Apr-2001 |
dcs |
Bring in ficl 2.05.
This version has a step debugger, which now completely replaces the old trace feature. Also, we moved all of the FreeBSD-specific MI code to loader.c, reducing the diff between this and the official FICL distribution.
|
75659 |
18-Apr-2001 |
ru |
mdoc(7) police: fixed whatis(1) entry.
|
75300 |
08-Apr-2001 |
gallatin |
no longer needed now that we are able to build cdboot from sources again
|
75299 |
07-Apr-2001 |
gallatin |
build cdboot from sources now that the cd9660 fs support works MFC candidate
|
75230 |
05-Apr-2001 |
dfr |
Don't call prom_open() multiple times. This confuses some versions of SRM and makes it impossible to boot from floppy and CD on some AlphaServer platforms.
Detective work by: Michael Richards <michael@fastmail.ca>
|
74850 |
27-Mar-2001 |
ru |
MAN[1-9] -> MAN.
|
74798 |
25-Mar-2001 |
obrien |
Turn off building the ARC loader. I don't know of anyone currently working on advancing this WIP.
|
74592 |
21-Mar-2001 |
jhb |
Always disable paging when exiting back to real mode after receiving a fatal trap. Also, reload the GDT register to point to BTX's GDT before playing around with the segment registers to return to real mode. This is helpful if the kernel causes a fatal exception before it has setup its own IDT and fault handlers. For example, if one happens to break mtx_init(). Without these changes BTX would recursively page fault (if paging was not disabled) or triple fault and reset the CPU (without the GDT reload) instead of providing a potentially useful register dump.
Reviewed by: rnordier
|
74265 |
14-Mar-2001 |
ps |
Don't set the gateway address if the netmask is zero or we're on the same network. PXE does not do netmask calculations, so if the gateway is set it will use it.
Submitted by: peter & FreeBSD cluster ACLs
|
74263 |
14-Mar-2001 |
jhb |
Use better descriptions (ones invovling words from the English language anyways) for the accept filter modules.
|
74255 |
14-Mar-2001 |
dcs |
Improve comments about the sound drivers. Correct accf lines.
|
74212 |
13-Mar-2001 |
jhb |
- Sync up with stable by adding in the Netgraph and Sound module sections, the agp module, and the accept filter modules. - Remove an extraneous blank line.
|
73953 |
07-Mar-2001 |
dcs |
Goodbye vn, welcome md.
|
73403 |
04-Mar-2001 |
obrien |
Fix whitespace.
|
73349 |
02-Mar-2001 |
ru |
setlocale(3) has been fixed to match POSIX standard: LC_ALL takes precedence over other LC_* envariables.
|
73233 |
28-Feb-2001 |
ru |
Eliminate mdocNG warnings caused by misplaced or extraneous macro calls.
|
72879 |
22-Feb-2001 |
dcs |
Whenever the user might be offered a chance to quit through pager_output(), respect that choice.
PR: 15747
|
72640 |
18-Feb-2001 |
asmodai |
Preceed/preceeding are not english words. Use precede or preceding.
|
72091 |
06-Feb-2001 |
asmodai |
Fix typo: seperate -> separate.
Seperate does not exist in the english language.
|
71897 |
01-Feb-2001 |
des |
Add atspeaker_load.
|
71895 |
01-Feb-2001 |
ru |
mdoc(7) police: split punctuation characters + misc fixes.
|
71102 |
16-Jan-2001 |
ru |
Prepare for mdoc(7)NG.
|
70706 |
06-Jan-2001 |
jhb |
Add commented out examples for the new KTR loader tunables.
|
70519 |
30-Dec-2000 |
phk |
Use <sys/queue.h> macro API.
Submitted by: "Jason" <jsmethers@pdq.net> Reviewed by: /sbin/md5
|
70426 |
28-Dec-2000 |
des |
Retire kernfs (kernel part).
|
70405 |
27-Dec-2000 |
ru |
Prepare for mdoc(7)NG.
|
70333 |
24-Dec-2000 |
kato |
Disabled boot2 for the moment, because it needs aout tools.
|
70177 |
19-Dec-2000 |
rnordier |
Fix column alignment (whitespace-only change).
|
70082 |
16-Dec-2000 |
kato |
Merged from sys/boot/i386/loader/Makefile revision 1.49.
|
70020 |
14-Dec-2000 |
ru |
mdoc(7) police: removed duplicate .Os call.
|
69985 |
13-Dec-2000 |
rnordier |
Strip the .comment and .note sections when stripping. There's no point in retaining this info, particularly under BTX.
|
69921 |
12-Dec-2000 |
rnordier |
Add a magic number, for easier identification of boot0. At present, this is used only by libdisk.
|
69738 |
08-Dec-2000 |
marcel |
Add "empty" makefile. Cross-building fails without it.
|
69430 |
01-Dec-2000 |
ache |
Cosmetique: don't use localized `date`
|
69395 |
30-Nov-2000 |
jhb |
Set the proper bit in the howto flags for a serial console rather than setting the index of the bit. (0xc vs. 0x1000)
|
69391 |
30-Nov-2000 |
ps |
Add support for probing the keyboard from pxeboot which will behave exactly the same as passing -P to boot2.
Submitted by: jhb
|
69242 |
27-Nov-2000 |
obrien |
`cdboot' is broken as it cannot load a kernel. The release engineer keeps using the wrong /boot/cdboot when creating the ISO images. So we'll add the 4.0-RELEASE cdboot to the tree until someone bothers to fix the source so a working `cdboot' is built.
|
69027 |
22-Nov-2000 |
ru |
mdoc(7) police: do not split author names in the AUTHORS section.
|
68961 |
20-Nov-2000 |
ru |
mdoc(7) police: use the new features of the Nm macro.
|
68854 |
17-Nov-2000 |
ru |
mdoc(7) police: use certified section headers wherever possible.
|
68851 |
17-Nov-2000 |
msmith |
The default kernel filename is "kernel" again, not "kernel.ko".
Submitted by: mckusick
|
68755 |
15-Nov-2000 |
ben |
remove period from SEE ALSO.
|
68729 |
14-Nov-2000 |
obrien |
Don't use the Gawkism strftime(). Pass in the date stamp on the awk command line instead.
Approved by: dcs
|
68716 |
14-Nov-2000 |
ru |
Use Fx macro wherever possible.
|
68713 |
14-Nov-2000 |
mjacob |
init booted_kernel from environment kernelname (if there)
|
68712 |
14-Nov-2000 |
mjacob |
move init of booted_kernel to bootinfo.c
|
68548 |
10-Nov-2000 |
benno |
OpenFirmware/PowerPC loader, part 2.
As of this patchset, the loader builds (under NetBSD/macppc), boots, interacts and talks to BOOTP/NFS servers.
(main.c was moved from boot/ofw/libofw to boot/ofw/common but has no revision history)
Reviewed by: obrien
|
68547 |
10-Nov-2000 |
benno |
Give the network device a print method.
Reviewed by: obrien
|
68546 |
10-Nov-2000 |
benno |
OpenFirmware/PowerPC loader, part 2. This brings the loader up to the point where I can compile it under NetBSD/macppc and have it boot, interact and talk to NFS servers.
sys/boot/ofw/libofw/main.c has been deleted (it has no revision history) and replaced with sys/boot/ofw/common/main.c
Reviewed by: obrien
|
68362 |
05-Nov-2000 |
ps |
Honor the ip address given in the root-path dhcp option.
PR: 21743 Submitted by: Brian Candler <B.Candler@pobox.com>
|
68358 |
05-Nov-2000 |
nyan |
Merged from the following changes.
sys/boot/i386/btx/btx/Makefile 1.9 sys/boot/i386/btx/btx/btx.s 1.23 sys/boot/i386/libi386/biosdisk.c 1.32 and 1.33 sys/boot/i386/libi386/biosmem.c 1.5 sys/boot/i386/libi386/comconsole.c 1.8 sys/boot/i386/libi386/gatea20.c 1.3 sys/boot/i386/libi386/time.c 1.4 sys/boot/i386/libi386/vidconsole.c 1.13 sys/boot/i386/loader/Makefile 1.48 sys/boot/i386/loader/main.c 1.22
|
68314 |
04-Nov-2000 |
rnordier |
Support a.out: avoid (%dx) in in/out instructions, and use an m4 macro to supply underscores for externals.
|
68310 |
04-Nov-2000 |
ps |
MF4: Add LOADER_TFTP_SUPPORT make.conf flag.
|
68264 |
02-Nov-2000 |
jhb |
The Number of Fixed Disks at memory location 0x475 is only 1 byte, not a 2 byte word. This fixes machines that probe 30-odd hard drives during boot in the loader.
Submitted by: Helpful folks at Tyan via ps
|
68136 |
01-Nov-2000 |
mph |
"it's" --> "its" (possessive).
Correct a malformed sentence.
|
67955 |
30-Oct-2000 |
n_hibma |
Add entry for umodem
|
67699 |
27-Oct-2000 |
dfr |
Backout revision 1.7 which was a bad idea since it would force people to reinstall boot1 after a 'make world'.
Unfortunately this means that people who have already installed a new boot1 from a 'make world' after 2000/09/18 *must* reinstall it after their next build using something like:
# disklabel -B /dev/da0c
|
67655 |
26-Oct-2000 |
obrien |
Install the loader manpages.
|
67593 |
25-Oct-2000 |
dfr |
Move the call to extend_heap() from main to start so that if our BSS expands beyond the limit we will extend the address space before trying to zero the BSS. This should give us plenty of headroom for modest expansion of the loader.
|
67592 |
25-Oct-2000 |
dfr |
Don't build start.S as part of libalpha.a - its built specially.
|
67591 |
25-Oct-2000 |
dfr |
Don't indirect through a null pointer if we run out of kernel filenames.
|
67590 |
25-Oct-2000 |
dfr |
Make a few functions inline to save space.
|
67562 |
25-Oct-2000 |
n_hibma |
The USB scanner driver. To be used together with SANE.
|
67227 |
16-Oct-2000 |
obrien |
Convert from the Alpha compontents to PowerPC ones.
|
67204 |
16-Oct-2000 |
obrien |
"Ok, my loader's now up to putting up a prompt. It probes disks partially but can't boot from them yet."
Thanks to Stephane Potvin for the some of the code in this set.
Submitted by: Benno Rice <benno@jeamland.net>
|
67136 |
15-Oct-2000 |
nyan |
Merged from sys/boot/i386/loader/main.c revision 1.21.
|
66871 |
09-Oct-2000 |
dcs |
Now I see the error of my ways.
Previous revision of this file changed the "boot" commands to take no arguments from the stack. This is only valid in the case where a kernel has not been loaded. In that case, load_kernel_and_modules will be called, which takes a list of arguments from the stack.
When a kernel is presently loaded, though, the list of arguments must be passed to the boot command, which was the behaviour before the last revision.
Fix things for both cases.
Noticed by: S-Max and others on that chat room
|
66556 |
02-Oct-2000 |
rnordier |
Go back to occupying just a single sector, reverting r1.17 - r1.20. Taking over the sector following the MBR causes problems on some machines, and the actual gains are fairly small in terms of how the space is presently used.
Since we need a number of further features (eg. handling extended partitions) that can't be readily accommodated in the basic boot0 design anyway, rather choose to implement the additional stuff separately and concentrate on compatibility rather than features here.
|
66555 |
02-Oct-2000 |
rnordier |
Set MAINTAINER.
|
66349 |
25-Sep-2000 |
dcs |
Get rid of garbage left on the stack.
|
66346 |
25-Sep-2000 |
dcs |
What could possibly have possessed me to forget the "0 (arguments)" in two of the three boot words in the "boot" redefinition, I have no clue. Fix it.
Noticed by: bp Noticed by: adrian
|
66246 |
22-Sep-2000 |
kato |
Merged from sys/boot/i386/loader/main.c revision 1.23.
|
66245 |
22-Sep-2000 |
kato |
Merged from sys/boot/i386/libi386/Makefile revision 1.19.
|
66133 |
20-Sep-2000 |
archie |
Add support for the "nullconsole" console type, for systems with neither a video console nor a serial port. Use it if the RB_MUTE flag is set.
Submitted by: Doug Ambrisko <ambrisko@whistle.com> Reviewed by: jhb
|
66046 |
18-Sep-2000 |
dcs |
Check for the correct minimum version required by the current code.
I hope I got this right... :-)
|
66027 |
18-Sep-2000 |
mjacob |
Steal 512KB more from system memory for heap instead of 256KB. We died without the extra space. What a pity.
|
66026 |
18-Sep-2000 |
mjacob |
Run SECONDARY_LOAD_ADDRESS down to 0x2000a000- this still leaves (barely) enough room for boot1 and gives us 8KB more to play with in the loader.
|
66025 |
18-Sep-2000 |
mjacob |
Make the stack 12K- we seem to need a bit more. Rename 'stack' to 'stackbase' as this variable more correctly denotes what it is.
|
65949 |
16-Sep-2000 |
dcs |
Use _ instead or - where proper, according to the style I have been using.
Overload "?" so it will also show loader.4th commands.
|
65945 |
16-Sep-2000 |
dcs |
Solve a name clash. Add something to help debugging.
|
65940 |
16-Sep-2000 |
dcs |
The default search path for kernel and modules was bogus. It makes no sense for /boot/kernel to come last.
|
65939 |
16-Sep-2000 |
dcs |
The module_path set by default was bogus. It had /boot/kernel last, which makes little sense.
|
65938 |
16-Sep-2000 |
dcs |
Both boot and boot-conf were using a different algorithm from the one used by start to find the kernel. Fix this.
Also, boot would proceed immediately in the absence of a path as argument. Check first if a kernel has already been loaded, and, if not, fall back to load kernel&modules behavior.
Some further factorizing. I deem this code to be mostly readable by now! :-)
Many thanks to: Makoto MATSUSHITA <matusita@jp.FreeBSD.org>
|
65883 |
15-Sep-2000 |
dcs |
Factorize, reorganize, and move code around.
The boot-conf and boot code had various bugs, and some of it was big, ugly, unwieldy, and, sometimes, plain incorrect. I'm just about completely replaced these ugly parts with something much more manageable.
Minor changes were made to the well-factorized parts of it, to accomodate the new code.
Of note:
* make sure boot-conf has the exact same behavior wrt boot order as start.
* Correct both boot and boot-conf so they'll work correctly when compiled in, as they both had some bugs, minor and major.
* Remove all the crud from loader.4th back into support.4th, for the first time since boot-conf was first improved. Hurray!
I'm fairly satisfied with the code at this time. Time to see about those man pages...
|
65881 |
15-Sep-2000 |
dcs |
Start countdown only _after_ the kernel was loaded. Not very fair otherwise.
|
65785 |
12-Sep-2000 |
dcs |
New world order wrt to kernel location and name. This doesn't actually changes anything (in theory), just better document it. I'm waiting for the final word before I tackle the man pages.
|
65769 |
12-Sep-2000 |
roger |
Back out bktr_mem_load. It is not needed because I'm use MODULE_DEPEND elsewhere. Reminded by: Mike Smith
|
65738 |
11-Sep-2000 |
roger |
Add bktr_mem_loader, default to NO. In the near future the bktr module will need the bktr_mem module too.
|
65698 |
10-Sep-2000 |
dfr |
Fix this so that we actually define HAVE_PNP when its available.
|
65689 |
10-Sep-2000 |
markm |
The entropy driver module has changed name.
|
65685 |
10-Sep-2000 |
dcs |
Bump up version as a result of the recent changes to kernel path, and boot-conf&boot semantic changes.
Also, make it 1.0.
Reminded by: peter (even though he doesn't know it)
|
65684 |
10-Sep-2000 |
dcs |
Bump up version as a result of the recent changes to kernel path, and boot-conf&boot semantic changes.
Reminded by: peter (even though he doesn't know it)
|
65683 |
10-Sep-2000 |
dcs |
Change NOFORTH comment character from # to \ followed by space, to make things more interchangeable between it and the FORTH case.
Perhaps requiring the space is a bit too much, but...
Nothing in the tree seems to produce loader.rc files with comment line, at this time.
|
65677 |
10-Sep-2000 |
dfr |
Only build PnP parts if the platform supports PnP.
|
65641 |
09-Sep-2000 |
dcs |
Upon reflection, I decided that bootfile must have priority over kernel as the kernel name. The one very unfortunate consequence is that kernel as an absolute path loses the priority. It will only be tried after /boot/${kernel}/${bootfile}. I'll see what can be done about it later.
|
65640 |
09-Sep-2000 |
rnordier |
Correct BSD/OS slice type.
PR: 21099 Submitted by: Alan Clegg <abc@bsdi.com>
|
65630 |
09-Sep-2000 |
dcs |
First tackle at trying to handle the New Deal on kernels.
Load the first of the following kernels to be found:
${kernel} if ${kernel} is an absolute path /boot/${kernel}/${kernel} /boot/${kernel}/${bootfile} ${kernel}/${kernel} ${kernel}/${bootfile} ${kernel} ${bootfile}
The last instance of ${kernel} and ${bootfile} will be treated as a list of semicolon separated file names, and each will be tried in turn, from left to right.
Also, for each filename loader(8) will try filename, filename.ko, filename.gz, filename.ko.gz, in that order, but that's not related to this code.
This resulted in a major reorganization of the code, and much of what was accumulating on loader.4th was rightly transfered to support.4th.
The semantics of boot-conf and boot also changed. Both will try to load a kernel the same as above.
After a kernel was loaded, the variable module_path may get changed. Such change will happen if the kernel was found with a directory prefix. In that case, the module path will be set to ${directory};${module_path}.
Next, the modules are loaded as usual.
This is intended so kernel="xyzzy" in /boot/loader.conf will load /boot/xyzzy/kernel.ko, load system modules from /boot/xyzzy/, and load third party modules from /boot/modules or /modules. If that doesn't work, it's a bug.
Also, fix a breakage of "boot" which was recently introduced. Boot without any arguments would fail. No longer. Also, boot will only unload/reload if the first argument is a path. If no argument exists or the first argument is a flag, boot will use whatever is already loaded. I hope this is POLA. That behavior is markedly different from that of boot-conf, which will always unload/reload.
The semantics introduced here are experimental. Even if the code works, we might decide this is not the prefered behavior. If you feel so, send your feedback. (Yeah, this belongs in a HEADS UP or something, but I've been working for the past 16 hours on this stuff, so gimme a break.)
|
65622 |
08-Sep-2000 |
dcs |
Update boot and boot-conf descriptions to reflect new and old changes. Add a warning in loader(8) that boot might be changed by loader.4th.
|
65621 |
08-Sep-2000 |
dcs |
Enhance boot-conf.
Now boot-conf can also receive parameters to be passed to the kernel being booted. The syntax is the same as in the boot command, so one boots /kernel.OLD in single-user mode by typing:
boot-conf /kernel.OLD -s instead of boot-conf -s /kernel.OLD
The syntax still supports use of directory instead of file name, so
boot-conf kernel.OLD -s
may be used to boot /boot/kernel.OLD/kernel.ko in single-user mode.
Notice that if one passes a flag to boot-conf, it will override the flags set in .conf files, but only for that invocation. If the user aborts the countdown and tries again without passing any flags, the flags set in .conf files will be used.
Some factorization was done in the process of enhancing boot-conf, as it has been growing steadly as features are getting added, becoming too big for a Forth word. It still could do with more factorization, as a matter of fact.
Override the builtin "boot" with something based on boot-conf. It will behave exactly like boot-conf, but booting directly instead of going through autoboot.
Since we are now pairing kernel and module set in the same directory, this change to boot makes sense.
|
65618 |
08-Sep-2000 |
dcs |
Strictly speaking, this works. It enumarates the PnP devices, and load the modules needed according to a file relating module names (actually, _file_ names, not really modules -- the dependency stuff is not exported to loader's UI) to PnP IDs.
But it still lacks a number of desired features, and it's too crude for my tastes. But since I don't have time to work on it, it might be preferable to make it available to those who might. It's not installed by default, much less loaded. In fact, it wouldn't even had a copyright message (who? me? assume responsibility for _this_?), if the cvs commit hadn't aborted for lack of $FreeBSD$, and I decided to just cut&paste the stuff from elsewhere.
|
65617 |
08-Sep-2000 |
dcs |
Add the infrastructure necessary to handle PnP from a Forth script.
Also, export the file_findfile() function. Again, this is taken from work in progress but frozen for the time being. Since it works, I'd rather commit and remove any uglyness later than hide it on my tree.
|
65616 |
08-Sep-2000 |
dcs |
Fix an error message which was using the wrong variable to get the kernel name from.
|
65615 |
08-Sep-2000 |
dcs |
Add constructors to crude structure support. Rework some of the code into a more modular interface, with hidden vocabularies and such. Remove the need to a lot of ugly initialization.
Also, add a few structure definitions, from stuff used on the C part of loader. Some of this will disappear, and the crude structure support will most likely be replaced by full-blown OOP support already present on FICL, but not installed by default. But it was getting increasingly inconvenient to keep this separate on my tree, and I already lost lots of work once because of the hurdles, so commit this.
Anyway, it makes support.4th more structured, and I'm not proceeding with the work on it any time soon, unfortunately.
|
65614 |
08-Sep-2000 |
dcs |
Make the pnp structure a global variable, so it can be used elsewhere.
|
65613 |
08-Sep-2000 |
dcs |
Fix autoboot. Now autoboot *always* show the correct kernel name. It gets the name from the environment variable kernelname, which is set when a kernel is loaded. For this reason, autoboot will _first_ try to load a kernel, and only proceed with the wait prompt after that succeeds. If it fails, it will abort immediately.
While I understand some may think this behavior undesirable, I think it is, overall, the best thing to do, even if we do not consider the aesthetic issue. Notice that anyone using the default loader.rc already has the kernel loaded before autoboot.
On unload, unset kernelname.
Separate the code that tries to load a kernel from the list of options to the function loadakernel(). It is used by both boot() and autoboot().
|
65607 |
08-Sep-2000 |
kato |
Merged from sys/boot/i386/loader/Makefile revision 1.47.
|
65598 |
08-Sep-2000 |
imp |
Look for libstand in the built tree rather than in /usr/lib. This likely could be done better, but the tree is broken and I wanted to get a fix into the tree.
Reviewed by: msmith
|
65549 |
06-Sep-2000 |
obrien |
With the committed changes to the loaders modules path code, the kernel path does not need to be hard coded.
|
65502 |
05-Sep-2000 |
obrien |
Fix the kernel default load from "/boot/modules" to "/boot/kernel".
Reported by: dcs
|
65501 |
05-Sep-2000 |
obrien |
The kernel is now known as `kernel.ko' and it and its matching modules live in ``/boot/kernel/''.
|
65499 |
05-Sep-2000 |
msmith |
Fix a bug which prevents parsing this Makefile without having a previously-built loader binary elsewhere.
|
65498 |
05-Sep-2000 |
msmith |
Export the salient configuration items in a non-pxe-specific namespace to allow commonality between varying platforms. This is a step towards parsing the diskless configuration information with MI code inside the kernel.
Export the interface hardware address to the kernel, so that it is possible to determine the boot interface with certainty.
Export the NFS filehandle for the root mount to the kernel, so that the kernel does not need to perform a mount RPC call.
|
65385 |
03-Sep-2000 |
obrien |
This is real released software, let people think that.
|
65271 |
31-Aug-2000 |
kato |
The INT 1B BIOS call is used to obtain geometries of SASI/IDE hard drives. Some IDE cards don't set propler information into BIOS work are and their sector size were always recognized as 256 bytes/sector.
Pointed out by: jagarl@creator.club.ne.jp
|
65063 |
24-Aug-2000 |
jhb |
Add a new compile-time tweak to BTX. If you set the make(1) variable BOOT_BTX_NOHANG, then BTX will be compiled with the appropriate flags so that it reboots after a fault instead of hanging forever.
Requested by: ps Approved by: rnordier
|
65042 |
24-Aug-2000 |
sheldonh |
List loader.conf and friends in the FILES section.
Requested by: obrien
|
64660 |
15-Aug-2000 |
kato |
Fixed determination method for sector size of the 2nd IDE HDD.
|
64553 |
12-Aug-2000 |
kato |
Merged from sys/boot/i386/Makefile.inc revision 1.2.
|
64550 |
11-Aug-2000 |
peter |
Add -mpreferred-stack-boundary=2 to CFLAGS for i386. This and libstand reduces /boot/loader from 163840 bytes to 155648 and pxeboot from 165888 bytes to 157696 bytes.
|
64532 |
11-Aug-2000 |
dcs |
Add missing "is".
PR: 20524 Submitted by: Peter Pentchev <roam@orbitel.bg>
|
64527 |
11-Aug-2000 |
ps |
Add support to send the string 'PXEClient' as the Vendor class identifier to the DHCP server. Now you can check for this string in your dhcp configuration to decide whether you will hand out a lease to the client or not.
|
64522 |
11-Aug-2000 |
ps |
Pass along the interesting variables we were given from DHCP so we can utilize them in the kernel and with kenv.
|
64385 |
08-Aug-2000 |
rnordier |
Typo/spelling fixes.
|
64295 |
06-Aug-2000 |
kato |
- Fixed missing initialization of current device number. - Fixed comment.
Pointed out by: nyan
|
64260 |
04-Aug-2000 |
jhb |
Argh! Fix a brainfart of mine. In the old boot0, we relocated ourself to 0x600 via a 'rep movsw'. Once that was done, %cx was zero, so we could simply use 'movb' to update the lower byte of %cx in preparation for zeroing out the fake partition entry used to boot to other drives via F5. Well, in the new boot0, we don't actually relocate ourselves, instead it is easier to create the fake partition entry first and then just use it to get the BIOS to load all of boot0 into memory at 0x600. However, since we aren't doing the relocate code anymore, we don't know that %cx == 0 when we hit the 'movb' to setup %cx for clearning the fake partition entry. Thus, if %ch != 0 when the BIOS started boot0, then it would end up zeroing a lot more memory than just 8 words. The solution is to do a word move of $8 into %cx.
Debugging help from: David Wolfskill <dhw@whistle.com>
|
64230 |
04-Aug-2000 |
obrien |
Fix this so it is a Makefile and not a shell script -- now issuing `make' a second time does not rebuild the binary.
|
64221 |
04-Aug-2000 |
jhb |
Fix some of the arcdisk devsw functions to catch up with warning fixes in <stand.h>. Also, since bcache_strategy() used to not have a prototype, arcdisk happily called bcache_strategy() with 6 parameters instead of 7, leaving out the disk unit number, which is the 2nd parameter. Add in the unit number to the bcache_strategy() call to fix this.
|
64220 |
04-Aug-2000 |
jhb |
Bring back the perform() function. However, conditionionalize it on BOOT_FORTH as it is only used if BOOT_FORTH is not defined.
|
64190 |
03-Aug-2000 |
kato |
- Fixed %si (offset to partition table) in boot. - Fixed comment.
|
64188 |
03-Aug-2000 |
jhb |
Fix the more obvious warnings to deal with my earlier warning cleanups.
|
64187 |
03-Aug-2000 |
jhb |
Cleanup warnings. Most of these are signed/unsigned warnings, as well as some added const's.
|
64186 |
03-Aug-2000 |
jhb |
Fix several BDECFLAGS warnings. Also, actually use the 'verbose' parameter for lsdev when printing out slice information. Now, you only get the sizes and LBA's of slices if you use 'lsdev -v'.
|
64183 |
03-Aug-2000 |
kato |
- Fixed pointer to the partition table in the buffer. - Use shift by %cl instead of five shifts by 1.
|
64123 |
02-Aug-2000 |
kato |
Added PC-98 HDD boot manager. The boot0 is the `IPL' which occupies sector 0 of a disk and boot0.5 is the `boot selector' which starts from address 0x400. The IPL loads boot0.5 and boot0.5 loads bootblock of a slice.
The boot manager stuff was developed by me (kato) with Borland C++, and then, translated into bcc in the ports collection by Nokubi-san. After that, boot0 has been translated into gas with the .code16 directive by Takahashi-san (nyan) and boot0.5 has been rewritten in gas by me.
|
64019 |
30-Jul-2000 |
nyan |
Merged from sys/boot/i386/btx/btx/btx.s revisions from 1.18 to 1.22.
|
63962 |
28-Jul-2000 |
sheldonh |
Rename the loadable nullfs kernel module: null -> nullfs
|
63742 |
21-Jul-2000 |
jhb |
Remove an unnecessary .PATH entry.
|
63373 |
18-Jul-2000 |
obrien |
Declare our DEC Alpha cdboot to be a fully released version 1.0.
|
63328 |
17-Jul-2000 |
jhb |
Oops. Remove some debugging code used to display a hexdump of the sector we just loaded from the disk. The code to call it was commented out, and it easily fit into the extra sector, but remove it anyway as it is unneeded.
|
63321 |
17-Jul-2000 |
jlemon |
Unbreak the build -- no manual page for this yet.
|
63315 |
17-Jul-2000 |
jlemon |
Hook up liloldr
|
63314 |
17-Jul-2000 |
jlemon |
This is `liloboot', which creates a file which can be treated like a Linux kernel image, and is designed to be dropped into a Linux system and booted via LILO. Once booted, the user is greeted by the FreeBSD loader. This still isn't quite complete, as the the root= specification from LILO isn't currently passed to the loader yet.
|
63101 |
14-Jul-2000 |
nyan |
Merged from sys/boot/i386/libi386/biosdisk.c revision 1.31.
|
63032 |
12-Jul-2000 |
jhb |
The new and improved boot0, v1.1. This version adds the following: - Autodetection and support of the BIOS EDD extensions to work around the 1024 cylinder limit on all but really ancient BIOS's. - To work around some BIOS's which break when EDD is used with older drives, we only attempt to use EDD if the cylinder is > 1023. - Since this new code required more space than we had left, expand boot0 to 2 sectors (1024 bytes) in length. - Add support for boot0 being multiple sectors using predefined constants. If boot0 needs to be extended in the future, all that is required is bumping the NUM_SECTORS constant. - Now that we have more room to work with, add a few more fs type descriptions while making others more verbose.
|
62913 |
10-Jul-2000 |
jhb |
Always install loader.4th, defaults/loader.conf, and support.4th instead of only doing so if loader.rc does not exist. This fixes the problem where installworld doesn't update /boot/loader.4th, resulting in device.hints not being loaded after updating past the config(8) changes, which resulted in mcclock0 not being probed, and a nice kernel panic during boot.
|
62874 |
10-Jul-2000 |
kris |
Don't call printf with no format string.
|
62873 |
10-Jul-2000 |
kris |
Don't call printf with no format string. This is technically a security vulnerability and could in principle be used to upload a new kernel from the bootloader :-)
|
62787 |
07-Jul-2000 |
jhb |
Remove commented out NOMAN variable.
|
62665 |
06-Jul-2000 |
jhb |
- Inline all the functions that are only called once. This results in a savings of 68 bytes in boot2. - Also add a comment warning that you can't remove the empty exit() function.
|
62660 |
06-Jul-2000 |
jhb |
Doh. The disklabel is not 0x200 bytes of zeros, but it is 0x200 bytes long.
|
62658 |
06-Jul-2000 |
jhb |
Clarify the comments in here a bit. The first sector of boot2 is not just zeros, it is actually the disklabel itself. boot2.ldr is simply a placeholder in the boot2 binary.
|
62657 |
06-Jul-2000 |
jhb |
Emulate the WBINVD instruction when it is called by the BIOS.
|
62242 |
29-Jun-2000 |
jhb |
Change the fault message to say 'BTX halted' isntead of 'System halted' to avoid confusion.
Submitted by: George Scott <George.Scott@its.monash.edu.au>
|
62233 |
29-Jun-2000 |
ache |
Add randomdev_load="NO"
|
62229 |
29-Jun-2000 |
jhb |
Rework the detecting of the rdmsr and wrmsr instructions in the v86 monitor so that the codepath is cleaner and easier to maintain in the future.
|
62176 |
27-Jun-2000 |
jhb |
- Don't blindly assume that there are 8 hard drives installed. Instead, use the BIOS Equipment List to determine how many hard drives are installed and if the drive number we received in %dl is valid. - Don't bother to disable interrupts when setting up the stack. The 8086 and beyond implicitly disable interrupts after an instruction that sets %ss (for example, a pop or a mov) so that you can safely set %ss and %sp in two consecutive instructions. An exception to this is the lss instruction, which can set both registers simultaneously and thus doesn't need this hack. - Add support for EDD BIOS extensions to support booting off of hard drives of nearly arbitrary length.
|
62146 |
26-Jun-2000 |
jhb |
Comment this.
|
62138 |
26-Jun-2000 |
jhb |
Add in support for EDD to support large disks via LBA. This uses a method similar to that of the loader to avoid potentially breaking older drives in that we only use EDD if the desired cylinder is > 1023.
|
62049 |
25-Jun-2000 |
mph |
Typo fix: tunnable. Backslash-parsing is not the role of printf(3), but is provided by the C language.
|
61943 |
22-Jun-2000 |
sheldonh |
Whitespace-only changes: apply accepted line breaking style as a pre-cursor to other markup changes.
Accepted in principle by the author.
|
61836 |
19-Jun-2000 |
jhb |
Comment this bad boy. Hopefully the next person that comes along won't have to spend a few hours reading the code to figure all this out.
|
61823 |
19-Jun-2000 |
jhb |
- Add some more details to the 'lsdev' output for FAT file systems. - Add in support for the EDD (Enhanced Disk Drive) BIOS extensions to use LBA mode for accessing drives past cylinder 1024. This should allow us to load a kernel from anywhere on a newer drive up to 2 TB. Part of this came from the PR below.
PR: i386/13847 Submitted by: Tor Egge <Tor.Egge@fast.no>
|
61757 |
17-Jun-2000 |
mjacob |
Add wx and ispfw loadable module defaults.
|
61743 |
17-Jun-2000 |
jhb |
Add support for emulating the RDMSR and WRMSR instructions into BTX. In theory, this should allow the K7V Athlon motherboard to boot ok with boot virus protection enabled. However, I have no hardware to test this. It shouldn't break anything though. :)
Prodded by: Kelly Yancey <kbyanc@posi.net>
|
61720 |
16-Jun-2000 |
dcs |
Fix vocabulary juggling so that builtins voc is always searched before forth vocabulary when initially creating the builtins. FICL 2.05 has a better way to do this, but this works for now.
Fixes "?".
|
61694 |
14-Jun-2000 |
dcs |
Revert to 1.8
|
61693 |
14-Jun-2000 |
dcs |
Remove the setting of sourceid from bf_vm(), as bf_vm() really has no clue.
Set sourceid to 0 when booting, which is the correct setting for stdin.
Set sourceid to an arbitrary fd when include'ing, preserving and restoring the previous sourceid. This is possibly broken(), as 0 is a valid fd. Maybe we should +1 to this value.
This fixes the version problem widely reported.
|
61659 |
14-Jun-2000 |
ps |
Delay calling the device cleanup routines until the absolute last moment. We were cleaning up after PXE too early and the module dependancy code would not be able to load any files if it needed too.
|
61653 |
14-Jun-2000 |
ps |
Make typing 'q' or 'Q' work for the show command as the pager prompt says it should.
|
61650 |
14-Jun-2000 |
peter |
With apologies to dcs, temporarily comment out the version check code. It is failing for everybody that I have spoken with that has tried it.
FreeBSD/i386 bootstrap loader, Revision 0.8 (root@outback.netplex.com.au, Tue Jun 13 23:26:49 PDT 2000) Loader version 0.3+ required Aborted! start not found
Note that the 0.3+ message is from inside the arch-alpha block, not the i386 block of code. And even then, 0.8 is higher than 0.3.
This prevents the rest of the loader.conf stuff working. :-/
|
61640 |
13-Jun-2000 |
peter |
Borrow phk's axe and apply the next stage of config(8)'s evolution.
Use Warner Losh's "hint" driver to decode ascii strings to fill the resource table at boot time.
config(8) no longer generates an ioconf.c table - ie: the configuration no longer has to be compiled into the kernel. You can reconfigure your isa devices with the likes of this at loader(8) time: set hint.ed.0.port=0x320
userconfig will be rewritten to use this style interface one day and will move to /boot/userconfig.4th or something like that.
It is still possible to statically compile in a set of hints into a kernel if you do not wish to use loader(8). See the "hints" directive in GENERIC as an example.
All device wiring has been moved out of config(8). There is a set of helper scripts (see i386/conf/gethints.pl, and the same for alpha and pc98) that extract the 'at isa? port foo irq bar' from the old files and produces a hints file. If you install this file as /boot/device.hints (and update /boot/defaults/loader.conf - You can do a build/install in sys/boot) then loader will load it automatically for you. You can also compile in the hints directly with: hints "device.hints" as well.
There are a few things that I'm not too happy with yet. Under this scheme, things like LINT would no longer be useful as "documentation" of settings. I have renamed this file to 'NOTES' and stored the example hints strings in it. However... this is not something that config(8) understands, so there is a script that extracts the build-specific data from the documentation file (NOTES) to produce a LINT that can be config'ed and built. A stack of man4 pages will need updating. :-/
Also, since there is no longer a difference between 'device' and 'pseudo-device' I collapsed the two together, and the resulting 'device' takes a 'number of units' for devices that still have it statically allocated. eg: 'device fe 4' will compile the fe driver with NFE set to 4. You can then set hints for 4 units (0 - 3). Also note that 'device fe0' will be interpreted as "zero units of 'fe'" which would be bad, so there is a config warning for this. This is only needed for old drivers that still have static limits on numbers of units. All the statically limited drivers that I could find were marked.
Please exercise EXTREME CAUTION when transitioning!
Moral support by: phk, msmith, dfr, asmodai, imp, and others
|
61627 |
13-Jun-2000 |
ru |
Treat \t and \n inside /boot.config as whitespaces.
PR: 19215
|
61586 |
12-Jun-2000 |
dcs |
Fix REFILL. It must throw RESTART instead of OUTOFTEXT so that execution can take place at the point where it stopped after the input buffer has been refilled.
Add ANS Forth CORE EXT and FILE word SOURCE-ID.
|
61585 |
12-Jun-2000 |
dcs |
The word environment? returns a flag indicating whether the variable was found or not. Fix it's usage. Alas, it caused no problem before, besides leaving garbage in the stack, because refill, used by [if] [else] [then], was broken.
|
61584 |
12-Jun-2000 |
dcs |
Make abort" functional in interpret mode. This behavior is undefined by ANS Forth standard, but it's useful.
Also, define the constant true in a more strict way. C might garantee 2-complement math, but Forth doesn't.
|
61583 |
12-Jun-2000 |
dcs |
Make comment reflect reality.
|
61379 |
07-Jun-2000 |
dcs |
Put some version checking.
|
61378 |
07-Jun-2000 |
dcs |
Bump loader version due to FICL (duh!) and copyin, copyout, setenv&cia.
|
61377 |
07-Jun-2000 |
dcs |
Bump loader version due to copyin, copyout, setenv&cia.
|
61376 |
07-Jun-2000 |
dcs |
Modify boot-conf so it can take a kernel or directory name as a parameter and dtrt.
Also, make boot-conf always unload first. There wasn't really any point in not doing this, as the kernel _has_ to be loaded before any other modules.
Tested by: dwhite
|
61374 |
07-Jun-2000 |
dcs |
Add setenv, getenv, setenv?, unsetenv, copyin and copyout to FICL.
|
61373 |
07-Jun-2000 |
dcs |
Remove AGAIN definition, as FICL 2.04 provides it.
Add strlen, to help handling data generated by C code.
Add 2>r 2r>, because OO programming without them sucks.
|
61372 |
07-Jun-2000 |
dcs |
Remove a bug that caused local variables declarations in the format { | internal -- } to be rejected.
|
61371 |
07-Jun-2000 |
dcs |
Place original builtins in a vocabulary called "builtins". This is intended mainly for debuging purposes, but it can be used by other words if done carefully.
|
61353 |
07-Jun-2000 |
dcs |
Remove residual printf.
Prodded by: msmith
|
61205 |
03-Jun-2000 |
dfr |
Record the new PALcode revision in the pcs structure after changing to run OSF/1 PALcode.
Obtained from: NetBSD
|
61182 |
02-Jun-2000 |
dcs |
Apply a number of fixes for the Alpha platform.
|
61177 |
02-Jun-2000 |
dcs |
Add something that was missing from the original 2.04 distribution.
|
61149 |
01-Jun-2000 |
dcs |
Add "int" sized manipulation words.
|
61064 |
29-May-2000 |
nyan |
Sync with the following changes.
sys/boot/i386/btx/btx/Makefile 1.8 sys/boot/i386/btx/btx/btx.s 1.16 and 1.17 sys/boot/i386/btx/btxldr/btxldr.s 1.10 sys/boot/i386/loader/Makefile 1.45
|
60962 |
26-May-2000 |
dcs |
Strip spaces and comments more agressively.
|
60959 |
26-May-2000 |
dcs |
Bring in FICL 2.04. No bump of loader version is required by this commit.
|
60938 |
26-May-2000 |
jake |
Back out the previous change to the queue(3) interface. It was not discussed and should probably not happen.
Requested by: msmith and others
|
60846 |
24-May-2000 |
jhb |
Convert the short stub of real-mode code into 16-bit assembly.
|
60833 |
23-May-2000 |
jake |
Change the way that the queue(3) structures are declared; don't assume that the type argument to *_HEAD and *_ENTRY is a struct.
Suggested by: phk Reviewed by: phk Approved by: mdodd
|
60823 |
23-May-2000 |
jhb |
Grrr, fix a silly 'movl' -> 'movw' typo in both pxeldr and cdldr. Also, remove unnecessary cruft from the Makefiles for both.
|
60822 |
23-May-2000 |
jhb |
Clean up some more 16-bit code and get rid of more m4 macros.
|
60821 |
23-May-2000 |
jhb |
Clean up all of the 16-bit assembly code in the x86 bootstrap to work with the new binutils. Now that we have a decent assembler, all the old m4 macros are no longer needed. Instead, straight assembly can be used since as(1) now understands 16-bit addressing, branches, etc. Also, several bugs have been fixed in as(1), allowing boot0.s to be further cleaned up.
|
60820 |
23-May-2000 |
dcs |
Document abial's .#.
|
60752 |
21-May-2000 |
hoek |
Make this compile in case anyone ever wants to use the PC98 booter on an IBM machine. This fix matches i386/boot2/boot.c.
PR: kern/7903
|
60710 |
19-May-2000 |
dcs |
One of loaders' bugs disappeared somewhere along the way.
|
60704 |
19-May-2000 |
dcs |
Move man page directives to common/Makefile.inc.
|
60703 |
19-May-2000 |
dcs |
This file got repo-copied to common/.
|
60702 |
19-May-2000 |
dcs |
Move man page directives to common/Makefile.inc.
|
60701 |
19-May-2000 |
dcs |
Remove INSTALL_FORTH stuff.
|
60700 |
19-May-2000 |
dcs |
Move man page directives to common/Makefile.inc. Remove INSTALL_FORTH stuff.
|
60684 |
18-May-2000 |
dcs |
Make corrections to allow for Alpha.
|
60506 |
13-May-2000 |
dfr |
Only probe network settings on the first open of the network device. The alpha firmware takes a seriously long time to open the network device the first time.
|
60490 |
13-May-2000 |
obrien |
The loader was written so that if /kernel was missing /kernel.old would be booted. Due to a bug, this wasn't happening.
There is still a lesser bug in that the loader decides which file to boot after the 10sec count down. This means the bootfile listed in the count down in is wrong in the case where the loader will boot /kernel.old.
|
60487 |
12-May-2000 |
peter |
Install the bootforth config files for the Alpha too. loader.conf should be functional now.
|
60482 |
12-May-2000 |
peter |
Reactivate the FICL hooks to make it be compiled in, but also initialize FICL. bootforth is now live on the Alpha!
**BEWARE** - you *MUST* build and install a current libstand or you will most likely get zfree() panics at loader startup.
We should now be able to set up the loader.conf stuff on the Alpha too.
|
60480 |
12-May-2000 |
peter |
Stop libficl from using floating point registers - this was cauing dictDelete() to fault early on the Alpha and was the original cause of the Alpha ficl failures.
|
60434 |
12-May-2000 |
peter |
Fix the Alpha loader the rest of the way. If FICL is present in /boot/loader (even though it is 100% dormant in the Alpha version), then the loader panics with a zfree error:Loading /boot/loader.test *** keyboard not plugged in... Console: SRM firmware console panic: zfree(0x2003cb58,4096): wild pointer versus the exact same code but without FICL linked in: Loading /boot/loader Console: SRM firmware console VMS PAL rev: 0x1000600010114 OSF PAL rev: 0x1000600020116 Switch to OSF PAL code succeeded.
FreeBSD/alpha SRM disk boot, Revision 0.1
This is almost certainly an alpha infrastructure bug, not a FICL problem. It's probably the same thing that made FICL fail for no apparent reason on the Alpha.
|
60432 |
12-May-2000 |
bp |
long != int on Alphas.
|
60277 |
09-May-2000 |
dwhite |
Remove metion of the 'magic options.' Apparently PXE doesn't require the special options on 0.99c (it mumbles something about 'PXE server not found' but works anyway), and it won't work at all with PXE 2.0.
|
60108 |
06-May-2000 |
msmith |
Teach the alpha loader install process to make backup copies of the boot programs when installing new versions.
|
60046 |
05-May-2000 |
jhb |
Switch to using the .code16 as(1) directive and using 16-bit assembly code instead of using 32-bit code and having to just "know" that it's really 16-bit instructions when things run. This also allows the code to use fewer macros and more actual assembly statements, which eases maintenance. Unfortunately, due to as(1) brokenness, we still use m4 macros for all 16-bit addresses, and all short jumps (i.e., 8-bit relative addresses in the jump instruction) must be wrapped in .code32 directives to avoid useless bloat by as(1). This also fixes a few problems that were preventing boot0 from compiling with the latest and greatest version of as(1).
|
60023 |
05-May-2000 |
ps |
Remove the static heap. It is unknown why it was needed in the beginning, but it no longer is required. This has been tested with many different revisions of the PXE rom from Intel.
|
60014 |
05-May-2000 |
dcs |
Lay the groundwork for on-demand dictionary expansion.
|
60007 |
04-May-2000 |
dcs |
Correct a bug whereby allocations to the dictionary would not be allowed unless four times the space requested was available.
|
60006 |
04-May-2000 |
dcs |
Make documentation on recently added heap? command reflect reality.
|
60005 |
04-May-2000 |
dcs |
Add "heap?" to loader's man page.
|
60003 |
04-May-2000 |
dcs |
Further improve ordering.
|
60002 |
04-May-2000 |
dcs |
Sort entries in FreeBSD-specific FICL commands.
|
60000 |
04-May-2000 |
dcs |
Add heap?, so we can tell how much free space we have left.
|
59912 |
03-May-2000 |
nyan |
- Removed hi-resolution mode supports. - Added a dummy partition table.
|
59895 |
02-May-2000 |
n_hibma |
Add the udbp module
|
59887 |
02-May-2000 |
dwhite |
Add man page for pxeboot.
Reviewed By: asmodai
|
59874 |
01-May-2000 |
peter |
Add $FreeBSD$
|
59857 |
01-May-2000 |
peter |
GC unused variable (size)
|
59856 |
01-May-2000 |
peter |
Fix some warnings on the Alpha. sizeof() returns different things on x86 and Alpha. Sigh.
|
59855 |
01-May-2000 |
ps |
Wrap the failure warnings around PXE_DEBUG in the cleanup routine. It does not matter if they fail, so dont print anything about it unless we are debugging.
|
59854 |
01-May-2000 |
bp |
Update loader logic to distinguish modules vs. files. Add support for module metadata. The old way of dependancy handling will be supported for a while.
Reviewed by: peter
|
59777 |
30-Apr-2000 |
nyan |
Sync with sys/boot/i386/libi386/biosdisk.c revision 1.30.
|
59768 |
29-Apr-2000 |
ps |
Fall back to /pxeroot as the location of the NFS exported directory if we are not given one by dhcp. Remove extra includes while I am here.
Reminded by: jlemon
|
59767 |
29-Apr-2000 |
jlemon |
Teach the loader about the ext2fs filesystem, extended partitions, and the new readdir function.
|
59686 |
27-Apr-2000 |
ps |
Make PXE do a dhcp request to find out where its files are. The DHCP server is no longer required to also act as the NFS/TFTP server.
|
59673 |
27-Apr-2000 |
ps |
Don't report errors when we UDP_WRITE fails with a status of 1.
|
59659 |
26-Apr-2000 |
jhb |
Now that we are compiling PXE into libi386, we don't need ../libi386 in .PATH anymore.
|
59644 |
26-Apr-2000 |
ps |
Bring support in for Intel Wired for Management 1.1 (PXE 0.99 and below). This did not work previously because interrupts were disabled when PXE calls were being made, and they must be enabled. This should also allow us to be compliant with all newer PXE rom's from Intel.
For PXE 0.99, this has been tested using the Intel N440BX motherboard and I am confident it will work on the Intel L440GX motherboard.
Lots of help/information from: jhb, peter
I would like to thank Michael Johnston <michael.johnston@intel.com>, Mike Henry <mike.henry@intel.com>, and all the other PXE developers at Intel for their help, and information in helping solve this problem.
|
59634 |
26-Apr-2000 |
jhb |
Don't disable interrupts when calling a vm86 mode interrupt or routine from user mode. Don't disable interrupts when returning from vm86 mode to user mode either. Now, we only disable interrupts before calling a hardware interrupt handler, which is the only time we _should_ be disabling interrupts.
Because of this, err, feature, any routine that one called in vm86 mode had to re-enable interrupts by setting the interrupt flag or interrupts would remain disabled even after the routine returned. For example, I have a simple debugging routine that uses a vm86 mode function to dump any arbitrary memory word that I use to read the BIOS timer or any other memory location. This function does 1 load instruction from memory and then returns. Since it didn't re-enable interrupts, the first time I called it to read the BIOS timer, it disabled interrupts. This also affected the PXE bootstrap as it needs interrupts enabled while it is processing. This patch fixes both of those situations so that those functions do not worry about having to enable interrupts. Hardware interrupt handlers worked fine with the old code because they always enable interrupts as part of their routine.
If you have any problems with the loader after this commit, please let me know. I'd like to MFC it in a week or two since PXE support needs it.
Noticed by: ps, Michael Johnston <michael.johnston@intel.com>
|
59535 |
23-Apr-2000 |
nyan |
Sync with the following changes.
sys/boot/i386/libi386/Makefile 1.16 and 1.17 sys/boot/i386/loader/Makefile 1.44 sys/boot/i386/loader/main.c 1.20
|
59473 |
21-Apr-2000 |
ps |
Move the building of the PXE module into libi386.
|
59456 |
21-Apr-2000 |
ps |
Make the loader a little smarter about when it is and is not allowed to call PXE.
|
59455 |
21-Apr-2000 |
ps |
Don't call the PXE cleanup routine if PXE is not enabled. This should fix the "Invalid partition table" error people were seeing.
|
59408 |
20-Apr-2000 |
ps |
Add a cleanup function. This is needed for PXE where you should shutdown the UNDI and unload the stack.
|
59390 |
19-Apr-2000 |
ps |
Use !PXE api over PXENV+ api. Magic trampoline by: peter (at 4am and after a good whipping at airhockey) Do a better job of returning and detecting errors.
|
59294 |
16-Apr-2000 |
msmith |
Some more i386-only BIOS-friendliness:
- Add support for using the PCI BIOS functions for configuration space accesses, and make this the default.
- Make PNPBIOS the default (obsoletes the PNPBIOS config option).
- Add two new boot-time tunables to disable each of the above.
|
59230 |
14-Apr-2000 |
nyan |
The printf function of boot2 can't recognize "%lx" format.
Submitted by: Nobuyuki Koganemaru <kogane@koganemaru.co.jp>
|
59228 |
14-Apr-2000 |
nyan |
Merged from sys/boot/i386/loader/Makefile revision 1.43.
|
59167 |
12-Apr-2000 |
kato |
Merged from sys/boot/i386/loader/main.c rev 1.19.
|
59150 |
11-Apr-2000 |
jhb |
Add a missing dependency: boot2 depends on the BTX kernel.
|
59100 |
08-Apr-2000 |
jkh |
Nuke duplicate struct declaration from somebody's paste-o
|
59087 |
08-Apr-2000 |
ps |
Make PXE use the UDP API. This allows for both TFTP and NFS support. You may specify TFTP or NFS via compile time options in the loader, but not both at this time.
Also, remove a warning about not knowing how to boot from network devices. We can obviously do that now.
|
58999 |
04-Apr-2000 |
ps |
Add a missing PXE API call and structure.
|
58993 |
04-Apr-2000 |
ps |
Add all the PXE related structures from the 2.1 PXE spec from Intel. Fix exsisting code to match the spec.
|
58871 |
31-Mar-2000 |
kato |
Synced with following files: src/sys/boot/i386/Makefile.inc 1.1 src/sys/boot/i386/btx/btx/btx.s 1.15 src/sys/boot/i386/btx/btxldr/Makefile 1.8 src/sys/boot/i386/btx/btxldr/btxldr.s 1.9 src/sys/boot/i386/libi386/biosdisk.c 1.29 src/sys/boot/i386/loader/Makefile 1.42 src/sys/boot/i386/loader/main.c 1.18 (entry point address of loader was not changed.)
Reviewed by: nyan
|
58829 |
30-Mar-2000 |
kato |
Separated serial boot block interface routine into NS16550 stuff and i8251 stuff.
|
58713 |
28-Mar-2000 |
jhb |
Mega i386 loader commit. - Don't hard code 0x10000 as the entry point for the loader. Instead add src/sys/boot/i386/Makefile.inc which defines a make variable with the entry point for the loader. Move the loader's entry point up to 0x20000, which makes PXE happy. - Don't try to use cpp to parse btxldr for the optional BTXLDR_VERBOSE, instead use m4 to achieve this. Also, add a BTXLDR_VERBOSE knob in the btxldr Makefile to turn this option on. - Redo parts of cdldr's Makefile so that it now builds and installs cdboot instead of having i386/loader/Makefile do that. Also, add in some more variables to make the pxeldr Makefile almost identical and thus to ease maintainability. - Teach cdldr about the a.out format. Cdldr now parsers the a.out header of the loader binary and relocates it based on that. The entry point of the loader no longer has to be hardcoded into cdldr. Also, the boot info table from mkisofs is no longer required to get a useful cdboot. - Update the lsdev function for BIOS disks to parse other file systems (such as DOS FAT) that we currently support. This is still buggy as it assumes that a floppy with a DOS boot sector actually has a MBR and parses it as such. I'll be fixing this in the future. - The biggie: Add in support for booting off of PXE-enabled network adapters. Currently, we use the TFTP API provided by the PXE BIOS. Eventually we will switch to using the low-level NIC driver thus allowing both TFTP and NFS to be used, but for now it's just TFTP.
Submitted by: ps, alfred Testing by: Benno Rice <benno@netizen.com.au>
|
58165 |
17-Mar-2000 |
nyan |
Sync with sys/boot/i386/libi386/biosdisk.c revision 1.27 and 1.28.
Submitted by: Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
|
58098 |
15-Mar-2000 |
jhb |
Remove some extra spammage that made it into this commit. This will be revisited later with a better fix, or at least one that compiles. :)
Approved by: dcs
|
58081 |
15-Mar-2000 |
dcs |
Pass an unit number to bcache_strategy, so it can flush the cache when necessary. Pass an absolute block number too, instead of receiving a relative one in realstrategy(), as bcache_strategy() requires this.
The fix is sligthly different from the one in the PR.
PR: 17098 Submitted by: John Hood <jhood@sitaranetworks.com>
|
58080 |
15-Mar-2000 |
dcs |
bcache_strategy() now receives an unit number, and keep track of what was the last unit number received. If it changes, it flushes the cache. Add bcache_flash().
The actual fix is sligthly different from the one in the PR.
PR: 17098 Submitted by: John Hood <jhood@sitaranetworks.com>
|
58079 |
15-Mar-2000 |
dcs |
Pass unit number to bcache_strategy(), so that the cache can be flushed if the unit changes. Compute the absolute offset before bcache_strategy() instead of after.
The actual fix is sligthly different for the one in the PR.
PR: 17098 Submitted by: John Hood <jhood@sitaranetworks.com>
|
57468 |
25-Feb-2000 |
bp |
Fix the loader to handle module dependencies properly. More fixes will be provided after modmetadata appears in the kernel.
Reviewed by: msmith Approved by: jkh
|
57269 |
17-Feb-2000 |
msmith |
Close a file descriptor leak in the code which loads file objects.
Submitted by: Paul Saab <paul@mu.org> Approved by: jkh
|
57254 |
16-Feb-2000 |
jhb |
This patch to BTX fixes several small things:
1) Fix a bug in the int15 function 87 emulation where we only copied half of what the BIOS asked for. This caused the Mylex RAID adapter to go haywire and start trashing memory when you tried to boot from it. 2) Don't use interrupt 19 to reboot. Instead, set the reboot flag to a warm boot and jump to the BIOS's reboot handler. int 19 doesn't clear memory or restore the interrupt vector table, and thus really isn't safe. For example, when booting off of PXE, the PXE BIOS eats up a chunk of memory for its internal data and structures. Since we rebooted via int 19, using the 'reboot' command in the loader resulted in that memory not being reclaimed by the BIOS. Thus, after a few PXE boots, the system was out of lower memory. 3) Catch any int 19 calls made by a BTX client or a user pressing Ctrl-Alt-Delete and shutdown BTX and reboot the machine cleanly. This fixes Ctrl-Alt-Delete in the loader and in boot2 instead of presenting the user with a BTX fault.
Approved by: jkh Found by: 1) by msmith
|
57090 |
09-Feb-2000 |
ru |
Support the new ata(4) syntax, while providing backward compatibility for wd(4).
Reviewed by: jkh, msmith, sos Approved by: jkh
|
56994 |
05-Feb-2000 |
kato |
Synced with sys/boot/i386/loader/Makefile rev 1.41.
|
56992 |
04-Feb-2000 |
luigi |
Add a NOFORTH variable so we can build a smaller loader without Forth support, for use with PicoBSD
Approved-By: jordan
|
56903 |
30-Jan-2000 |
jhb |
Fix bogon in previous commit. Re-enable Forth in the loader.
Noticed by: dcs Approved by: jkh
|
56813 |
29-Jan-2000 |
kato |
Synced with sys/boot/i386/btx/btx/btx.s rev 1.14.
|
56752 |
28-Jan-2000 |
jhb |
Allow for cdldr to be built in ${.OBJDIR}/../cdldr/cdldr instead of only looking for it in ${.CURDIR}/../cdldr/cdldr. This fixes world.
|
56719 |
28-Jan-2000 |
dcs |
Implement a machine-independent (word size-independent) FICL_TRUE.
|
56718 |
28-Jan-2000 |
dcs |
ANS Forth for logical not is 0=, not invert. Replace wrong usage.
|
56717 |
28-Jan-2000 |
dcs |
Add testmain.o to CLEANFILES.
|
56716 |
28-Jan-2000 |
dcs |
Try my hand again at removing ugly testmain target.
|
56693 |
27-Jan-2000 |
jhb |
Add the new cdldr CD bootstrap loader. This patch includes the following:
- Fix btxldr to preserve a NULL bootinfo pointer when it copies the kernel arguments. - Add the cdldr bootstrap program. This program is tacked onto the beginning of the standard 3rd stage boot loader (/boot/loader) to form the CD boot loader (/boot/cdboot). When a CD is booted, the cdboot file is copied into memory instead and executed. The cdldr stub emulates the environment normally provided by boot2 and then starts the loader. This booting method does not emulate a floppy drive, but boots directly off of the CD. This should fix the problems some BIOS's have with emulating a 2.88 MB floppy image. - Add support to the loader to recognize that it has been booted by cdldr instead of boot2 and use a simpler method of extracting the BIOS boot device.
|
56691 |
27-Jan-2000 |
jhb |
Fix brokenness introduced with the PAGING conditional variable. The value of %cr0 wasn't reloaded into %eax before being modified to turn protected mode off if PAGING was not defined. The result was that the processor did not exit protected mode, so when it tried to jump to segment 0x0 in the next instruction to clear the prefetch cache like one should when leaving protected mode, it actually tried to jump to a null selector, causing a GPF.
|
55992 |
14-Jan-2000 |
wpaul |
Add driver support for the Aironet 4500/4800 series wireless 802.11 NICs. (Finally!) The PCMCIA, ISA and PCI varieties are all supported, though only the ISA and PCI ones will work on the alpha for now. PCCARD, ISA and PCI attachments are all provided. Also provided an ancontrol(8) utility for configuring the NIC, man pages, and updated pccard.conf.sample. ISA cards are supported in both ISA PnP and hard-wired mode, although you must configure the kernel explicitly to support the hardwired mode since you have to know the I/O address and port ahead of time.
Special thanks to Doug Ambrisko for doing the initial newbus hackery and getting it to work in infrastructure mode.
|
55944 |
14-Jan-2000 |
wpaul |
Add device driver support for USB ethernet adapters based on the CATC USB-EL1202A chipset. Between this and the other two drivers, we should have support for pretty much every USB ethernet adapter on the market. The only other USB chip that I know of is the SMC USB97C196, and right now I don't know of any adapters that use it (including the ones made by SMC :/ ).
Note that the CATC chip supports a nifty feature: read and write combining. This allows multiple ethernet packets to be transfered in a single USB bulk in/out transaction. However I'm again having trouble with large bulk in transfers like I did with the ADMtek chip, which leads me to believe that our USB stack needs some work before we can really make use of this feature. When/if things improve, I intend to revisit the aue and cue drivers. For now, I've lost enough sanity points.
|
55429 |
05-Jan-2000 |
wpaul |
Add device driver support for USB ethernet adapters based on the Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com 3c19250 and the ADS Technologies USB-10BT. This device is 10mbs half-duplex only, so there's miibus or ifmedia support. This device also requires firmware to be loaded into it, however KLSI allows redistribution of the firmware images (I specifically asked about this; they said it was ok).
Special thanks to Annelise Anderson for getting me in touch with KLSI (eventually) and thanks to KLSI for providing the necessary programming info.
Highlights: - Add driver files to /sys/dev/usb - update usbdevs and regenerate attendate files - update usb_quirks.c - Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha - Update LINT, GENERIC and others for i386, alpha and pc98 - Add man page - Add module - Update sysinstall and userconfig.c
|
55342 |
03-Jan-2000 |
nyan |
Merge from the following changes.
sys/boot/i386/libi386/biosmem.c Rev 1.4 sys/boot/i386/libi386/time.c Rev 1.3 sys/boot/i386/loader/main.c Rev 1.16
|
55339 |
03-Jan-2000 |
nyan |
Fixed to get the BIOS geometry.
|
55211 |
29-Dec-1999 |
msmith |
Substantially revamp the way that we determine the amount of memory available for our use. Use the same search order for BIOS memory size functions as the kernel will later use.
Allow the loader to use all of the detected physical memory (this will greatly help people trying to load enormous memory disk images).
More correctly handle running out of memory when loading an object.
Use the end of base memory for the top of the heap, rather than blindly hoping that there is 384k left.
Add copyrights to a couple of files I forgot.
|
55206 |
29-Dec-1999 |
peter |
Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
|
55173 |
28-Dec-1999 |
msmith |
Correctly handle a user-requested abort in the middle of displaying a help subtopic.
PR: kern/13196 Submitted by: MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
|
55162 |
28-Dec-1999 |
wpaul |
This commit adds device driver support for the ADMtek AN986 Pegasus USB ethernet chip. Adapters that use this chip include the LinkSys USB100TX. There are a few others, but I'm not certain of their availability in the U.S. I used an ADMtek eval board for development. Note that while the ADMtek chip is a 100Mbps device, you can't really get 100Mbps speeds over USB. Regardless, this driver uses miibus to allow speed and duplex mode selection as well as autonegotiation. Building and kldloading the driver as a module is also supported.
Note that in order to make this driver work, I had to make what some may consider an ugly hack to sys/dev/usb/usbdi.c. The usbd_transfer() function will use tsleep() for synchronous transfers that don't complete right away. This is a problem since there are times when we need to do sync transfers from an interrupt context (i.e. when reading registers from the MAC via the control endpoint), where tsleep() us a no-no. My hack allows the driver to have the code poll for transfer completion subject to the xfer->timeout timeout rather that calling tsleep(). This hack is controlled by a quirk entry and is only enabled for the ADMtek device.
Now, I'm sure there are a few of you out there ready to jump on me and suggest some other approach that doesn't involve a busy wait. The only solution that might work is to handle the interrupts in a kernel thread, where you may have something resembling a process context that makes it okay to tsleep(). This is lovely, except we don't have any mechanism like that now, and I'm not about to implement such a thing myself since it's beyond the scope of driver development. (Translation: I'll be damned if I know how to do it.) If FreeBSD ever aquires such a mechanism, I'll be glad to revisit the driver to take advantage of it. In the meantime, I settled for what I perceived to be the solution that involved the least amount of code changes. In general, the hit is pretty light.
Also note that my only USB test box has a UHCI controller: I haven't I don't have a machine with an OHCI controller available.
Highlights:
- Updated usb_quirks.* to add UQ_NO_TSLEEP quirk for ADMtek part. - Updated usbdevs and regenerated generated files - Updated HARDWARE.TXT and RELNOTES.TXT files - Updated sysinstall/device.c and userconfig.c - Updated kernel configs -- device aue0 is commented out by default - Updated /sys/conf/files - Added new kld module directory
|
55139 |
27-Dec-1999 |
peter |
Connect up the bootforth glue and compile it, but don't initialize it at runtime as it has a nasty habit of crashing on the Alpha :-(. This is being done this way so we have a common starting point for debugging.
|
55017 |
23-Dec-1999 |
wpaul |
Close PR #15422; fix loader.conf to reflect new driver support (old tulip clone NICs merged into if_dc driver).
PR: conf/15422
|
54819 |
19-Dec-1999 |
nyan |
- Supported the bd_getbigeom function and use this function to get BIOS geometry. - Use i386/libi386/bootinfo.c instead of pc98/libpc98/bootinfo.c.
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
54695 |
16-Dec-1999 |
marcel |
Don't build gensetdefs when we can use /usr/bin/gensetdefs. The latter also creates setdef{0|1}.c so there's no need to have those in the repository. Using /usr/bin/gensetdefs has no consequences for the output.
|
54649 |
15-Dec-1999 |
marcel |
Add -L${DESTDIR}${LIBDIR} to ld's command line so that the right libstand is used.
|
54294 |
08-Dec-1999 |
phk |
Remove BAD144 support, it has already been disabled for some time.
|
54265 |
07-Dec-1999 |
msmith |
Update the sample for $init_path to reflect the kernel default.
|
54264 |
07-Dec-1999 |
msmith |
Update to reflect use of : not ; as separator in paths passed to the kernel.
|
54247 |
07-Dec-1999 |
dcs |
Make some examples reflect defaults.
|
54086 |
03-Dec-1999 |
nyan |
Supported to sound beep.
Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
|
54020 |
02-Dec-1999 |
dcs |
Add bus suffix to mii.
|
54019 |
02-Dec-1999 |
dcs |
Add if_ prefix to network drivers.
|
53993 |
01-Dec-1999 |
dcs |
Add fairings. Do not depend on user actually supplying the arguments he is supposed to supply.
|
53786 |
27-Nov-1999 |
dcs |
Make the prompt look like on OpenBoot.
|
53777 |
27-Nov-1999 |
dcs |
Zeroes structure before using it.
|
53708 |
26-Nov-1999 |
dcs |
Belatedly add splash_pcx_load to the documented variables. Reword splash_bmp_load.
|
53688 |
25-Nov-1999 |
nyan |
Sync with sys/boot/i386/loader/Makefile revision 1.37.
|
53673 |
24-Nov-1999 |
dcs |
Activates password protection (if a password is defined).
Adds $FreeBSD$.
|
53672 |
24-Nov-1999 |
dcs |
Add silly password feature. If people want to depend on a flawed security measures, so be it. It costs us almost nothing.
Document some code in support.4th that I was unable to understand just by reading.
|
53637 |
23-Nov-1999 |
dcs |
Add machine-specific include path to ficl's sysdep.h. Wishes I had gone to bed earlier.
Pointed by: peter
|
53636 |
23-Nov-1999 |
dcs |
Revert ill-considered simplification in 1.13.
Pointed by: peter
|
53635 |
23-Nov-1999 |
dcs |
Improve Makefile by using .PATH.
Taught by: peter
|
53634 |
23-Nov-1999 |
dcs |
Improve on ficl port to alpha.
Files sysdep.[ch] are now in ${MACHINE_ARCH} subdirectory. Internal #if's used to identify the platform where removed.
Make rule for target testmain was greatly simplified, because it was easier simplifying it than changing it to support the new location of sysdep.[ch].
(a repo-copy was done on sysdep.[ch], of course)
|
53633 |
23-Nov-1999 |
dcs |
(Hopefully) make all necessary changes for ficl to support alpha.
|
53548 |
22-Nov-1999 |
n_hibma |
Add comments on what it the USB modules are. Add the usb module.
The USB module contains the OHCI and UHCI controllers as well. Sticking them into separate modules might be possible after I have untangled the mess.
|
53315 |
17-Nov-1999 |
n_hibma |
Change the name of the modules from <name>_mod to <name>
Suggested by: David O'Brien <obrien@FreeBSD.ORG>
|
53243 |
16-Nov-1999 |
n_hibma |
Add the USB modules.
|
53218 |
16-Nov-1999 |
nyan |
Fixed warnings.
|
53217 |
16-Nov-1999 |
nyan |
Remove -mno-486 option and add -mpreferred-stack-boundary=2 option.
|
53207 |
16-Nov-1999 |
nyan |
Cosmetic changes.
|
53206 |
16-Nov-1999 |
nyan |
Install loader.rc.
|
53181 |
15-Nov-1999 |
marcel |
PC-98 has MACHINE_ARCH=i386 and MACHINE=pc98. Make it a special case. This should fix the breakage reported by nyan.
|
53174 |
15-Nov-1999 |
obrien |
Add -fdata-sections, which is a new GCC 2.95 optimization. Remove -fschedule-insns as it wasn't such a big win with 2.95 after all.
Add the *BIG* win "-mpreferred-stack-boundary=2" optimiztion submitted by Dima. GCC 2.95 ensures the stack frame is always properly [opitimally] aligned by surrounding every function call by code simular to "addl $-12, %esp" / "addl $12, %esp". Here we need the reduction in space, with speed not an issue.
|
53159 |
14-Nov-1999 |
obrien |
Return this file to its pre-spammed version. Thanks to some new compiler optimizations, we can go from 3 bytes free with the spammed version, to 279 bytes free with the full version.
|
53152 |
14-Nov-1999 |
marcel |
${MACHINE} -> ${MACHINE_ARCH}
All Makefiles now use MACHINE_ARCH for the target architecture. Unification is required for cross-building.
Tags added to: sys/boot/Makefile sys/boot/arc/loader/Makefile sys/kern/Makefile usr.bin/cpp/Makefile usr.bin/gcore/Makefile usr.bin/truss/Makefile
usr.bin/gcore/Makefile: fixed typo: MACHINDE -> MACHINE_ARCH
|
53135 |
14-Nov-1999 |
obrien |
Enter complier upgrade mode again. We need to cut 169 bytes from this: Remove some printf() calls, reduce size of buffers, and abbreviate some strings.
Hopefully the boot people will fix this spamage after the cut over to Gcc 2.95.2 as the system compiler.
|
53134 |
13-Nov-1999 |
obrien |
Turn on the -fforce-addr and -fschedule-insns optimizations. Adding either one gives us an additional 32 bytes of additional space available when using EGCS 1.1.2. With GCC 2.95.2 -fforce-addr gives us 12 more bytes, and adding -fschedule-insns gives us an additional 4 bytes.
|
52848 |
03-Nov-1999 |
dfr |
Add back netboot since it compiles just fine. Note that you need a full source tree to build netboot since it depends on headers from libstand.
|
52847 |
03-Nov-1999 |
dfr |
* Don't wait forever for the boot2 filename if the PCC wraps. * If the user presses return, load boot2 immediately.
|
52827 |
03-Nov-1999 |
nyan |
Sync with sys/boot/i386/btx/btx/btx.s revision 1.13.
|
52825 |
03-Nov-1999 |
nyan |
Sync with sys/boot/i386/libi386/Makefile revision 1.15.
|
52749 |
01-Nov-1999 |
dcs |
Changes prompt to "ok". This line is actually commented out, and serves only as an example and to reflect the builtin default.
|
52748 |
01-Nov-1999 |
dcs |
Changes the default prompt to "ok".
Mike says the whole idea of a current device was a bad idea in first place, and will be doing away with currdev.
Anyway, people are not supposed to even notice this. :-)
|
52674 |
30-Oct-1999 |
phantom |
Remove comments left since mdoc.template time or just useless comments
|
52545 |
27-Oct-1999 |
jhb |
If PAGING is defined then actually turn it on when entering protected mode.
|
52395 |
19-Oct-1999 |
dcs |
Make the "machine" target a prequisite to all source files.
Hinted-at by: bde
|
52202 |
13-Oct-1999 |
kato |
Sync with sys/boot/i386/btx/btx/Makefile and btx.s revisions 1.7 and 1.12, respectively.
|
52173 |
12-Oct-1999 |
jhb |
aThis patch updates the BTX to emulate the BIOS function "Copy Extended Memory" called as function 0x87 of interrupt 0x15. Since the Mylex RAID adapter's BIOS used this function to access memory (actually PCI bus space) beyond 16 MB, this patch also allows BTX to address all 4 Gig of possible address space on i386+. Since the loader does not have room for 4 MB of page tables, this was done by turning off paging.
Paging was turned off via a compile time setting which defaults to off. To enable paging, simply define the make variable PAGING.
rnordier might want to clean this up later.
Submitted by: W. Gerald Hicks <wghicks@bellsouth.net>, Bosko Milekic <bmilekic@ares.dsuper.net> Reviewed by: msmith Required by: Mylex RAID adapter's BIOS
|
52168 |
12-Oct-1999 |
dfr |
Allow this driver to open disks with no labels (CDROMS don't).
|
52148 |
12-Oct-1999 |
brian |
Blank out the twiddly thing when outputting the ``BTX loader'' message.
|
52058 |
09-Oct-1999 |
dfr |
Fix build break.
Submitted by: Thomas Valentino Crimi <tcrimi+@andrew.cmu.edu>
|
52057 |
09-Oct-1999 |
dfr |
Add net device to netboot.
|
51789 |
29-Sep-1999 |
dcs |
Fix world-breaking bug, add $FreeBSD$ tag.
This happened to be my first "for real" broken world. I had broken it once before, but nobody noticed, so it didn't count.
So, how do I get the "I broke world and all I got was the lousy t-shirt" t-shirt?
|
51786 |
29-Sep-1999 |
dcs |
Bring in ficl version 2.03. No version bump for loader.
|
51586 |
23-Sep-1999 |
kato |
- Fixed DMA 64k boundary problem. - Test the processor flag to detect disk I/O BIOS errors.
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
51104 |
09-Sep-1999 |
mjacob |
netboot removed until somebody fixes it so it compiles
|
51053 |
07-Sep-1999 |
msmith |
Add more missing files from the reorganisation.
Submitted by: dfr
|
51045 |
07-Sep-1999 |
wpaul |
Add mii_load entry to the network drivers section. Also add entries for a few additional drivers that have recently been module-ized.
|
51029 |
06-Sep-1999 |
dfr |
Change NetBSD/Alpha to FreeBSD/alpha.
|
51007 |
06-Sep-1999 |
msmith |
Common Alpha loader Makefile, omitted accidentally from the previous set of commits.
|
50959 |
05-Sep-1999 |
peter |
$Id$ -> $FreeBSD$
|
50859 |
03-Sep-1999 |
msmith |
Slight reorganisation of the Alpha/SRM loader build:
- Make as much of the makefile for each of the three flavours (disk, CDROM, net) common. - Special-case the libalpha startup module on its use in boot1, not the other way around. - Build the loader out of a "loader" directory
Reviewed by: mjacob, dfr
|
50822 |
03-Sep-1999 |
julian |
Remove accidental cut&paste garbage in a comment.
|
50820 |
03-Sep-1999 |
julian |
Comment the boot manager. So I don't have to work it all out again :-)
Reviewed by: rnordier@freebsd.org
|
50739 |
01-Sep-1999 |
dfr |
Change $Id$ to $FreeBSD$
|
50737 |
01-Sep-1999 |
dfr |
* Fix a stack of warnings. * Make it possible to type a filename to boot1 so that it is possible to recover from fatally broken versions of /boot/loader. * Make a start at a CD boot program (not yet functional).
|
50477 |
28-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
50000 |
18-Aug-1999 |
chris |
Fix a bunch of broken cross-references
|
49782 |
14-Aug-1999 |
jdp |
Append the flags from the "boot" command to those which came from the SRM environment. This makes the traditional "boot [/kernel] -s" and similar things work on the Alpha. Since the flags are appended, they augment and/or override those from the SRM environment.
|
49673 |
13-Aug-1999 |
kato |
Merge from sys/boot/i386/libi386/bootinfo.c revision 1.21.
|
49611 |
10-Aug-1999 |
wpaul |
Convert the Winbond driver to newbus and have it compiled as a module.
|
49610 |
10-Aug-1999 |
wpaul |
Convert the VIA Rhine driver to newbus and set it up to be compiled as a module. Also modified the code to work on FreeBSD/alpha and added device vr0 to the alpha GENERIC config.
While I was in the neighborhood, I noticed that I was still using #define NFPX 1 in all of the Makefiles that I'd copied from the fxp module. I don't really use #define Nfoo X so it didn't matter, but I decided to customize this correctly anyway.
|
49426 |
05-Aug-1999 |
kato |
- Don't assume that SCSI ID numbers of HDD units are contiguous. That is, don't assume that SCSI ID corresponds to a unit number of da device. Unit number of da device is provided by 2nd stage loader and 3rd stage loader now use it. - Fix drive letter to display.
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
49425 |
05-Aug-1999 |
kato |
Provides discontinuous unit number support to make external FDD bootable on 1 FDD PC98 machines. (When an external FDD unit is installed, unit numbers become discontinuous.)
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
49412 |
04-Aug-1999 |
green |
Add various network cards that have been new-busified and made into KLDs (thanks Bill!)
Remove lkm.
|
49381 |
02-Aug-1999 |
dfr |
Make this build if there is an obj directory.
|
49379 |
02-Aug-1999 |
se |
Add missing "path mnemonics" as given in Table 4-3 of rev. 1.2 of the ARC Specification.
|
49234 |
29-Jul-1999 |
se |
Fix install target (install loader.exe, not loader).
|
49192 |
28-Jul-1999 |
se |
Activate "arc" (ARC / AlphaBIOS loader) on Alpha.
|
49191 |
28-Jul-1999 |
nik |
Fix some typos.
PR: docs/11955 Submitted by: Christian Weisgerber <naddy@mips.rhein-neckar.de>
|
49188 |
28-Jul-1999 |
se |
This commit was generated by cvs2svn to compensate for changes in r49187, which included commits to RCS files with non-trunk default branches.
|
49060 |
24-Jul-1999 |
rnordier |
Recognise NetBSD slices.
Submitted by : Lars Koeller <lkoeller@cc.fh-lippe.de> PR : 12772
|
48952 |
21-Jul-1999 |
msmith |
Walk around the end of all the silly guessing of device types and unit numbers that we have been doing in the past, and read /etc/fstab off the proposed root filesystem to determine the actual device name and vfs type for the root filesystem. These are then exported to the kernel via the environment variable vfs.root.mountfrom.
|
48919 |
20-Jul-1999 |
rnordier |
Reintroduce LBA (cyl > 1023) support in the bootblocks, enabled by means of a build option.
|
48913 |
19-Jul-1999 |
rnordier |
Activate kgzldr.
|
48912 |
19-Jul-1999 |
rnordier |
Use M4FLAGS for m4.
|
48908 |
19-Jul-1999 |
rnordier |
This commit was generated by cvs2svn to compensate for changes in r48907, which included commits to RCS files with non-trunk default branches.
|
48829 |
15-Jul-1999 |
n_hibma |
The boot countdown timer says it will boot in 1 seconds, which is grammatically incorrect.
PR: 12628 Submitted-By: R. Matthew Emerson <rme@nightfly.apk.net>
|
48477 |
02-Jul-1999 |
msmith |
Document the hw.physmem tunable. (There should be arch-specific tunable help sections.)
|
48352 |
29-Jun-1999 |
peter |
Fix typo (wrong path)
|
48351 |
29-Jun-1999 |
peter |
Reconcile all the loader newvers.sh's into one common one.
|
48350 |
29-Jun-1999 |
peter |
Don't use head/tail - they don't exist in a 'make world' environment. (Why do we have three copies of this script anyway?)
|
48243 |
26-Jun-1999 |
peter |
ABS_SET() and BSS_SET() are no longer used. The sole remaining user of TEXT_SET() is DDB's command tables.
|
48135 |
23-Jun-1999 |
ru |
-mdoc fix.
|
48083 |
21-Jun-1999 |
rnordier |
Fill in bi_bios_geom[] in the bootinfo structure passed to the kernel. This should resolve the problem raised in PR 12315, and incidentally makes it easier to determine what geometry the BIOS is actually using (by way of boot -v and dmesg).
|
48037 |
19-Jun-1999 |
rnordier |
Provide for enabling/disabling each slice individually.
|
48034 |
19-Jun-1999 |
rnordier |
Fix use of e_phoff in place of e_phnum.
|
48033 |
19-Jun-1999 |
rnordier |
Correct and clarify some comments.
|
48010 |
18-Jun-1999 |
rnordier |
Change active flag handling; sanity check passed drive number; pass partition pointer to bootstrap; optimise away 10 bytes; cosmetics.
|
47890 |
13-Jun-1999 |
roger |
Add bktr_load for the loadable Bt848/Bt878 driver.
|
47780 |
06-Jun-1999 |
kato |
Sync with sys/boot/i386/libi386/bootinfo.c revision 1.19.
|
47727 |
04-Jun-1999 |
ghelmer |
Modify the boot loader to recognize the -C flag and pass the RB_CDROM flag to the kernel to mount a CDROM as the root filesystem. Alternatively, the boot_cdrom env var can be set.
As Mike Smith noted, "-C is the "wrong" way to do this", but this is an acceptable stopgap in lieu of a better way.
PR: bin/11884 Reviewed by: msmith@freebsd.org
|
47609 |
30-May-1999 |
dfr |
Typo: "can't boot 'boot'" should be "can't boot 'kernel'"
|
47576 |
28-May-1999 |
brian |
Always output a linefeed when we've decided whether to boot or display a loader prompt; either we've said "Booting [%s]..." or we've received a non-line-feed character and need a '\n' anyway.
|
47473 |
24-May-1999 |
rnordier |
Activate mbr.
|
47472 |
24-May-1999 |
rnordier |
This commit was generated by cvs2svn to compensate for changes in r47471, which included commits to RCS files with non-trunk default branches.
|
47395 |
22-May-1999 |
rnordier |
Fix a reference to the mysterious Mike Smisth.
|
47332 |
20-May-1999 |
kato |
Sync with sys/boot/i386/btx/Makefile revision 1.5.
|
47312 |
18-May-1999 |
rnordier |
Drop some non-existent commented-out targets.
|
47198 |
14-May-1999 |
dcs |
Add "initialize" to loader.4th, so running "start" is not actually needed.
|
47175 |
14-May-1999 |
dcs |
Add fxp on a category of it's own.
|
47173 |
14-May-1999 |
dcs |
Remove atapi and joy, add svr4 and streams. I wonder if removing vinum is in order or not... (things are _not_ loaded by default, but it serves as a reference to people tweaking their own loader.conf files)
|
47171 |
14-May-1999 |
dcs |
Add ntfs and splash_pcx, remove pcic and wcd (yikes! what was THAT doing here?).
Candidate for 3.2.
|
47113 |
13-May-1999 |
brian |
Better English.
|
47011 |
11-May-1999 |
jb |
Found the needle in the haystack!
Use colons instead of semi-colons in the default init_path to behave like UNIX instead of DOS.
Suggested by: bde Reminded by: des (with no hint as to *which* man page).
|
46356 |
03-May-1999 |
dfr |
Changes to support diskless booting on the alpha: * Make the network code in the bootstrap more chatty (helps debugging) * Add nfs root stuff to cpu_rootconf(). I also added a check to make sure it really was netbooting which allows the use of the same kernel for local and network boots. * Tweak the de driver so that it takes the speed setting from the console for the alpha (some PWSs have broken de chipsets). This is the same behaviour as NetBSD/alpha.
Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
|
46354 |
03-May-1999 |
jkoshy |
Correct typos.
PR: docs/11445 Submitted by: Kazuo Horikawa <horikawa@jp.freebsd.org>
|
46352 |
03-May-1999 |
jkoshy |
Correct misuse of .Nm.
PR: docs/11449 Submitted by: Kazuo Horikawa <horikawa@jp.freebsd.org>
|
46074 |
25-Apr-1999 |
dcs |
Make man page reflect reality on parsing rules. Now I know Jordan never read this man page... :-)
|
46043 |
25-Apr-1999 |
kato |
Sync with sys/boot/i386/loader/Makefile revision 1.34.
|
46012 |
24-Apr-1999 |
dcs |
Minor nit. It is probably still incorrect, but at least don't claim to use i386-specific files on alpha...
|
46009 |
24-Apr-1999 |
dcs |
Move loader.conf.5, while it is still in it's first revision.
|
46005 |
24-Apr-1999 |
dcs |
Add loader.4th man page (worst man page I ever wrote -- reviews are welcomed). Correct a nasty bug in loader.4th before anyone notices, add a couple of features.
|
45983 |
24-Apr-1999 |
kato |
Optimize better for space.
Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
|
45945 |
22-Apr-1999 |
jdp |
Update #include statements to reflect the new location of "sioreg.h". With these changes plus the egcs fix I committed a few minutes ago, "make -DWANT_AOUT world" works again. Most likely, "make upgrade" is fixed too, though I haven't tested that.
|
45881 |
20-Apr-1999 |
des |
Make the location of init(8) tunable at boot time.
|
45867 |
20-Apr-1999 |
joerg |
Don't clobber the "prompt" variable if it has already been set (e. g. from within loader.conf).
Reviewed by: dcs
|
45814 |
19-Apr-1999 |
kato |
Sync with sys/boot/i386/loader/Makefile revision 1.32.
|
45759 |
18-Apr-1999 |
dcs |
Installs a default loader.rc if none exists. Document loader.conf.
|
45758 |
18-Apr-1999 |
dcs |
A default loader.rc to be installed.
|
45720 |
16-Apr-1999 |
peter |
Bring the 'new-bus' to the i386. This extensively changes the way the i386 platform boots, it is no longer ISA-centric, and is fully dynamic. Most old drivers compile and run without modification via 'compatability shims' to enable a smoother transition. eisa, isapnp and pccard* are not yet using the new resource manager. Once fully converted, all drivers will be loadable, including PCI and ISA.
(Some other changes appear to have snuck in, including a port of Soren's ATA driver to the Alpha. Soren, back this out if you need to.)
This is a checkpoint of work-in-progress, but is quite functional.
The bulk of the work was done over the last few years by Doug Rabson and Garrett Wollman.
Approved by: core
|
45355 |
06-Apr-1999 |
dcs |
Reactivate trace! after making it egcs-friendly.
|
45335 |
05-Apr-1999 |
rnordier |
Fix damage introduced in previous commit.
|
45334 |
05-Apr-1999 |
rnordier |
Optimize better for space. Thanks to: jdp
|
45309 |
04-Apr-1999 |
obrien |
Remove the string ">>> FreeBSD/i386 BOOT". I need to reduce the size of boot2 by 16 bytes. I expect this to be temperary until the boot2 authors can do the proper fix.
|
45241 |
02-Apr-1999 |
kato |
Use files under sys/boot/i386 instead of copying under sys/boot/pc98.
Submitted by: Takahashi Yoshihiro <nyan@dd.catv.ne.jp>
|
45175 |
31-Mar-1999 |
joerg |
Make <DEL> an alternative rubout character for command input; many serial terminals use this as their default rubout key.
|
44914 |
20-Mar-1999 |
dcs |
Revert bootinfo to 1.4 and use a different solution to NULL m_args instead (don't copy).
|
44912 |
20-Mar-1999 |
dcs |
Fix a couple of nasty errors in the README.
|
44897 |
19-Mar-1999 |
kato |
Sync with sys/boot/i386/loader/version revision 1.4.
|
44896 |
19-Mar-1999 |
kato |
Sync with sys/boot/i386/libi386/bootinfo.c revision 1.18.
|
44861 |
18-Mar-1999 |
dcs |
Avoid copying m_args if none exists. (Perhaps this is a better solution, Doug?)
|
44859 |
18-Mar-1999 |
kato |
Install the manual page in sys/boot/i386/loader.
Sumbmitted by: Takahashi Yoshihiro <nyan@dd.catv.ne.jp>
|
44858 |
18-Mar-1999 |
dfr |
Don't choke in MOD_ARGS() if mp->m_args is NULL.
|
44842 |
17-Mar-1999 |
chuckr |
This is a temporary README file, to help those trying to experiment with the new boot loader configuration process. I got a lot of help from Daniel Sobral, and both Dan and I got help from Mike Smith. This really belongs in Warner's UPDATING, but he's not been answering his email recently, so that will wait a little.
Robert Nordier also gave me a lot of help, but he hasn't seen the last version, and can't be blamed for my errors.
Approved by: jkh
Reviewed by: Mike Smith
|
44840 |
17-Mar-1999 |
dcs |
Version bump: kvm & dictionary size.
|
44839 |
17-Mar-1999 |
dcs |
Disable trace! until it gets fixed.
|
44780 |
15-Mar-1999 |
dcs |
The man page, version 0.1.
|
44774 |
15-Mar-1999 |
dcs |
Remove redundant code.
|
44758 |
14-Mar-1999 |
dcs |
Replace /kernel.config with /boot/kernel.conf.
|
44750 |
14-Mar-1999 |
msmith |
Fix syntax for boot command
Noticed by: Ruslan Ermilov <ru@ucb.crimea.ua>
|
44630 |
10-Mar-1999 |
kato |
Sync with sys/boot/i386/loader/Makefile revision 1.30.
|
44629 |
10-Mar-1999 |
kato |
Sync with sys/boot/i386/libi386/bootinfo.c revision 1.17.
|
44622 |
10-Mar-1999 |
dcs |
Install new loader.rc stuff.
|
44603 |
09-Mar-1999 |
dcs |
New loader.rc stuff.
Reviewed by: jkh
|
44572 |
08-Mar-1999 |
dcs |
Add MODINFO_ARGS, parameters passed to a module at load time.
VS: ----------------------------------------------------------------------
|
44571 |
08-Mar-1999 |
dcs |
Increase ficl's dictionary size, in preparation for the newer loader.rc.
|
44570 |
08-Mar-1999 |
dcs |
Fix a number of memory leaks and other memory-related disorders.
Also, unbreak the breakage introduced at the last revision of module.c. This changes the semantics of mod_searchfile() (and mod_searchmodule()) to make the caller's responsibility freeing the buffer returned. This is different from other functions in loader's code, and was done as a fix for kern/9631. If someone wants to revert this to the original behavior, don't forget to fix kern/9631 in another way.
This should also fix bin/10462, which was introduced as a result of the first try at kern/9631 (module.c last revision).
PR: bin/10462 Submitted by: Takanori Saneto <sanewo@ba2.so-net.ne.jp>
|
44467 |
04-Mar-1999 |
kato |
Make loader be able to load 1.2MB fd on machines w/ 1.44MB fdd.
Sumbmitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
44466 |
04-Mar-1999 |
kato |
Added an entry for 1.44MB fd.
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
44465 |
04-Mar-1999 |
kato |
Oops, forgot to read boot.config file.
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
44463 |
04-Mar-1999 |
kato |
When SCSI IDs are not contiguous, the loader could not find correct unit number for da device. This commit fixes this problem.
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
44462 |
04-Mar-1999 |
kato |
boot2 doesn't need to say 'Can't find file boot.config.'
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
44461 |
04-Mar-1999 |
kato |
Fix character code of backslash. PC98 should use 0xfc instead of 0x5c.
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
44427 |
02-Mar-1999 |
dcs |
Don't treat empty lines as end-of-file in include(). (I can't believe this bug is still here... :-( )
|
44368 |
01-Mar-1999 |
kato |
Sync with sys/boot/i386/btx/btx/btx.s revision 1.10.
|
44357 |
01-Mar-1999 |
rnordier |
Save option, rather than slice, selected. This permits unattended booting from other than drive 0, as the F5 keypress is saved and "replayed."
Requested (some time ago) by: archie
|
44322 |
28-Feb-1999 |
dcs |
Make $ print different lines in, well, different lines.
|
44296 |
26-Feb-1999 |
rnordier |
Implement "setdrv" option
|
44274 |
25-Feb-1999 |
rnordier |
Emulate a V86 "movl %cr0,%eax" instruction.
Feedback and testing: Kurt Hopfensperger <kjhmdjd@ix.netcom.com>
|
44255 |
25-Feb-1999 |
kato |
Sync with sys/boot/i386/loader/Makefile revision 1.29.
|
44243 |
24-Feb-1999 |
msmith |
Don't try protecting page 0; it seems that BIOS writers now feel it's appropriate to check for Windows95 by polling for state in low memory, with fatal results.
Submitted by: rnordier@freebsd.org
|
44210 |
22-Feb-1999 |
dcs |
Fix assorted memory leak/buffer reuse problems.
Not restricted to, but including:
PR: kern/9631 Submitted by: Bill Fenner <fenner@parc.xerox.com>
|
44069 |
15-Feb-1999 |
tegge |
Enable load of i386 ELF kernels with larger KVA range (e.g. starting at 0xe0100000u or 0xc0100000u instead of the usual 0xf0100000u).
|
43801 |
09-Feb-1999 |
jkh |
Remove dictHashSummary internal function; it used doubles.
Submitted by: Daniel C. Sobral <dcs@newsguy.com>
|
43768 |
08-Feb-1999 |
kato |
Sync with sys/boot/i386/loader/version revision 1.3.
|
43759 |
08-Feb-1999 |
dcs |
Bumb up loader's version.
Reviewed by: Michael Smith <msmith@freebsd.org>
|
43738 |
07-Feb-1999 |
dcs |
Remove strange-looking quotes. This part of the code is #if'ed out, and the variable doesn't even exist (though it is referenced elsewhere). Just make sure it produces error messages when Mike get back to it.
PR: kern/9934 Submitted by: Adrian Filipi-Martin
|
43615 |
04-Feb-1999 |
dcs |
Make FICL_TRACE default.
Add freebsd.fr, for FreeBSD specific forth source. Add $ and %, to replace the lost @ and - functionality of include. $ has the opposite behavior of @ though, since the default behavior was inverted.
|
43614 |
04-Feb-1999 |
dcs |
Make use of prototypes to silence warnings.
Change include() so it will be able to load files with forth code, instead of just builtins. Remove #@- from the include section of the help file, since they don't work in the new version of include, unless BOOT_FORTH is not defined.
Change bf_run() so it will return the result returned by ficlExec(). Also, make bf_run() push "interpret" to be executed by ficlExec(), since ficlExec() doesn't do it by itself. (Things worked previously because nothing recursed through ficlExec() by the way of bf_run()).
Change/extend comments on builtin behavior.
Search for "interpret" at the end of bf_init(), so /boot/boot.4th can provide it's own version.
Remove dead code.
|
43613 |
04-Feb-1999 |
dcs |
Make ficlExec recursive. This removes vmReset and vmQuit from the error cases, but the replacement should be doing everything they did, except what did shouldn't be doing, and might do a little more they ought to be doing.
|
43602 |
04-Feb-1999 |
dcs |
Fix ficlExecFD to take kern/9412 changes into account. Also modify it not to vmThrow errors. This is not what the comments say it does, and it doesn't work when there is no ficlExec environment (like it's only use in sys/boot/common/interp_forth.c).
PR: bin/9772
|
43601 |
04-Feb-1999 |
dcs |
The trace facility was full of bugs. Correct that by using the right variable.
PR: bin/9756
|
43600 |
04-Feb-1999 |
dcs |
Silence a warning. PR: bin/9754
|
43599 |
04-Feb-1999 |
dcs |
The previous fix for "type" was absolutely lousy. Not only the buffer allocated was not big enough, but it ended up to being used where it was supposed to be used. The person who did that ought to be shot, but since I'm a good person, I'll forgive myself...
PR: bin/9743
|
43598 |
04-Feb-1999 |
dcs |
Add conditional compilation facilities to ficl. This had been previously committed to RELENG_3 instead of HEAD, so let's HEAD catch up.
PR: bin/9662
|
43563 |
03-Feb-1999 |
msmith |
Mention the net.inet.tcp.tcbhashsize tunable.
|
43561 |
03-Feb-1999 |
kato |
PC98 version of new boot loader. Because boot2 has not yet ported, files in boot2 directory are copies from legacy biosboot.
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
43491 |
01-Feb-1999 |
jkh |
Whoops! Forgot to include Mr. Sobray's more command in the last set of commits.
Submitted by: Daniel C. Sobral <dcs@newsguy.com>
|
43374 |
29-Jan-1999 |
rnordier |
Check size of partition before using it.
|
43368 |
29-Jan-1999 |
msmith |
Document the machdep.pccard.pcic_irq tunable, which allows the user to tune the interrupt which will be given to the PCIC. If the value supplied is illegal or not available, interrupts will be turned off and polled mode used instead.
|
43321 |
28-Jan-1999 |
jkh |
Make builtin's state-aware in loader.
Submitted by: Daniel C. Sobral PR: 9663
|
43205 |
25-Jan-1999 |
rnordier |
Fix a couple of further bugs: missing argument to sprintf() and "==" used for "=".
|
43189 |
25-Jan-1999 |
rnordier |
Correctly record the end of the a.out symbol table. In practice, a bootinfo structure where bi_esymtab < bi_symtab was being passed to the kernel. In the case of older 2.x kernels, this was causing garbage to be printed to the video console, followed by an exception.
This should resolve a problem reported on -current by Peter Jeremy <peter.jeremy@auss2.alcatel.com.au>.
|
43139 |
24-Jan-1999 |
msmith |
From the PR:
I added a FICL_TRACE-conditioned trace facility based on "see". It is ugly because words' functions are almost all static, and ficlExec, where the trace has to be located, can't get their pointers. So, #ifdef this staticization, and add most of see's body into ficlExec. Duplication of code, uglyness, etc. But it is cleanly #ifdef'ed, and works like a charm.
It does not provide "step" facility, though, just trace. It is tunable at run-time through "trace!". If anyone (most likely me :) ever wants a step facility, I'll add it. Should be easy.
PR: bin/9652 Submitted by: "Daniel C. Sobral" <dcs@newsguy.com>
|
43137 |
24-Jan-1999 |
msmith |
Bleh. Missing 'unit =' doesn't help legacy num_ide_disks code.
PR: bin/9651 Submitted by: "Daniel C. Sobral" <dcs@newsguy.com>
|
43135 |
24-Jan-1999 |
msmith |
From the PR:
FICL's TYPE copies the counted string to HERE, as abial has remarked. Answering to abial's question, this is NOT garanteed to have enough space. ... We have dynamic memory. Even before memory-alloc got in, we already had dynamic memory. Use it, then! (ficlMalloc is sysdep, so I suppose that's why it was not used for TYPE; ficl is probably designed to work without a working ficlFree).
Submitted by: "Daniel C. Sobral" <dcs@newsguy.com>
|
43115 |
24-Jan-1999 |
msmith |
Document root_disk_unit
|
43114 |
24-Jan-1999 |
msmith |
biosdisk.c Implement a new variable 'root_disk_unit' which supersedes 'num_ide_disks' and makes it possible to explicitly set the root device unit number regardless of type considerations.
bootinfo.c If we can't calculate a dev_t for the root disk, complain and don't proceed to boot with an invalid boot device.
|
43113 |
24-Jan-1999 |
msmith |
Fill in the bi_bios_dev field in the bootinfo struct; the loader doesn't guess this value well in anything other than the simplest of situations.
|
43078 |
22-Jan-1999 |
msmith |
Add EXCEPTION word set.
Make TIB handling use buffer size to conform with ANS Forth.
Add ANS MEMORY-ALLOC word set.
See the PRs for extensive details.
PR: kern/9412 kern/9442 kern/9514 Submitted by: PRs from Daniel Sobral <dcs@newsguy.com>
|
43077 |
22-Jan-1999 |
msmith |
bootstrap.h help.common interp.c Rename the 'source' command to 'include' in order to avoid conflict with the ANS Forth command of the same name. (kern/9473)
interp_forth.c: Changes from kern/9412 (EXCEPTION word), kern/9442 (TIB buffer sizing) and an improved version of kern/9460 (set version numbers).
load_aout.c: Trim some obsolete #if 0'ed cruft.
pnp.c: Tidy the pnpscan output, turn off the module scanning until we sort out how to do it right.
PR: kern/9412 kern/9442 kern/9460 kern/9473 Submitted by: PRs from Daniel Sobral <dcs@newsguy.com>
|
43072 |
22-Jan-1999 |
rnordier |
Fix extraneous free() on error.
|
43068 |
22-Jan-1999 |
rnordier |
Fix read error not being detected.
|
43059 |
22-Jan-1999 |
rnordier |
Push version numbers up to 1.00. This is just intended to reflect that the BTX code can be regarded as stable: there are no associated code changes.
Suggested by: obrien
|
43016 |
21-Jan-1999 |
msmith |
Add 'set tunables' help, list the kernel tunable values that can currently be overridden.
|
42807 |
18-Jan-1999 |
msmith |
Transition from using Perl to using awk for our text-manipulation needs. This removes the dependancy on Perl for the generation of the loader, allowing the world to be built on a perl-free system.
Submitted by: Joe Abley <jabley@clear.co.nz>
|
42713 |
16-Jan-1999 |
jdp |
Replace duplicated "old" linker set definitions with an include of <sys/linker_set.h>. Note, this isn't used on the i386.
|
42682 |
15-Jan-1999 |
abial |
Fall back to /boot/boot.conf, if /boot/loader.rc was not fount. This is to cover the transition period.
Suggested by: msmith
|
42679 |
14-Jan-1999 |
abial |
Change counter-intuitive pc@ and pc! to inb and outb.
Submitted by: jkh
|
42638 |
13-Jan-1999 |
rnordier |
In the event of a disk error, boot2 is expecting an error code to be returned: give it one
|
42636 |
13-Jan-1999 |
abial |
Change /boot/boot.conf to /boot/loader.rc - this name reflects what it really is.
Agreed upon by: jkh, msmith and many others
|
42634 |
13-Jan-1999 |
abial |
Add words "pc!" and "pc@" which allow to manipulate I/O ports. This can be helpful when directly fiddling with PC hardware.
Also, define "arch-i386" appropriately, as suggested by Daniel C. Sobral.
|
42620 |
13-Jan-1999 |
msmith |
Typo in patch application.
PR: kern/9459 Submitted by: "Daniel C. Sobral" <dcs@newsguy.com>
|
42519 |
11-Jan-1999 |
rnordier |
Drop boot.help support.
|
42512 |
11-Jan-1999 |
msmith |
No builtin command resets getopt before using it, causing problems in case a wrong option was given previously, and no option is given to the next command.
PR: kern/9371 Submitted by: "Daniel C. Sobral" <dcs@newsguy.com>
|
42510 |
11-Jan-1999 |
msmith |
Preserve the previous loader as loader.old.
Note no matching commit for the Alpha, as the alpha boot0 stage does not have the ability to prompt for user input.
PR: kern/9406 Submitted by: "Daniel C. Sobral" <dcs@newsguy.com>
|
42493 |
10-Jan-1999 |
msmith |
Disable kzipping the loader; it seems to be breaking the aout-to-elf build
|
42488 |
10-Jan-1999 |
steve |
Remove redundant line of code.
PR: 9364 Submitted by: Daniel C. Sobral <dcs@newsguy.com>
|
42480 |
10-Jan-1999 |
rnordier |
Use etc/make.conf settings for serial port and speed.
Submitted by: rvb Reviewed by: bde
|
42478 |
10-Jan-1999 |
peter |
Damn, I thought I had committed this already, but it seems not.
Move the relocated boot1 and arg transfer space from 0x600/0x800 to 0x700/0x900. In theory this should make no difference, apart from the fact that Buslogic controllers happen to use a few bytes at 0x600 for some sort of scratch space for it's int 0x13 hook (!!!), causing the machine to crash badly when the boot2 code makes it's callbacks into boot1 for disk IO.
Submitted by: Robert Nordier <rnordier@freebsd.org>
|
42465 |
10-Jan-1999 |
msmith |
Enable escapes for $ to make it possible to insert variable names into other variable values.
|
42446 |
09-Jan-1999 |
msmith |
Explicitly look for kzip in /usr/bin, again this is a stopgap, to avoid making kzip a build tool.
|
42420 |
09-Jan-1999 |
msmith |
kzip the loader, this shrinks it to about 60% of its original size. Note that this is a stopgap with dependancies on the a.out tools.
|
42419 |
09-Jan-1999 |
msmith |
Extend bd_print() so that it displays slices and partitions on disks.
|
42418 |
09-Jan-1999 |
msmith |
Add a description for 'lsdev' so that it shows up in the '?' display
|
42318 |
05-Jan-1999 |
msmith |
Alpha-specific help topics (currently empty)
|
42291 |
04-Jan-1999 |
peter |
Fix a potential sign extension bug on 8-bit chars. Outputting a backspace isn't supposed to be destructive.. It isn't on most terminals, nor on the standard bios output (vs. TERM_EMU mode)
|
42290 |
04-Jan-1999 |
peter |
Fix variable initialization.. It was written with '==' instead of '-'. #include <string.h> for string prototypes.
|
42289 |
04-Jan-1999 |
peter |
Clean some unused variables lint
|
42288 |
04-Jan-1999 |
peter |
Don't forget a trailing \n when loading a kernel that has been stripped. (This might make ELF_VERBOSE look funny, but I'm tempted to delete that anyway)
|
42274 |
04-Jan-1999 |
msmith |
Restore dependancy to build loader.help here
|
42273 |
04-Jan-1999 |
msmith |
Add dependancy to build loader.help here
|
42269 |
03-Jan-1999 |
msmith |
First cut at generating loader.help for the alpha
|
42268 |
03-Jan-1999 |
msmith |
Reenable generation of the loader.help file
|
42255 |
02-Jan-1999 |
jkh |
Update for new boot block location.
|
42209 |
31-Dec-1998 |
abial |
Add support for some FACILITY words:
key? ( -- flag) \ check to see if there's a key to be read from input ms ( u -- ) \ wait that many milliseconds seconds ( -- u ) \ get number of seconds from midnight.
'words' now outputs the list page by page - this probably should go through libstand's pager, but will have to wait for closer integration of built-ins with Forth...
Submitted partially by: W Gerald Hicks <wghicks@bellsouth.net>
|
42207 |
31-Dec-1998 |
abial |
Add back ability to make beeps when using new TERM_EMU.
Submitted by: W Gerald Hicks <wghicks@bellsouth.net>
|
42002 |
22-Dec-1998 |
abial |
Add simple terminal emulator, compatible with cons25. Currently supported capabilities are: AF, AB, cm, ho, me, cd. The code is hidden behind -DTERM_EMU - should it cause any problems, you can remove this define to get back the old behaviour.
You'll find some examples how to use it in src/share/examples/bootforth.
Reviewed by: jkh
|
42001 |
22-Dec-1998 |
abial |
Add new word ".#" which acts like "." but doesn't output a space separator. I found it impossible to output parametrized strings like "\033[%d;%dH" without building them first in pad area.
|
42000 |
22-Dec-1998 |
abial |
* Begin integration of built-ins with Forth: leave the exit code from a built-in command on Forth stack. * Fix a bug which was causing a panic when loading stripped aout kernels.
Reviewed by: jkh
|
41861 |
16-Dec-1998 |
n_hibma |
Removed dynamic loading of FileHandle
|
41838 |
16-Dec-1998 |
msmith |
Disable build/install of boot.help until we sort out how to construct it in the makeworld environment.
|
41822 |
15-Dec-1998 |
msmith |
Reformat help to improve subtopic display appearance, other minor cleaning. The 'help' command in the loader should now be usable and hopefully informative.
|
41821 |
15-Dec-1998 |
msmith |
Build the composite help file from the generic and architecture-specific help files, sorting topics and subtopics to allow maximum flexibility.
|
41810 |
15-Dec-1998 |
msmith |
unlocalise build date (merge from i386)
|
41587 |
07-Dec-1998 |
ache |
unlocalize date Submitted by: Cejka Rudolf <cejkar@dcse.fee.vutbr.cz>
|
41540 |
05-Dec-1998 |
rnordier |
Revise some comments and labels.
|
41412 |
29-Nov-1998 |
rnordier |
Drop EDD support detection, though retain configurable use of disk packet interface. Add booteasy-style F5 support. Add no-update option. Implement various space optimizations and consistency fixes.
|
41285 |
22-Nov-1998 |
rnordier |
Drop use of BIOS int 0x14 services in favor of direct port I/O.
Feedback and testing: Adrian Filipi-Martin <adrian@ubergeeks.com>
|
41259 |
20-Nov-1998 |
archie |
Fix misallocation of buffer bug (too short)
|
41254 |
19-Nov-1998 |
paul |
This fixes a bug in the bcache code whereby false cache hits occur the first time block 0 is read. This fix initialises the block numbers to -1 which isn't the most correct thing for a daddr_t but it isn't likely to cause a problem in the boot blocks and it could do with a more thought out fix later.
The bug is probably benign on the i386 but on the alpha it can cause initial file opens to fail. This is the cause of the "can't open /boot/boot.conf" errors.
It appears on the alpha because of a number of combining factors. On the alpha the LABELSECTOR is 0 so block 0 needs to be read in from the media. The first time this happens you get a false hit because the bc_blkno field is zero initially. Also, the timestamp check against this cache hit succeeds because on the alpha a hacked getsecs() function can return 0 when it starts counting so that the zero initial timestamp + BCACHE_TIMEOUT is greater than the current time until getsecs() has counted passed BCACHE_TIMEOUT.
The overall effect is that the first open() that occurs gets a false cache hit and returns garbage to the bd_strategy() function which then fails the open() call. This false hit then stays in the cache until BCACHE_TIMEOUT getsecs() ticks have passed; all open() calls during this time fail.
This explains why you can generally access the media by the time you get to interp() and start issuing commands but the earlier attempts to run the boot scripts are failing.
It's possible that this is causing the problem switching to the mfsroot floppy as well but I haven't confirmed that.
|
41140 |
13-Nov-1998 |
msmith |
Add documentation for $rootdev.
|
41139 |
13-Nov-1998 |
msmith |
Add a new variable $num_ide_disks which is used to offset the unit number for SCSI disks when converting from BIOS unit numbers to da unit numbers.
Prompted by Kevin Street <street@iname.com>
|
41107 |
12-Nov-1998 |
jkh |
bootforth seems to be working well enough for me and others to turn on by default. If it causes trouble, it's very easy to switch off again.
|
41085 |
11-Nov-1998 |
rnordier |
Revise error messages.
|
41013 |
08-Nov-1998 |
rnordier |
Prevent boot.config being parsed more than once.
|
41010 |
08-Nov-1998 |
rnordier |
Drop the familiar 'text=xxxx data=xxxx bss=xxxx ...' display while loading. This eliminates noise when loading boot/loader; and when loading a kernel, they generally flash by too fast to be intelligible anyway.
|
41008 |
08-Nov-1998 |
rnordier |
boot1: Eliminate EDD detection and optional use of disk packet interface. Do some general consistency fixes and space optimizations. Use of some freed-up space to defend against possible BIOS misfeatures.
boot2: Revise disk read interface to provide for boot1 changes. Free up space for this.
|
40995 |
07-Nov-1998 |
jkh |
o Add proper stack checking to all file words o add fkey and fread o eliminate fexists now that this can be expressed in HLL forth ( : fexists fopen dup -1 <> if fclose 1 else drop 0 then ; ) :-)
Once we get the ability to write files, it should be possible to do stand-alone rescue work from the 3rd stage boot. :)
|
40989 |
07-Nov-1998 |
jkh |
Eliminate much code cruft by extending simple file I/O API to include fopen and fclose.
|
40988 |
07-Nov-1998 |
jkh |
Eliminate much code cruft by extending simple file I/O API to include fopen and fclose. Also look for /boot/boot.4th now and, if found, load its contents.
|
40987 |
07-Nov-1998 |
jkh |
Take init out of here - it's a layering violation.
|
40984 |
07-Nov-1998 |
jkh |
Don't have debugging on by default - it makes testing annoying. :)
|
40982 |
07-Nov-1998 |
jkh |
OK, fload/fexec work properly when both compiling and interpreting now. Gack.
|
40978 |
06-Nov-1998 |
jkh |
switch words to default mode.
|
40977 |
06-Nov-1998 |
jkh |
Submit better fix to the prompt bug.
|
40976 |
06-Nov-1998 |
jkh |
Make fexists/fload work with existing string literals instead. Doing my own string literal handling is just too wonky.
|
40971 |
06-Nov-1998 |
jkh |
Argh, I had this right[er] before. More commits to follow.
|
40951 |
06-Nov-1998 |
jkh |
Use proper literal names.
|
40950 |
06-Nov-1998 |
msmith |
Ack. Create parseable command tail properly, and eat args out of the TIB.
|
40949 |
06-Nov-1998 |
msmith |
Don't not print the prompt string; not doing this has funny side-effects. Make the prompt an empty string instead.
|
40948 |
06-Nov-1998 |
msmith |
Don't use the poxy vmGetString interface (who uses counted strings these days?), get the input buffer ourselves. Add some debugging code.
|
40940 |
05-Nov-1998 |
rnordier |
Make use of BIOS int 0x13 extensions configurable, and disabled by default.
|
40929 |
05-Nov-1998 |
jkh |
Remember a bit more of my forth and do:
o Add fexists word to check for the presence of a file o make fexists and fload immediate words which DTRT both interpreted and compiled (doh!) o add an init word which gets run at bootstrapping time to do extra post-coldload initialization (in the default implementation, we look for /boot/boot.4th and load it if found).
|
40927 |
05-Nov-1998 |
jkh |
1. rebuild all elements of testmain properly for safety. 2. add fload and key prims for doing simple file and terminal I/O, respectively
|
40924 |
05-Nov-1998 |
msmith |
Explicitly invoke perl to run the softwords.pl script in case the script is not executable. Submitted by: Don Lewis <Don.Lewis@tsc.tdk.com>
|
40890 |
04-Nov-1998 |
msmith |
Improve the assertion testing for successful softword compilation. The excessive use of assert() vs. robust error checking is annoying.
|
40884 |
04-Nov-1998 |
msmith |
Turn off -g accidentally left in from testing.
|
40883 |
04-Nov-1998 |
msmith |
Fix includes; we were still pulling in <stdlib.h> in some places. Support building a standalone interpreter with 'make testmain', remove win32 and egregious gets() in testmain.c
|
40882 |
04-Nov-1998 |
msmith |
Use a smaller default dictionary to waste less space.
|
40879 |
04-Nov-1998 |
jkh |
Respect ${.OBJDIR} properly when looking for libficl.a
|
40877 |
04-Nov-1998 |
msmith |
Add required parts for BootForth building (currently disabled and untested). Only suitable for i386 at the moment, as we are missing setjmp/longjmp on the Alpha.
|
40876 |
04-Nov-1998 |
msmith |
Make this work in the libstand environment; don't use stdio/stdlib headers.
|
40875 |
04-Nov-1998 |
msmith |
Add BootForth hooks; if BOOT_FORTH is defined, pass every line read to the Forth interpreter. Instantiate all of our inbuilt commands as Forth words, and handle them being called from there.
Add my copyright to the bcache module (oops).
|
40871 |
03-Nov-1998 |
msmith |
Include "bootstrap.h" to get a definition for bcache_devdata.
Submitted by: jkh
|
40843 |
03-Nov-1998 |
msmith |
Add the Ficl (Forth Inspired Command Language) interpreter. If all goes well, this will allow us to manage bloat in the loader by using a bytecoded HLL rather than lots of C code. It also offers an opportunity for vendors or others with special applications to significantly customise the boot process without having to commit to a divergent code branch.
This early commit is to allow others to experiment with the most effective mechanisms for integrating FICL with the loader as it currently stands.
Ficl is distributed with the following license conditions:
"Ficl is freeware. Use it in any way that you like, with the understanding that the code is not supported."
All source files contain authorship attributions.
Obtained from: John Sadler (john_sadler@alum.mit.edu)
|
40835 |
02-Nov-1998 |
msmith |
Ok, the entry aging algorithm sucked; 1s time resolution is not enough for LRU. Use a 31-bit counter instead. If we decide to do heavy I/O through the bootloader this will have to be revisited.
|
40834 |
02-Nov-1998 |
msmith |
Implement a simple LRU block cache. By default this is initialised to 16k, and will bypass transfers for more than 8k. Blocks are invalidated after 2 seconds, so removable media should not confuse the cache.
The 8k threshold is a compromise; all UFS transfers performed by libstand are 8k or less, so large file reads thrash the cache. However many filesystem metadata operations are also performed using 8k blocks, so using a lower threshold gives poor performance.
Those of you with an eye for cache algorithms are welcome to tell me how badly this one sucks; you can start with the 'bcachestats' command which will print the contents of the cache and access statistics.
|
40833 |
02-Nov-1998 |
rnordier |
Revise a few comments.
|
40832 |
02-Nov-1998 |
msmith |
Standardise on ';' as a component separator; it seems to be a little more common than ','.
|
40807 |
01-Nov-1998 |
rnordier |
Ignore, rather than emulate, an i386 'hlt' instruction (though for most practical purposes, this should be indistinguishable from a more strictly correct approach).
Feedback and testing: msmith
|
40793 |
31-Oct-1998 |
dfr |
* Extend the memory available for the heap from 256k to 512k. * Embed the stack into the bss section for loader and netboot. This is required for netboot since otherwise the stack would be inside our heap. * Install loader and netboot in /boot by default. * Fix getbootfile so that it searches for a ',' instead of a ';' when terminating the filename.
|
40775 |
31-Oct-1998 |
msmith |
- Add a new command 'lsdev' to list devices which might be likely to host filesystems. - New 'help' command and data in the help.* files (not yet installed), provides topic and subtopic help, indexes, etc. - Don't crash if the user tries to set an invalid console. Be helpful instead. - Expand tabs (badly) on the i386 video console. - Some minor cosmetic changes.
|
40753 |
30-Oct-1998 |
luoqi |
Fix an uninitialized variable in the `dangerously dedicated disk' case.
|
40745 |
30-Oct-1998 |
msmith |
Make the BTX loader much more quiet about what it's doing. This removes most of the "what the (*^&%(*^ was that?" stuff that normally flies by.
|
40705 |
28-Oct-1998 |
msmith |
Simplify the "is a character ready" test, so that we don't return a false negative for keypresses with zero ascii values. This is in line with the comconsole test, rather than being more ambitious.
Submitted by: rnordier
|
40675 |
27-Oct-1998 |
rnordier |
Avoid interruptions while talking to keyboard controller.
|
40674 |
27-Oct-1998 |
rnordier |
biosboot compatibility fix: change behavior of backspace in getstr(). Noticed by: abial
Optimize away a few bytes to make space for the above.
|
40621 |
24-Oct-1998 |
msmith |
Reserve some space for the stack in the region we recover from the initial bootloader. Submitted by: dfr
|
40620 |
23-Oct-1998 |
msmith |
Clean the ${BASE}.sym file as well.
|
40619 |
23-Oct-1998 |
msmith |
Remove a debugging copy of offsetof() that snuck in.
|
40618 |
23-Oct-1998 |
msmith |
Enable the PCI BIOS PnP enumerator.
|
40617 |
23-Oct-1998 |
msmith |
PnP enumerator using the PCI BIOS. This is needlessly complex due to the lack of a simple "enumerate all PCI devices" function.
|
40601 |
22-Oct-1998 |
msmith |
PnP BIOS enumerator; mostly useful for hunting PnP devices that are supported by the system BIOS rather than supporting ISA PnP.
|
40600 |
22-Oct-1998 |
msmith |
Add a dependancy on the BTX crt0 object Add the biospnp handler to the pnp handler array Drop some old debugging code
|
40599 |
22-Oct-1998 |
msmith |
Add biospnp.c
|
40598 |
22-Oct-1998 |
msmith |
Pop the return address off the stack before making a V86_CALLF call; this allows us to implement what look like C function calls from user space "directly" to v86 mode code. (Used for calling the PnP BIOS)
|
40597 |
22-Oct-1998 |
msmith |
Export an interface for presetting the ISA PnP read port address. Make the EISA ID formatter generally available
|
40556 |
21-Oct-1998 |
msmith |
Bye-bye setdefs.
|
40555 |
21-Oct-1998 |
msmith |
- Enable PnP and ISA PnP code. - Use the ISA PnP enumerator. - Use the new linker set code, throw out the gensetdefs stuff. - Produce an intermediate loader image that has symbols stripped, to aid - in debugging. - Supply ISA port access functions required for ISA PnP
|
40554 |
21-Oct-1998 |
msmith |
Don't depend on being part of the kernel tree. If we are, use the kernel's <machine> includes rather than the system's.
|
40553 |
21-Oct-1998 |
msmith |
Make ISA PnP work. This successfully enumerates as many ISA devices as I can fit into my test machine.
- Move to using STAILQs rather than ad-hoc singly-linked lists. - Use a mostly procedural interface to the PnP information. This improves data-hiding.
Implement a new linker-set technique (currently on i386 only but should work on Alpha as well). This is a good candidate for replacing the current gensetdefs cruft completely.
|
40541 |
20-Oct-1998 |
rnordier |
Make serial port, data format, and bps configurable.
|
40531 |
20-Oct-1998 |
msmith |
Hex constants should only have one '0x' prefix.
|
40524 |
19-Oct-1998 |
rnordier |
Make configurable (a) whether to use int 0x13 extensions; (b) timeout value. Ignore failure to update mbr sector. Disable interrupts while using extended registers. Default to F1 not F2.
|
40521 |
19-Oct-1998 |
dfr |
Reclaim the 48k used by the first bootstrap stage by adding it to the malloc pool.
|
40518 |
18-Oct-1998 |
dfr |
Rename boot2 to loader.
|
40493 |
17-Oct-1998 |
rnordier |
Set BINMODE to 444.
|
40477 |
17-Oct-1998 |
rnordier |
Fix some glitches in the input routine: Don't display a \b if not acting on it. Don't process binary zero chars (which result from pressing function keys, etc. on the PC).
|
40476 |
17-Oct-1998 |
rnordier |
Having probed the keyboard, turn off the -P flag.
|
40474 |
17-Oct-1998 |
rnordier |
Treat all options as toggles (ie. -c -c is the same no -c). Since the boot.config settings are persistent, this seems to provide a useful override capability, and should break only on broken boot.config's.
Output a cosmetic newline if booting with no input.
|
40472 |
17-Oct-1998 |
rnordier |
biosboot compatibility fix: If we have a boot.config command, display it.
|
40471 |
17-Oct-1998 |
rnordier |
biosboot compatibility fix: Read boot.help before parsing boot.config. We were parsing boot.config first, which could result in boot.help being read from a different location (or not found), which would probably just cause surprise, without being useful.
|
40465 |
17-Oct-1998 |
peter |
Load the first page of the file and use the headers in it. This should avoid the need to seek back to offset zero which is causing trouble on the Alpha with a gzipped kernel.
|
40459 |
16-Oct-1998 |
msmith |
Turn of disk debugging by default (suppress annoying "partition marked as unused" diagnostic on floppies).
|
40429 |
16-Oct-1998 |
peter |
"fix" the gzipped kernel load problem by having the loader check that it can seek back to the first PT_LOAD and doing a close/reopen if it cannot. This is because the first PT_LOAD section includes the ELF headers. This fixes gzipped kernels on the i386, it should solve mike's problem for the Alpha.
|
40416 |
15-Oct-1998 |
rnordier |
Fix path to sio.s
|
40414 |
15-Oct-1998 |
dfr |
Change some printfs so that ELF_VERBOSE prints meaningful values on the alpha.
|
40413 |
15-Oct-1998 |
dfr |
Fix the bootinfo so that the right values actual make it into the kernel.
|
40404 |
15-Oct-1998 |
rnordier |
Add serial, dual, and probe-keyboard support.
|
40393 |
15-Oct-1998 |
peter |
Get the last used address via a more conservative method, don't depend on the module chain being in increasing address order.
|
40358 |
14-Oct-1998 |
rnordier |
Activate boot2.
|
40348 |
14-Oct-1998 |
peter |
Link fdboot to boot1 as well.
|
40341 |
14-Oct-1998 |
peter |
Initial attempt to update the Alpha loader and kernel to use the machine independent elf loader and have access to kld modules. Jordan and I were not sure how to create boot floppies, and the things we tried just made SRM laugh in our faces - but it was upset at boot1 which was not touched by these changes. Essentially this has been untested. :-(
What this does is to steal the last three slots from the nine spare longs in the bootinfo_v1 struct to pass the module base pointer through.
The startup code now to set up and fills in the module and environment structures, hopefully close enough to the i386 layout to be able to use the same kernel code. We now pass though the updated end of the kernel space used, rather than _end. (like the i386).
If this does not work, it needs to be beaten into shape pronto. Otherwise it should be backed out before 3.0.
Pre-approved in principle by: dfr
|
40338 |
14-Oct-1998 |
peter |
Try and get the sys/* and machine/* includes via relative paths. This saves having to do a 'make includes' after touching any header file for the boot code.
|
40336 |
14-Oct-1998 |
peter |
Align to sizeof(long) rather than sizeof(int32_t). It needs to be long because this code is shared with the alpha. I hope the alpha can read 32 bit ints at 32 bit alignment (vs. 64 bit alignment).
|
40330 |
14-Oct-1998 |
rnordier |
Fix btx include path.
|
40327 |
14-Oct-1998 |
peter |
Tweak the output one more time again. The kernel or module pathname is useful, and usually fits all on one line with the load sizes.
|
40326 |
14-Oct-1998 |
rnordier |
Include <bsd.prog.mk>. Add install target (to /boot for now).
|
40325 |
13-Oct-1998 |
rnordier |
Fix flow of control after directory listing; enable EDD support; cosmetics.
|
40323 |
13-Oct-1998 |
rnordier |
Make v86.ctl default more explicit; simplify read error-handling; twiddle.
|
40320 |
13-Oct-1998 |
rnordier |
Adjust NDEV value. Optimize reading of system time.
|
40314 |
13-Oct-1998 |
rnordier |
Change to a 15-sector boot2. Refine slice-handling.
|
40308 |
13-Oct-1998 |
rnordier |
Don't use an absolute path to objcopy. Noticed by: Scott Mace <smace@intt.org>
|
40307 |
13-Oct-1998 |
rnordier |
Improve drive recognition and handling.
|
40291 |
13-Oct-1998 |
peter |
Make the ELF load messages cleaner.
|
40270 |
12-Oct-1998 |
rnordier |
This commit was generated by cvs2svn to compensate for changes in r40269, which included commits to RCS files with non-trunk default branches.
|
40269 |
12-Oct-1998 |
rnordier |
New boot blocks: support for /boot/loader; a.out & ELF; cyl > 1023; multiple 0xa5 slices; etc.
|
40254 |
12-Oct-1998 |
peter |
Only print kernel entry point during load. Drastically quieten down the verbose load progress messages. They were more useful for debugging than anything, but are beyond a joke when loading a few dozen modules. Simplify the ELF extended symbol table load format. Just take the main symbol table and the string table that corresponds. This is what we will be getting local symbols from. (needed for the alpha stack tracebacks). Use the (optional) full symbol tables in lookups. This means we have to furhter distinguish between symbols that can come from the dynamic linking table and the complete table. The alpha boot code now needs to be adapted as ddb/db_elf.c cannot use the simpler format. I have not implemented loading the extended symbol tables from the syscall interface yet, just for preloaded modules. I am not sure about the symbol resolution. I *think* it's possible that a local symbol can be found in preference to a global, depending on the search sequence and dependency tree.
|
40253 |
12-Oct-1998 |
peter |
Only print filename and entry address for the kernel itself. The rest have a meaningless entry as they are relocatable.
|
40245 |
12-Oct-1998 |
rnordier |
Drop .MAKEFLAGS: hack.
|
40244 |
12-Oct-1998 |
rnordier |
Do without head and tail: they're pretty unnecessary here anyway.
|
40243 |
12-Oct-1998 |
rnordier |
Use rather than for linking. This allows the new rather than stale version of libstand.a to be found.
After this change, the new boot code is apparently building correctly in a make world.
|
40218 |
11-Oct-1998 |
rnordier |
Override for ELF.
|
40217 |
11-Oct-1998 |
rnordier |
Override for ELF. Override .s.o suffix rule.
|
40216 |
11-Oct-1998 |
peter |
Fix a warning that's been bugging me for ages.
|
40215 |
11-Oct-1998 |
peter |
Fix a warning
|
40214 |
11-Oct-1998 |
peter |
Probe all consoles, not just the first. It doesn't make a lot of difference, but might later on when we implement some sort of multi-head console mode. Select a console after probing them all. Don't strdup a potentially NULL return from getenv(). If we don't select an active console, choose the first regardless. Call the console init function, at startup time and on a manual change. The env_setenv() function needs EV_VOLATILE because it's pointing to data that isn't malloc'ed and will cause a fault if it's freed later.
|
40213 |
11-Oct-1998 |
peter |
Cosmetic: After the autoboot timeout, print a \n.
|
40212 |
11-Oct-1998 |
peter |
Only call vidc_init() once (unless forced). Cosmetic change to the init-time character eater (like, make it increment the index counter - if there's a problem, it would sit there in an infinite loop instead of only running 10 times).
|
40211 |
11-Oct-1998 |
peter |
Fix comconsole mode. The int 0x14 read and status commands were reversed. Also, make sure we set %dx each time around otherwise the commands suddenly start trying to work on things like com92 instead of com1. Make sure comc_init() is only run once. Cosmetic change to init-time character eater.
|
40210 |
11-Oct-1998 |
peter |
Warn that one of the DEBUG statements has a v86 recursion bug.
|
40209 |
11-Oct-1998 |
peter |
Fix comment to match code
|
40195 |
11-Oct-1998 |
dima |
add <sys/linker.h>
|
40182 |
10-Oct-1998 |
rnordier |
Fix a typo. Output another newline before invoking bootstrap.
|
40149 |
09-Oct-1998 |
rnordier |
Turn off the new /sys/boot stuff (except boot0) unless OBJFORMAT is elf. (The BTX client must be ELF, though it is packaged as a.out for compatibility.)
|
40146 |
09-Oct-1998 |
peter |
Attempt to at least align MODINFO_* blocks. IMHO, decoding this stuff should be MD code since one day we'll have to recover pages from deleted preload data. MI code can't be expected to know how to deal with pmap internals, assuming it gets done via pmap that is. :-)
|
40145 |
09-Oct-1998 |
peter |
Turn symbol table info passing back on, although it's probably not particularly useful in this form. KLD can deal with it much better. setenv kernelname moved earlier.
|
40144 |
09-Oct-1998 |
peter |
Remove kernelname setenv, the common code does it. Use the metadata for symtab pointers, mainly to keep it common with elf_freebsd.c.
|
40143 |
09-Oct-1998 |
peter |
Implement preloading for elf modules - get dependency info from PT_DYNAMIC's DT_NEEDED tags. - store MODINFOMD_DYNAMIC for the kernel's later use setenv kernelname when we have it Fix firstaddr/lastaddr calculation (duh! :-) Explicitly skip string table with section names in it.
|
40142 |
09-Oct-1998 |
peter |
Preload support for a.out KLD not implemented yet. (almost) KLD modules are *not* PIC. (Shared libs are pic to avoid relocations causing copy-on-write, that's irrelevant here). setenv kernelname when we load it. Use MODINFO_SSYM/ESYM for each symbol section when (if) there are more than one being loaded.
|
40141 |
09-Oct-1998 |
peter |
Use a consistant module search path (same as kernel will be). Use new dependency mechanism.
|
40140 |
09-Oct-1998 |
peter |
loader <-> kernel preload module interface constants moved to common file. Remove Mike's explicit data structures for dependency info. This is done via DT_NEEDED etc in the dynamic section for now. This may need to be revisited later on.
|
40124 |
09-Oct-1998 |
rnordier |
Get this building as a.out or ELF.
With thanks to: jdp
|
40107 |
09-Oct-1998 |
msmith |
Remove some debugging code. Do a much better job of DWIM with partial device specifications. Fix the module metadata build process, which was completely broken. Use a larger read buffer when copying large objects in; this improves performance marginally and will avoid flushning any small caches we might choose to implement.
|
40106 |
09-Oct-1998 |
msmith |
Sync the MODINFO constants with <sys/linker.h> Remove debugging in command_read(). Correctly strip leading controls on script commands. Make 'ls' more DWIM in regard to pathnames. We can still do better.
|
40034 |
07-Oct-1998 |
peter |
Fix that pesky boot aguments parsing bug. (I think :-)
|
40032 |
07-Oct-1998 |
msmith |
Request the flags back when checking for keyboard status. Submitted by: rnordier
|
40017 |
07-Oct-1998 |
msmith |
Enable the DOS filesystem. NOTE: you will have to rebuild libstand in order to be able to build again.
|
40016 |
07-Oct-1998 |
msmith |
- Drain the keyboard buffer when initialising. - Be pedantic about the return from int 16 fn 01.
|
40015 |
07-Oct-1998 |
msmith |
- VERBOSE_LS is obsolete, as the heap is much better behaved now. - Don't whine about nodes we can't stat(); these are usually symlinks that lead out of the filesystem. - Autoboot is now controlled by $autoboot_delay, which is a value in seconds or NO to disable autoboot. - Don't autoboot at the end of boot.conf if we have already tried. - Add a 'read' command to complement 'echo'. Both are still hidden. - Improve the 'source' command/function so that it is possible to source scripts off removable media. The entire script is read and saved before beginning execution. Script lines beginning with '@' will not be echoed when being executed. Script execution will normally terminate at the first error, however if the script line begins with '-' this behaviour is overriden for that command.
|
40014 |
07-Oct-1998 |
msmith |
VERBOSE_LS is obsolete
|
39989 |
06-Oct-1998 |
msmith |
bootinfo.c Strip any device name information from the kernel name before passing it in.
biosdisk.c Be more strict about matching device names to slice entries. Only allow unsliced syntax on unsliced disks.
|
39988 |
06-Oct-1998 |
rnordier |
Fix for "get base memory" bug found and mostly fixed by Mike.
|
39987 |
06-Oct-1998 |
msmith |
The BIOS memory size is only a word. Some BIOSsen have garbage in the other 16 bits we were reading here, causing loss of arguments.
|
39986 |
06-Oct-1998 |
msmith |
Build boot0 as well.
|
39980 |
05-Oct-1998 |
rnordier |
Install in /boot.
|
39974 |
05-Oct-1998 |
rnordier |
This commit was generated by cvs2svn to compensate for changes in r39973, which included commits to RCS files with non-trunk default branches.
|
39968 |
05-Oct-1998 |
msmith |
Insert whitespace between unargv'd arguments. Submitted by: "Louis A. Mamakos" <louie@TransSys.COM>
|
39962 |
04-Oct-1998 |
rnordier |
Adjust setting of argument pointer for BTX 0.87.
|
39961 |
04-Oct-1998 |
rnordier |
Allocate space for storing of arguments at the end of conventional memory.
|
39960 |
04-Oct-1998 |
msmith |
Don't include ELF symbol information yet - it causes the ELF DDB to explode.
|
39944 |
04-Oct-1998 |
msmith |
Improve the handling of the initial bootdev value from the previous loader. Remove some unused code.
|
39943 |
04-Oct-1998 |
msmith |
biosdisk.c Allocate space for, and copy, NDOSPART slice entries from the MBR, not just one. Add some extra debugging while we're at it.
elf_freebsd.c Initialise the symbol table start/end pointers in case we don't have them.
|
39931 |
03-Oct-1998 |
rnordier |
Missing newline in heap command display. Noticed by: jkh
|
39930 |
03-Oct-1998 |
rnordier |
For system calls, reboot without prompting; for exceptions, display message and await reset.
|
39921 |
03-Oct-1998 |
rnordier |
Map all BTX system pages readable at ring 3. This resolves the firmware problem first raised in connection with PR 8105, although unrelated.
|
39919 |
03-Oct-1998 |
rnordier |
bootinfo bi_vesa no longer exists.
|
39902 |
02-Oct-1998 |
msmith |
Consolidate the bootinfo-loading code, greatly simplifying the _exec functions.
|
39901 |
02-Oct-1998 |
msmith |
Fix an egregious precedence bug.
|
39897 |
02-Oct-1998 |
msmith |
Set $currdev according to our best guess at the BIOS device that the previous bootstrap loaded us from.
|
39896 |
02-Oct-1998 |
msmith |
aout_freebsd.c Use bd_getdev() to work out a dev_t for the root device. Allow $rootdev to override $currdev as the root device.
biosdisk.c Save the slice table and disklabel when opening a disk. Add bd_getdev(), which attempts to return a dev_t corresponding to a given device. Cases which it still doesn't get right: - The inevitable da-when-wd-also-exists - Disks with no slice table (the slice number is not set correctly) The first is difficult to get right, the second will be fixed in an upcoming commit.
comconsole.c vidconsole.c getchar() should return an 8-bit value; some BIOSsen pack extra information in %eax.
libi386.h Remove some stale prototypes, add new ones.
|
39895 |
02-Oct-1998 |
msmith |
Mark exit() as __attribute__((__noreturn__))
|
39894 |
02-Oct-1998 |
msmith |
boot.c Increase the robustness of the "is it time to boot yet" test; if the time skipped the "when" time, we would miss it. Don't spin in an endless loop if we don't find the first possible kernel suggested. When we run out, don't try to load an empty kernel name.
load_aout.c printf format warnings
|
39887 |
02-Oct-1998 |
peter |
First shot at loading elf symbols. Things are a bit strange because of the ..umm.. "wierd" way binutils lays out the file. The section headers are nearly at the end of the file and this is a problem when loading from a .gz file which can't seek backwards (or has a limited reverse seek, ~2K from memory).
This is intended to be compatable with the ddb/db_elf.c code and the alpha/libalpha/elf_freebsd.c layout. I've studied these (which are NetBSD derived) but did it a bit differently. Naturally the process is similar since it's supposed to end up with the same result.
|
39857 |
01-Oct-1998 |
jkh |
Override STRIP so installation doesn't try to strip the loader.
|
39851 |
30-Sep-1998 |
peter |
Make 'make install' do something that might be useful.
|
39850 |
30-Sep-1998 |
peter |
Stop libi386.a from being installed..
|
39834 |
30-Sep-1998 |
peter |
Turn on i386-elf
|
39833 |
30-Sep-1998 |
peter |
i386 ELF loader startup backend. On an ELF kernel booted with the 3-stage bootblocks, the kernel shows up as the primary module:
[3:24am]~-100# kldstat Id Refs Address Size Name 1 1 0xf0100000 ff00000 /kernel ^^^^ oops.. :-)
Based heavily on aout_freebsd.c. Hmm.. There's so much in common that these could probably be combined and just check the metadata to see which format it is.
|
39832 |
30-Sep-1998 |
peter |
Save booted kernel name. Cosmetic cleanups.
|
39831 |
30-Sep-1998 |
peter |
Fix typos.. The vector for "int 0x12" (get base mem) is not written in hex as "0x1a". :-) Fix a comment about the extended memory checks, that's int 0x15.
|
39830 |
30-Sep-1998 |
peter |
ELF loader, part 1. It works with ELF kernels generated on the i386 so far, and should probably be able to be made to work for the alpha without too much trouble once it's connected up and my assumptions tested.
I think (but have not tested) it will also load "old" ELF kernels that were not linked with DYNAMIC headers.
The module glue is yet to come. (oh fun.. :-)
It does not explicitly load symbols [yet]. The _DYNAMIC data contains a runtime symbol set that ddb can use via ddb/db_kld.c. It'll be missing some detail that stabs normally provides (eg: number of args to a function, line numbers, etc). On the other hand, those minimal symbols will always be available even on a stripped kernel.
This is mostly stolen from load_aout.c with some ideas from alpha/libalpha/elf_freebsd.c.
|
39828 |
30-Sep-1998 |
peter |
s/out_loadmodule/aout_loadmodule/ in a printf diagnostic.
|
39827 |
30-Sep-1998 |
peter |
Uncomment prototype for elf_loadmodule
|
39756 |
29-Sep-1998 |
peter |
The bootinfo struct was getting clobbered or not passed through correctly. Presumably VTOP doesn't work for static objects. The easiest way to get it working was to reserve some space after the environment strings and copy the bootinfo struct there. Also, set RB_BOOTINFO, it's needed.
I got the code to load and run an unmolested kernel OK for the first time with this system a few minutes ago - at last!. I did have to stop it looking at the floppy though as BTX was trapping a mode 14 fault when it look for /boot/boot.conf when no disk was in the drive. (I'm booting from a scsi disk (bios disk 0x80)).
Now to teach it about ELF and modules :-)
|
39733 |
28-Sep-1998 |
peter |
Only bcopy the correct amount of data from the buffer in case it is ever in an overrun situation.
|
39732 |
28-Sep-1998 |
peter |
Use the variable with the path in it for the error message.
|
39731 |
28-Sep-1998 |
peter |
Reactivate the a.out kernel loader code.
|
39730 |
28-Sep-1998 |
peter |
Missing return value that was kinda important.
|
39729 |
28-Sep-1998 |
peter |
Argh, I don't believe how much time I wasted looking for this... Bytes of extended memory = (extkb * 1024), not (extkb + 1024)
|
39725 |
28-Sep-1998 |
peter |
The comconsole mode is accessed as 'comconsole' not 'com'.
|
39724 |
28-Sep-1998 |
peter |
MBR magic is 0x55aa not 0xffaa.
|
39723 |
28-Sep-1998 |
peter |
Precedence bug (?) causing probe problems.
|
39673 |
26-Sep-1998 |
dfr |
* Add old UFS compatibility code to alpha/boot1. * Fix a raft of warnings, printf and otherwise. * Allocate the correct amount in mod_searchmodule to prevent an overflow. * Fix the makefiles so they work outside my home directory (oops).
|
39664 |
26-Sep-1998 |
msmith |
Recover the arguments passed in from the previous load stage, use them to set the default console. Print malloc stats from the new libstand allocator.
|
39662 |
26-Sep-1998 |
msmith |
The BIOS can't perform a floppy operation where the destination crosses a physical 64k boundary. Allocate a bounce buffer for such a transaction.
|
39660 |
26-Sep-1998 |
msmith |
console.c Allow the MI code to override the preferred console (eg. so that an RB_SERIAL flag from the i386 boot2 can override the default first active console)
isapnp.c Use the standard format for ISA PnP IDs.
pnp.c Allow trailing comments on lines, be less picky about line contents.
ls.c Cosmetic error message fix.
panic.c Print the right arguments.
|
39646 |
25-Sep-1998 |
peter |
Make these compile when there is an obj dir.
|
39530 |
20-Sep-1998 |
dfr |
Make the alpha bootstrap build again, fix some warning and change sdboot to daboot.
|
39474 |
19-Sep-1998 |
msmith |
Make libstand movable.
This completes the basic work required to make the loader work with BTX. We now have a third-stage bootstrap shared by the i386 and Alpha.
|
39473 |
19-Sep-1998 |
msmith |
- Improve debugging code. - Make the "what do we do with a drunken disklabel" if-then-else-regardless tangle easier to read. - Don't count on the v86 structure being preserved between loop iterations, as it may be trampled eg. by the DEBUG call.
|
39472 |
19-Sep-1998 |
msmith |
Add a generic hexdump tool for debugging purposes.
|
39450 |
18-Sep-1998 |
msmith |
Enable the biosdisk driver, duplicate -lstand as it both calls and is called by the i386 platform library.
|
39449 |
18-Sep-1998 |
msmith |
Synch with development version. Compiles and opens but doesn't work yet.
|
39448 |
18-Sep-1998 |
msmith |
Remove 'panic' command (it works), don't ask for a keypress in panic, as exit() does. Perhaps it shouldn't?
|
39447 |
18-Sep-1998 |
msmith |
We lost all the files in crt/, so define the BIOS sector size here instead.
|
39446 |
18-Sep-1998 |
msmith |
Use a.out.h to get all the correct bits in one place.
|
39444 |
18-Sep-1998 |
msmith |
Oops, missed these. Machine-independant ISA PnP enumerator.
|
39441 |
17-Sep-1998 |
msmith |
Initial integration of the i386 bootloader and BTX.
- Discard large amounts of BIOS-related code in favour of the more compact BTX vm86 interface. - Build the loader module as ELF, although the resulting object is a.out, make gensetdefs 32/64-bit sensitive and use a single copy of it. - Throw away installboot, as it's no longer required. - Use direct bcopy operations in the i386_copy module, as BTX maps the first 16M of memory. Check operations against the detected size of actual memory.
|
39274 |
15-Sep-1998 |
rnordier |
Add exec syscall.
|
39178 |
14-Sep-1998 |
msmith |
Resynch with working sources before BTX integration.
- Use format-independant module allocator. - Conditionalise ISA PnP support. - Simplify PnP enumerator interface. - Improve module/object searching. - Add missing depend/install targets in BTX makefiles. - Pass the kernel environment and module data in extended bootinfo fields. - Add a pointer to the end of the kernel + modules in bootinfo. - Fix parsing of old-style kernel arguments.
|
39165 |
14-Sep-1998 |
rnordier |
Add BTX startup/interface code.
|
39125 |
13-Sep-1998 |
rnordier |
Enable client entry point support.
|
39091 |
12-Sep-1998 |
rnordier |
Add btxldr, a BTX loader for ELF clients.
|
39089 |
12-Sep-1998 |
rnordier |
This commit was generated by cvs2svn to compensate for changes in r39088, which included commits to RCS files with non-trunk default branches.
|
39088 |
12-Sep-1998 |
rnordier |
BTX (aka the boot extender) is an i386 kernel that hosts 32-bit bootstrap programs, and provides page-level protection, hardware interrupt reflection, a virtual-8086 mode interface to BIOS, etc.
|
38789 |
04-Sep-1998 |
msmith |
Generic plug-and-play enumerator infrastructure. Query supplied enumerators, crossreference returned identifiers with a text-format database and automatically load corresponding modules and dependancies.
|
38765 |
03-Sep-1998 |
jkh |
Allow quoted strings (single or double) for grouping whitespace separated items. Eliminate warnings.
|
38764 |
03-Sep-1998 |
msmith |
Bootstrap updates.
- Move some startup code from MD to MI sections - Add a 'copyout' and some copyout-related functions. These will be obsoleted when BTX is available for the 386 and the kernel load area becomes directly addressable. - Add the ability load an arbitrary file as a module, associating and arbitrary type string with it. This can be used eg. for loading splash-screen images etc. - Add KLD module dependancy infrastructure. We know how to look for dependancies inside KLD modules, how to resolve these dependancies and what to do if things go wrong. Only works for a.out at the moment, due to lack of an MI ELF loader. Attach KLD module information to loaded modules as metadata, but don't pass it to the kernel (it can find it itself). - Load a.out KLD modules on a page boundary. Only pad the a.out BSS for the kernel, as it may want to throw symbols away. (We might want to do this for KLD modules too.) - Allow commands to be hidden from the '?' display, to avoid cluttering it with things like 'echo'. Add 'echo'. - Bring the 'prompt' command into line with the parser syntax. - Fix the verbose 'ls'; it was using an uninitialised stack variable. - Add a '-v' flag to 'lsmod' to have it display module metadata as well (not terribly useful for the average user) - Support a 'module searchpath' for required modules. - The bootstrap file on i386 is now called 'loader' to permit the /boot directory to use that name. - Discard the old i386 pread() function, as it's replaced by arch_readin()
|
38716 |
01-Sep-1998 |
msmith |
New commandline/script parser, supports backslash quoting and environment variable substitution.
Submitted by: Jordan Hubbard <jkh@freebsd.org>
|
38712 |
31-Aug-1998 |
msmith |
Bootloader update.
- Implement a new copyin/readin interface for loading modules. This allows the module loaders to become MI, reducing code duplication. - Simplify the search for an image activator for the loaded kernel. - Use the common module management code for all module metadata. - Add an 'unload' command that throws everything away. - Move the a.out module loader to MI code, add support for a.out kld modules.
Submitted by: Alpha changes fixed by Doug Rabson <dfr@freebsd.org>
|
38475 |
22-Aug-1998 |
dfr |
Minor tweaks to track a couple of i386 changes and to make it compile.
|
38466 |
21-Aug-1998 |
msmith |
This commit was generated by cvs2svn to compensate for changes in r38465, which included commits to RCS files with non-trunk default branches.
|
38465 |
21-Aug-1998 |
msmith |
This is the new unified bootstrap, sometimes known previously as the 'three-stage' bootstrap. There are a number of caveats with the code in its current state: - The i386 bootstrap only supports booting from a floppy. - The kernel and kld do not yet know how to deal with the extended information and module summary passed in. - PnP-based autodetection and demand loading of modules is not implemented. - i386 ELF kernel loading is not ready yet. - The i386 bootstrap is loaded via an ugly blockmap.
On the alpha, both net- and disk-booting (SRM console machines only) is supported. No blockmaps are used by this code.
Obtained from: Parts from the NetBSD/i386 standalone bootstrap.
|