History log of /freebsd-11-stable/stand/pc98/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
344421 21-Feb-2019 kevans

Direct commit to catch pc98 up to recent changes

I have no means of actually testing the new features on pc98, so simply mark
them as BROKEN_OPTIONS on pc98 and interested parties can test/report back
as to the functionality. This is done out of an abundance of caution.

pc98 also needed catching up on the inflate.c -> subr_inflate.c rename.

344377 20-Feb-2019 kevans

MFC r336084-r336085, r336118: Move zfs impl into libsa

r336084:
Move ZFS files into libsa

Move the libzfs stuff into libsa. There's no need for it to be a
separate library. The separate library adds to the issues of build
ordering that we see from time to time. Move the filesystem support
into libsa, like all the other filesystem support rather than making
zfs the odd-duck out.

Discussed with: allanjude@

r336085:
Stop using ../zfs/libzfs.h but instead use libzfs.h.

While ../zfs/libzfs.h mostly works, there are a few situations where
it does not. Eliminate the problem by using plain libzfs.h, like we do
for ufs support. This fixes the weird cases, and is easier to
understand. It also follows the general style convetion of avoiding
../ in #includes.

r336118:
Remove dirs that git svn should have removed but didn't.

344290 19-Feb-2019 kevans

MFC r335117: stand bootprog_info consolidation

bootprog_info is generated in vers.c. Move it's definition to
bootstrap.h and remove all the redundant copies.

339406 17-Oct-2018 imp

Direct commit since these files have gone away in head

Move pc98's biosdisk.c to the new style disk access. This is missing
support in common/part.c, however, for pc98 partitions, so it's
unlikely to actually work. Lack of a pc98 machine that's in sevice
limits my ability to test, but this allows pc98 to compile again.

339405 17-Oct-2018 imp

Direct commit to stable, file not present in current

Catch up to r332154: Fix d_dev removal of d_type.

333049 27-Apr-2018 nyan

whitespace changes to reduce diffs from i386.
still broken pc98 boot.

332154 06-Apr-2018 kevans

MFC r330806-r330815, r330837, r330864, r330883

pc98 changes associated with the named commits are also included in this
commit, despite not having been made with the original commits due to its
removal in head.

r330806:
Minor cosmetic changes.

Make sure { on the same line as struct for all struct *devdesc. Move
some type definitions to next to the dv_type define, since that's what
sets the d_type.

r330807:
We can't use d_opendata for blkio storage.

open_disk uses d_opendata for it's own purpse. We can't store blkio
there. Fortunately, blkio is stored elsewhere and we never actually
retrieve blkio from d_opendata. Eliminate it as a source of confusion.
Eliminate all stores of d_opendata in efi since this layer doesn't own
that field.

r330808:
Make struct libi386_devdesc match the struct devdesc better

Move data to top and call it d_opendata.

r330809:
Use the actual struct devdesc at the start of all *_devdesc structs

The current system is fragile and requires very careful layout of all
*_devdesc structures. It also makes it hard to change the base
devdesc. Take a page from CAM and put the 'header' in all the derived
classes and adjust the code to match.

For OFW, move the iHandle h_handle out of a slot conflicting with
d_opendata. Due to quirks in the alignment rules, this worked.
However changing the code to use d_opendata storage now that it's a
pointer is hard, so just have a separate field for it.

All other cleanups were to make the *_devdesc structures match where
they'd taken some liberties that were none-the-less compatible enough
to work.

r330810:
Remove d_type from devdesc. It's not needed as we can fetch it from
d_dev->dv_type when we need it.

r330811:
GC unused routines.

Sponsored by: Netflix

r330812:
Use the one-line-per-file pattern here, and sort the file names.

Sponsored by: Netflix

r330813:
Move the env convenience routines out of boot1.c.

These routines are more generally useful. Even though boot1 is on its
way out, it's better to make these common during the transition than
copy them.

r330814:
Star BootCurrent entry when booting.

Sponsored by: Netflix

r330815:
Print the load and device path as well as BootCurrent and BootOrder

Sponsored by: Netflix

r330837:
biosdisk.c should not set d_opendata.

Same as 330807, d_opendata is owned by open_disk and we should not
set it.

M stand/i386/libi386/biosdisk.c

r330864:
Prefer uintXX_t to u_intXX_t

A foolish consistency is the hobgoblin of little minds, adored by
little statesmen and philosophers and divines. With consistency a
great soul has simply nothing to do. -- Ralph Waldo Emerson

r330883:
Fix typo that misteriously passes compilation.


/freebsd-11-stable/stand/common/bootstrap.h
/freebsd-11-stable/stand/common/disk.c
/freebsd-11-stable/stand/common/disk.h
/freebsd-11-stable/stand/common/isapnp.c
/freebsd-11-stable/stand/common/load_elf.c
/freebsd-11-stable/stand/common/load_elf_obj.c
/freebsd-11-stable/stand/common/metadata.c
/freebsd-11-stable/stand/common/misc.c
/freebsd-11-stable/stand/common/pnp.c
/freebsd-11-stable/stand/efi/boot1/boot1.c
/freebsd-11-stable/stand/efi/boot1/ufs_module.c
/freebsd-11-stable/stand/efi/include/efilib.h
/freebsd-11-stable/stand/efi/libefi/Makefile
/freebsd-11-stable/stand/efi/libefi/devicename.c
/freebsd-11-stable/stand/efi/libefi/efienv.c
/freebsd-11-stable/stand/efi/libefi/efipart.c
/freebsd-11-stable/stand/efi/libefi/efizfs.c
/freebsd-11-stable/stand/efi/libefi/env.c
/freebsd-11-stable/stand/efi/loader/arch/arm/exec.c
/freebsd-11-stable/stand/efi/loader/main.c
/freebsd-11-stable/stand/ficl/aarch64/sysdep.c
/freebsd-11-stable/stand/ficl/amd64/sysdep.c
/freebsd-11-stable/stand/ficl/arm/sysdep.c
/freebsd-11-stable/stand/ficl/i386/sysdep.c
/freebsd-11-stable/stand/ficl/mips/sysdep.c
/freebsd-11-stable/stand/ficl/mips64/sysdep.c
/freebsd-11-stable/stand/ficl/powerpc/sysdep.c
/freebsd-11-stable/stand/ficl/riscv/sysdep.c
/freebsd-11-stable/stand/ficl/sparc64/sysdep.c
/freebsd-11-stable/stand/i386/btx/lib/btxv86.h
/freebsd-11-stable/stand/i386/libi386/biosacpi.c
/freebsd-11-stable/stand/i386/libi386/bioscd.c
/freebsd-11-stable/stand/i386/libi386/biosdisk.c
/freebsd-11-stable/stand/i386/libi386/biospnp.c
/freebsd-11-stable/stand/i386/libi386/bootinfo32.c
/freebsd-11-stable/stand/i386/libi386/bootinfo64.c
/freebsd-11-stable/stand/i386/libi386/devicename.c
/freebsd-11-stable/stand/i386/libi386/elf64_freebsd.c
/freebsd-11-stable/stand/i386/libi386/libi386.h
/freebsd-11-stable/stand/i386/libi386/multiboot.c
/freebsd-11-stable/stand/i386/libi386/pxe.c
/freebsd-11-stable/stand/i386/loader/chain.c
/freebsd-11-stable/stand/i386/loader/main.c
/freebsd-11-stable/stand/libsa/arp.c
/freebsd-11-stable/stand/libsa/bootp.c
/freebsd-11-stable/stand/libsa/bootparam.c
/freebsd-11-stable/stand/libsa/dosfs.h
/freebsd-11-stable/stand/libsa/ext2fs.c
/freebsd-11-stable/stand/libsa/net.h
/freebsd-11-stable/stand/libsa/rpc.c
/freebsd-11-stable/stand/libsa/stand.h
/freebsd-11-stable/stand/mips/beri/loader/beri_disk_cfi.c
/freebsd-11-stable/stand/mips/beri/loader/beri_disk_sdcard.c
/freebsd-11-stable/stand/mips/beri/loader/devicename.c
/freebsd-11-stable/stand/ofw/libofw/devicename.c
/freebsd-11-stable/stand/ofw/libofw/libofw.h
/freebsd-11-stable/stand/ofw/libofw/openfirm.c
libpc98/bioscd.c
libpc98/biosdisk.c
loader/main.c
/freebsd-11-stable/stand/powerpc/boot1.chrp/boot1.c
/freebsd-11-stable/stand/powerpc/kboot/ppc64_elf_freebsd.c
/freebsd-11-stable/stand/powerpc/ofw/elf_freebsd.c
/freebsd-11-stable/stand/powerpc/ofw/main.c
/freebsd-11-stable/stand/powerpc/ofw/ppc64_elf_freebsd.c
/freebsd-11-stable/stand/sparc64/boot1/boot1.c
/freebsd-11-stable/stand/sparc64/loader/main.c
/freebsd-11-stable/stand/uboot/common/main.c
/freebsd-11-stable/stand/uboot/lib/devicename.c
/freebsd-11-stable/stand/uboot/lib/disk.c
/freebsd-11-stable/stand/uboot/lib/elf_freebsd.c
/freebsd-11-stable/stand/uboot/lib/libuboot.h
/freebsd-11-stable/stand/userboot/userboot/bootinfo32.c
/freebsd-11-stable/stand/userboot/userboot/bootinfo64.c
/freebsd-11-stable/stand/userboot/userboot/devicename.c
/freebsd-11-stable/stand/userboot/userboot/elf64_freebsd.c
/freebsd-11-stable/stand/userboot/userboot/main.c
/freebsd-11-stable/stand/userboot/userboot/userboot_disk.c
/freebsd-11-stable/stand/zfs/libzfs.h
/freebsd-11-stable/stand/zfs/zfs.c
330311 03-Mar-2018 kevans

stand: Make pc98 build

This is a direct commit to stable/11 due to pc98 removal from head.

Several improvements in head that were MFC'd left the pc98 build broken in
stable/11. Massage the pc98 bits to get it to at least build.

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.


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/Makefile.inc1
/freebsd-11-stable/README
/freebsd-11-stable/lib/libefivar/Makefile
/freebsd-11-stable/release/powerpc/generate-hfs.sh
/freebsd-11-stable/release/tools/vmimage.subr
/freebsd-11-stable/share/examples/bootforth/README
/freebsd-11-stable/share/examples/etc/make.conf
/freebsd-11-stable/share/man/man5/make.conf.5
/freebsd-11-stable/share/man/man7/hier.7
/freebsd-11-stable/share/man/man8/diskless.8
/freebsd-11-stable/stand
/freebsd-11-stable/stand/Makefile
/freebsd-11-stable/stand/Makefile.amd64
/freebsd-11-stable/stand/Makefile.arm
/freebsd-11-stable/stand/Makefile.arm64
/freebsd-11-stable/stand/Makefile.i386
/freebsd-11-stable/stand/Makefile.inc
/freebsd-11-stable/stand/Makefile.mips
/freebsd-11-stable/stand/Makefile.pc98
/freebsd-11-stable/stand/Makefile.powerpc
/freebsd-11-stable/stand/Makefile.sparc64
/freebsd-11-stable/stand/arm
/freebsd-11-stable/stand/arm64
/freebsd-11-stable/stand/common
/freebsd-11-stable/stand/defs.mk
/freebsd-11-stable/stand/efi
/freebsd-11-stable/stand/fdt
/freebsd-11-stable/stand/fdt.mk
/freebsd-11-stable/stand/fdt/Makefile
/freebsd-11-stable/stand/fdt/Makefile.depend
/freebsd-11-stable/stand/fdt/fdt_loader_cmd.c
/freebsd-11-stable/stand/fdt/fdt_platform.h
/freebsd-11-stable/stand/fdt/help.fdt
/freebsd-11-stable/stand/ficl
/freebsd-11-stable/stand/ficl.mk
/freebsd-11-stable/stand/ficl32
/freebsd-11-stable/stand/forth
/freebsd-11-stable/stand/forth/pnp.4th
/freebsd-11-stable/stand/forth/support.4th
/freebsd-11-stable/stand/geli
/freebsd-11-stable/stand/i386
/freebsd-11-stable/stand/i386/Makefile.inc
/freebsd-11-stable/stand/kshim
/freebsd-11-stable/stand/libsa
/freebsd-11-stable/stand/libsa32
/freebsd-11-stable/stand/loader.mk
/freebsd-11-stable/stand/man
/freebsd-11-stable/stand/mips
/freebsd-11-stable/stand/ofw
/freebsd-11-stable/stand/pc98
Makefile.inc
/freebsd-11-stable/stand/powerpc
/freebsd-11-stable/stand/sparc64
/freebsd-11-stable/stand/uboot
/freebsd-11-stable/stand/uboot.mk
/freebsd-11-stable/stand/usb
/freebsd-11-stable/stand/userboot
/freebsd-11-stable/stand/userboot/ficl
/freebsd-11-stable/stand/userboot/libstand
/freebsd-11-stable/stand/userboot/zfs
/freebsd-11-stable/stand/zfs
/freebsd-11-stable/stand/zfs32
/freebsd-11-stable/sys/Makefile
/freebsd-11-stable/sys/boot/Makefile
/freebsd-11-stable/sys/boot/Makefile.amd64
/freebsd-11-stable/sys/boot/Makefile.arm
/freebsd-11-stable/sys/boot/Makefile.arm64
/freebsd-11-stable/sys/boot/Makefile.i386
/freebsd-11-stable/sys/boot/Makefile.inc
/freebsd-11-stable/sys/boot/Makefile.mips
/freebsd-11-stable/sys/boot/Makefile.pc98
/freebsd-11-stable/sys/boot/Makefile.powerpc
/freebsd-11-stable/sys/boot/Makefile.sparc64
/freebsd-11-stable/sys/boot/arm
/freebsd-11-stable/sys/boot/arm64
/freebsd-11-stable/sys/boot/common
/freebsd-11-stable/sys/boot/defs.mk
/freebsd-11-stable/sys/boot/efi
/freebsd-11-stable/sys/boot/fdt.mk
/freebsd-11-stable/sys/boot/fdt/Makefile
/freebsd-11-stable/sys/boot/fdt/Makefile.depend
/freebsd-11-stable/sys/boot/fdt/fdt_loader_cmd.c
/freebsd-11-stable/sys/boot/fdt/fdt_platform.h
/freebsd-11-stable/sys/boot/fdt/help.fdt
/freebsd-11-stable/sys/boot/ficl
/freebsd-11-stable/sys/boot/ficl.mk
/freebsd-11-stable/sys/boot/ficl32
/freebsd-11-stable/sys/boot/forth
/freebsd-11-stable/sys/boot/geli
/freebsd-11-stable/sys/boot/i386
/freebsd-11-stable/sys/boot/kshim
/freebsd-11-stable/sys/boot/libsa
/freebsd-11-stable/sys/boot/libsa32
/freebsd-11-stable/sys/boot/loader.mk
/freebsd-11-stable/sys/boot/man
/freebsd-11-stable/sys/boot/mips
/freebsd-11-stable/sys/boot/ofw
/freebsd-11-stable/sys/boot/pc98
/freebsd-11-stable/sys/boot/powerpc
/freebsd-11-stable/sys/boot/sparc64
/freebsd-11-stable/sys/boot/uboot
/freebsd-11-stable/sys/boot/uboot.mk
/freebsd-11-stable/sys/boot/usb
/freebsd-11-stable/sys/boot/userboot
/freebsd-11-stable/sys/boot/zfs
/freebsd-11-stable/sys/boot/zfs32
/freebsd-11-stable/sys/contrib/dev/acpica/acpica_prep.sh
/freebsd-11-stable/tools/boot/universe.sh
/freebsd-11-stable/tools/tools/bootparttest/Makefile
/freebsd-11-stable/tools/tools/zfsboottest/Makefile
/freebsd-11-stable/usr.sbin/bhyveload/Makefile
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


/freebsd-11-stable/sys/boot/Makefile.ficl
/freebsd-11-stable/sys/boot/common/Makefile.inc
/freebsd-11-stable/sys/boot/common/bootstrap.h
/freebsd-11-stable/sys/boot/common/install.c
/freebsd-11-stable/sys/boot/common/interp.c
/freebsd-11-stable/sys/boot/common/interp_forth.c
/freebsd-11-stable/sys/boot/common/loader.8
/freebsd-11-stable/sys/boot/common/newvers.sh
/freebsd-11-stable/sys/boot/common/pnp.c
/freebsd-11-stable/sys/boot/efi/libefi/Makefile
/freebsd-11-stable/sys/boot/efi/libefi/efinet.c
/freebsd-11-stable/sys/boot/efi/libefi/env.c
/freebsd-11-stable/sys/boot/efi/loader/Makefile
/freebsd-11-stable/sys/boot/efi/loader/arch/amd64/ldscript.amd64
/freebsd-11-stable/sys/boot/efi/loader/arch/arm/ldscript.arm
/freebsd-11-stable/sys/boot/efi/loader/arch/arm64/ldscript.arm64
/freebsd-11-stable/sys/boot/efi/loader/arch/i386/efimd.c
/freebsd-11-stable/sys/boot/efi/loader/arch/i386/elf32_freebsd.c
/freebsd-11-stable/sys/boot/efi/loader/arch/i386/exec.c
/freebsd-11-stable/sys/boot/efi/loader/arch/i386/ldscript.i386
/freebsd-11-stable/sys/boot/efi/loader/main.c
/freebsd-11-stable/sys/boot/ficl/Makefile
/freebsd-11-stable/sys/boot/ficl/efi.c
/freebsd-11-stable/sys/boot/ficl/ficl.h
/freebsd-11-stable/sys/boot/ficl/i386/sysdep.c
/freebsd-11-stable/sys/boot/ficl/loader.c
/freebsd-11-stable/sys/boot/ficl32/Makefile
/freebsd-11-stable/sys/boot/forth/Makefile.inc
/freebsd-11-stable/sys/boot/forth/efi.4th
/freebsd-11-stable/sys/boot/forth/loader.4th
/freebsd-11-stable/sys/boot/forth/support.4th
/freebsd-11-stable/sys/boot/i386/Makefile.inc
/freebsd-11-stable/sys/boot/i386/cdboot/cdboot.S
/freebsd-11-stable/sys/boot/i386/gptboot/Makefile
/freebsd-11-stable/sys/boot/i386/gptzfsboot/Makefile
/freebsd-11-stable/sys/boot/i386/libi386/Makefile
/freebsd-11-stable/sys/boot/i386/libi386/biospci.c
/freebsd-11-stable/sys/boot/i386/libi386/libi386.h
/freebsd-11-stable/sys/boot/i386/libi386/smbios.c
/freebsd-11-stable/sys/boot/i386/loader/Makefile
/freebsd-11-stable/sys/boot/mips/beri/loader/loader.ldscript
/freebsd-11-stable/sys/boot/pc98/libpc98/Makefile
/freebsd-11-stable/sys/boot/zfs/zfsimpl.c
/freebsd-11-stable/targets/pseudo/userland/misc/Makefile.depend
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")


/freebsd-11-stable/sys/boot/common/bcache.c
/freebsd-11-stable/sys/boot/common/boot.c
/freebsd-11-stable/sys/boot/common/bootstrap.h
/freebsd-11-stable/sys/boot/common/commands.c
/freebsd-11-stable/sys/boot/common/interp.c
/freebsd-11-stable/sys/boot/common/interp_forth.c
/freebsd-11-stable/sys/boot/common/interp_parse.c
/freebsd-11-stable/sys/boot/common/ls.c
/freebsd-11-stable/sys/boot/common/module.c
/freebsd-11-stable/sys/boot/common/ufsread.c
/freebsd-11-stable/sys/boot/efi/boot1/boot1.c
/freebsd-11-stable/sys/boot/efi/libefi/efi_console.c
/freebsd-11-stable/sys/boot/efi/libefi/time.c
/freebsd-11-stable/sys/boot/efi/libefi/time_event.c
/freebsd-11-stable/sys/boot/efi/loader/arch/amd64/framebuffer.c
/freebsd-11-stable/sys/boot/efi/loader/main.c
/freebsd-11-stable/sys/boot/fdt/fdt_loader_cmd.c
/freebsd-11-stable/sys/boot/forth/loader.4th
/freebsd-11-stable/sys/boot/i386/Makefile.inc
/freebsd-11-stable/sys/boot/i386/boot.ldscript
/freebsd-11-stable/sys/boot/i386/boot0/Makefile
/freebsd-11-stable/sys/boot/i386/boot2/Makefile
/freebsd-11-stable/sys/boot/i386/btx/btx/Makefile
/freebsd-11-stable/sys/boot/i386/btx/btxldr/Makefile
/freebsd-11-stable/sys/boot/i386/btx/btxldr/btxldr.S
/freebsd-11-stable/sys/boot/i386/cdboot/Makefile
/freebsd-11-stable/sys/boot/i386/gptboot/Makefile
/freebsd-11-stable/sys/boot/i386/gptzfsboot/Makefile
/freebsd-11-stable/sys/boot/i386/libi386/biosdisk.c
/freebsd-11-stable/sys/boot/i386/libi386/pxe.c
/freebsd-11-stable/sys/boot/i386/libi386/smbios.c
/freebsd-11-stable/sys/boot/i386/mbr/Makefile
/freebsd-11-stable/sys/boot/i386/pmbr/Makefile
/freebsd-11-stable/sys/boot/i386/pxeldr/Makefile
/freebsd-11-stable/sys/boot/i386/zfsboot/Makefile
/freebsd-11-stable/sys/boot/ofw/libofw/ofw_time.c
/freebsd-11-stable/sys/boot/pc98/Makefile.inc
/freebsd-11-stable/sys/boot/pc98/boot0/Makefile
/freebsd-11-stable/sys/boot/pc98/boot2/Makefile
/freebsd-11-stable/sys/boot/pc98/btx/btx/Makefile
/freebsd-11-stable/sys/boot/pc98/btx/btxldr/Makefile
/freebsd-11-stable/sys/boot/pc98/cdboot/Makefile
/freebsd-11-stable/sys/boot/powerpc/kboot/main.c
/freebsd-11-stable/sys/boot/powerpc/ps3/main.c
/freebsd-11-stable/sys/boot/uboot/lib/time.c
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.

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.

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)

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

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

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

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


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/cddl
/freebsd-11-stable/cddl/contrib/opensolaris
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/zfs
/freebsd-11-stable/cddl/contrib/opensolaris/lib/libzfs
/freebsd-11-stable/contrib/amd
/freebsd-11-stable/contrib/apr
/freebsd-11-stable/contrib/apr-util
/freebsd-11-stable/contrib/atf
/freebsd-11-stable/contrib/binutils
/freebsd-11-stable/contrib/bmake
/freebsd-11-stable/contrib/byacc
/freebsd-11-stable/contrib/bzip2
/freebsd-11-stable/contrib/com_err
/freebsd-11-stable/contrib/compiler-rt
/freebsd-11-stable/contrib/dialog
/freebsd-11-stable/contrib/dma
/freebsd-11-stable/contrib/dtc
/freebsd-11-stable/contrib/ee
/freebsd-11-stable/contrib/elftoolchain
/freebsd-11-stable/contrib/elftoolchain/ar
/freebsd-11-stable/contrib/elftoolchain/brandelf
/freebsd-11-stable/contrib/elftoolchain/elfdump
/freebsd-11-stable/contrib/expat
/freebsd-11-stable/contrib/file
/freebsd-11-stable/contrib/gcc
/freebsd-11-stable/contrib/gcclibs/libgomp
/freebsd-11-stable/contrib/gdb
/freebsd-11-stable/contrib/gdtoa
/freebsd-11-stable/contrib/groff
/freebsd-11-stable/contrib/ipfilter
/freebsd-11-stable/contrib/ldns
/freebsd-11-stable/contrib/ldns-host
/freebsd-11-stable/contrib/less
/freebsd-11-stable/contrib/libarchive
/freebsd-11-stable/contrib/libarchive/cpio
/freebsd-11-stable/contrib/libarchive/libarchive
/freebsd-11-stable/contrib/libarchive/libarchive_fe
/freebsd-11-stable/contrib/libarchive/tar
/freebsd-11-stable/contrib/libc++
/freebsd-11-stable/contrib/libc-vis
/freebsd-11-stable/contrib/libcxxrt
/freebsd-11-stable/contrib/libexecinfo
/freebsd-11-stable/contrib/libpcap
/freebsd-11-stable/contrib/libstdc++
/freebsd-11-stable/contrib/libucl
/freebsd-11-stable/contrib/libxo
/freebsd-11-stable/contrib/llvm
/freebsd-11-stable/contrib/llvm/projects/libunwind
/freebsd-11-stable/contrib/llvm/tools/clang
/freebsd-11-stable/contrib/llvm/tools/lldb
/freebsd-11-stable/contrib/llvm/tools/llvm-dwarfdump
/freebsd-11-stable/contrib/llvm/tools/llvm-lto
/freebsd-11-stable/contrib/mdocml
/freebsd-11-stable/contrib/mtree
/freebsd-11-stable/contrib/ncurses
/freebsd-11-stable/contrib/netcat
/freebsd-11-stable/contrib/ntp
/freebsd-11-stable/contrib/nvi
/freebsd-11-stable/contrib/one-true-awk
/freebsd-11-stable/contrib/openbsm
/freebsd-11-stable/contrib/openpam
/freebsd-11-stable/contrib/openresolv
/freebsd-11-stable/contrib/pf
/freebsd-11-stable/contrib/sendmail
/freebsd-11-stable/contrib/serf
/freebsd-11-stable/contrib/sqlite3
/freebsd-11-stable/contrib/subversion
/freebsd-11-stable/contrib/tcpdump
/freebsd-11-stable/contrib/tcsh
/freebsd-11-stable/contrib/tnftp
/freebsd-11-stable/contrib/top
/freebsd-11-stable/contrib/top/install-sh
/freebsd-11-stable/contrib/tzcode/stdtime
/freebsd-11-stable/contrib/tzcode/zic
/freebsd-11-stable/contrib/tzdata
/freebsd-11-stable/contrib/unbound
/freebsd-11-stable/contrib/vis
/freebsd-11-stable/contrib/wpa
/freebsd-11-stable/contrib/xz
/freebsd-11-stable/crypto/heimdal
/freebsd-11-stable/crypto/openssh
/freebsd-11-stable/crypto/openssl
/freebsd-11-stable/gnu/lib
/freebsd-11-stable/gnu/usr.bin/binutils
/freebsd-11-stable/gnu/usr.bin/cc/cc_tools
/freebsd-11-stable/gnu/usr.bin/gdb
/freebsd-11-stable/lib/libc/locale/ascii.c
/freebsd-11-stable/sys/cddl/contrib/opensolaris
/freebsd-11-stable/sys/contrib/dev/acpica
/freebsd-11-stable/sys/contrib/ipfilter
/freebsd-11-stable/sys/contrib/libfdt
/freebsd-11-stable/sys/contrib/octeon-sdk
/freebsd-11-stable/sys/contrib/x86emu
/freebsd-11-stable/sys/contrib/xz-embedded
/freebsd-11-stable/usr.sbin/bhyve/atkbdc.h
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.c
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.h
/freebsd-11-stable/usr.sbin/bhyve/console.c
/freebsd-11-stable/usr.sbin/bhyve/console.h
/freebsd-11-stable/usr.sbin/bhyve/pci_fbuf.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.h
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.c
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.h
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.c
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.h
/freebsd-11-stable/usr.sbin/bhyve/rfb.c
/freebsd-11-stable/usr.sbin/bhyve/rfb.h
/freebsd-11-stable/usr.sbin/bhyve/sockstream.c
/freebsd-11-stable/usr.sbin/bhyve/sockstream.h
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.c
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.h
/freebsd-11-stable/usr.sbin/bhyve/usb_mouse.c
/freebsd-11-stable/usr.sbin/bhyve/vga.c
/freebsd-11-stable/usr.sbin/bhyve/vga.h
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.


298826 30-Apr-2016 pfg

sys/boot: spelling fixes in comments.

No functional change.


298478 22-Apr-2016 allanjude

Fix more pc98 build issues re: bcache change

Reported by: bz, emaste


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


297283 26-Mar-2016 bdrewery

Implement (ACFLAGS|CFLAGS|CXXFLAGS).SRC globally.

Sponsored by: EMC / Isilon Storage Division


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


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


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


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


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


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.


284597 19-Jun-2015 bapt

Fix fallouts from r284590

Reported by: kib


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


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


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


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


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


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


275411 02-Dec-2014 nyan

MFi386: r275305 (by rdivacky)

Unbreak the code for non-digits below '0' by casting the expression
to unsigned int.


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);


274537 15-Nov-2014 nyan

MFi386: r274398

Move NFS and TFTP filesystems before the synthetic filesystems (bzip,
gzip, and split).


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.


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


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.


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.


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]


265420 06-May-2014 imp

Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.


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.


260949 20-Jan-2014 mav

Make comconsole options set before its activation to be remembered.

MFC after: 2 weeks
Sponsored by: iXsystems, Inc.


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


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


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@


251223 01-Jun-2013 nyan

MFi386: revision 245848

Always update the hw.uart.console hint.


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


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


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


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)


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.


239069 05-Aug-2012 nyan

Reduce diffs against i386.


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.


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


235395 13-May-2012 avg

libpc98: unbreak after zfs-related changes in libi386 code

Pointyhat to: avg
MFC after: 1 month


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


235155 09-May-2012 avg

i386 boot: consolidate MAXBDDEV definition

MFC after: 1 month


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.


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


231387 10-Feb-2012 nyan

Reduce diffs against i386.

MFC after: 1 week


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


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.


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


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


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.


220361 05-Apr-2011 nyan

MFi386: revision 220337

Build boot2 with -mregparm=3.


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).


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.


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.


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


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


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.


218737 16-Feb-2011 nyan

MFi386: revision 218713

Apply a few small optimizations to boot2's code, to make it shrink a
little further.


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.


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


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


215246 13-Nov-2010 nyan

Now there is no functional difference from i386 version.
So use i386 version.


214257 24-Oct-2010 nyan

MFi386: revision 214210

Avoid using memcpy() for copying 32bit chunks. This shrinks
the resulting code a little.


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)


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)


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)


210459 25-Jul-2010 nyan

MFi386: revision 210387

Correctly setup LDADD with regards to libstand.


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


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


200776 21-Dec-2009 nyan

Move cursor position after putting a character.

MFC after: 1 week


200631 17-Dec-2009 nyan

Fix debug messages of bd_io().

MFC after: 1 week


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


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.


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


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.


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


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


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.


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.


188895 21-Feb-2009 ru

Fix build when WITH_SSP is set explicitly.

Submitted by: Jeremie Le Hen


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


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.


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>


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


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.


176645 28-Feb-2008 nyan

MFi386:

Retire the support for using paging in BTX. It hasn't been used since
before 4.0.


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.


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().


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.


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


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.


167657 17-Mar-2007 kato

- Moved the uninitialized variables from the data to the bss section.
- Fixed typos in comment.


167191 04-Mar-2007 nyan

MFi386: revision 1.17.

Fix the cdboot twiddle display.


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.


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


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.


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)


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.


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


158559 14-May-2006 nyan

Add a bootable CD support.


158378 09-May-2006 nyan

Fix build (s:pc98/cbus/cbus.h:pc98/pc98/pc98_machdep.h:)

Pointyhat to: nyan


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.


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)


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.


153551 20-Dec-2005 sobomax

Unbreak pc98 after my last changes to i386.


151882 30-Oct-2005 nyan

MFi386: Enable beastie.4th.


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.


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.


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


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


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.


145069 14-Apr-2005 nyan

MFi386: revision 1.20.


144563 03-Apr-2005 imp

Fix buidling of boot blocks for pc98 with new links.

Submitted by: nyan@


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


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.


138190 29-Nov-2004 nyan

MFi386: revisions 1.77 and 1.78.


138189 29-Nov-2004 nyan

MFi386: revision 1.38.


136910 24-Oct-2004 ru

For variables that are only checked with defined(), don't provide
any fake value.


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.


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.


135409 18-Sep-2004 nyan

MFi386: revision 1.56 (Add -fno-unit-at-a-time to CFLAGS).


132881 30-Jul-2004 nyan

Fix new compiler error (s/bcopy/memcpy/).


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>


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.


128710 28-Apr-2004 ru

MFi386: Use C (and CPP) style comments for assembler-with-cpp
sources, for lines that start with a comment.


127919 05-Apr-2004 imp

Remove advertising clause from University of California Regent's license,
per letter dated July 22, 1999.

Approved by: core


126970 14-Mar-2004 nyan

MFi386: revision 1.29.


126969 14-Mar-2004 nyan

MFi386: revision 1.76.


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)


125625 09-Feb-2004 nyan

MFi386: Factor out -nostdlib and use PROG.


125567 07-Feb-2004 ru

MFi386: Removed -elf and duplicate -ffreestanding.


125563 07-Feb-2004 nyan

MFi386: Cleanups to sys/boot makefiles.


125127 28-Jan-2004 nyan

MFi386: revision 1.33

PR: kern/62005


124647 18-Jan-2004 nyan

Fix to support KANA and graphics characters which code are over 0x80.


122753 15-Nov-2003 nyan

MFi386: revision 1.13.


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.


119880 08-Sep-2003 obrien

Use __FBSDID().
Also some minor style cleanups.


117511 13-Jul-2003 nyan

Fixed build error with GCC 3.3.1


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).


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.


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.


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.


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.


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.


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


110102 30-Jan-2003 nyan

MFi386: Install the "boot" image which is boot1 + boot2.


109638 21-Jan-2003 nyan

Use NDOSPART instead of NEXTDOSPART.


109637 21-Jan-2003 nyan

MFi386: revision 1.63.


109559 20-Jan-2003 phk

Use NEXTDOSPART instead of MAX_SLICES.


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.


104777 10-Oct-2002 nyan

Remove '-DUFS1_ONLY' from CFLAGS. It is not needed.


104621 07-Oct-2002 nyan

Added '#include <sys/diskpc98.h>'.

Submitted by: kawanobe@st.rim.or.jp (Kawanobe Koh)


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.


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.


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


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.


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


100325 18-Jul-2002 nyan

Remove boot2 temporarily.


100174 16-Jul-2002 nyan

Change include order.


97301 26-May-2002 n_hibma

Cosmetic change (align with other boot blocks):

CONSPEED -> COMSPEED

Approved by: nyan


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


96581 14-May-2002 nyan

Fixed to build for GCC 3.1


96579 14-May-2002 nyan

Add -ffreestanding to CFLAGS.


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.


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.


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)


95450 25-Apr-2002 nyan

MFi386: revision 1.56


95449 25-Apr-2002 nyan

MFi386: revision 1.8


94765 15-Apr-2002 nyan

MFi386: revision 1.7.


93416 30-Mar-2002 nyan

MFi386: revision 1.55


91480 28-Feb-2002 nyan

Add -D_KERNEL to CFLAGS for ntohl().


90063 01-Feb-2002 nyan

Expand COMBRD(x) macro.


89495 18-Jan-2002 nyan

Added kgzldr for pc98.
crt.s is based on btx.s.


87734 12-Dec-2001 nyan

MFi386: revision 1.35 (Add support for writing to BIOS disks)


87599 10-Dec-2001 obrien

Update to C99, s/__FUNCTION__/__func__/,
also don't use ANSI string concatenation.


86497 17-Nov-2001 nyan

MFi386: revisions from 1.26 to 1.30.


86496 17-Nov-2001 nyan

MFi386: revision 1.12


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


85875 02-Nov-2001 nyan

Fixed sioreg.h path.


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.


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.


83368 12-Sep-2001 ru

Create backup copies using install(1).


80203 23-Jul-2001 kris

s/adress/address/

Inspired by: OpenBSD
MFC After: 1 week


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.


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)


76927 21-May-2001 nyan

Merged from sys/boot/i386/btx/btx/btx.s revision 1.24.


70333 24-Dec-2000 kato

Disabled boot2 for the moment, because it needs aout tools.


70082 16-Dec-2000 kato

Merged from sys/boot/i386/loader/Makefile revision 1.49.


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


67136 15-Oct-2000 nyan

Merged from sys/boot/i386/loader/main.c revision 1.21.


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.


65607 08-Sep-2000 kato

Merged from sys/boot/i386/loader/Makefile revision 1.47.


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


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.


64295 06-Aug-2000 kato

- Fixed missing initialization of current device number.
- Fixed comment.

Pointed out by: nyan


64190 03-Aug-2000 kato

- Fixed %si (offset to partition table) in boot.
- Fixed comment.


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.


63101 14-Jul-2000 nyan

Merged from sys/boot/i386/libi386/biosdisk.c revision 1.31.


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


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


60702 19-May-2000 dcs

Move man page directives to common/Makefile.inc.


59912 03-May-2000 nyan

- Removed hi-resolution mode supports.
- Added a dummy partition table.


59874 01-May-2000 peter

Add $FreeBSD$


59777 30-Apr-2000 nyan

Sync with sys/boot/i386/libi386/biosdisk.c revision 1.30.


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


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.


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.


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>


56994 05-Feb-2000 kato

Synced with sys/boot/i386/loader/Makefile rev 1.41.


56813 29-Jan-2000 kato

Synced with sys/boot/i386/btx/btx/btx.s rev 1.14.


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.


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>


54294 08-Dec-1999 phk

Remove BAD144 support, it has already been disabled for some time.


54086 03-Dec-1999 nyan

Supported to sound beep.

Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)


53688 25-Nov-1999 nyan

Sync with sys/boot/i386/loader/Makefile revision 1.37.


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.


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.


52202 13-Oct-1999 kato

Sync with sys/boot/i386/btx/btx/Makefile and btx.s revisions 1.7 and
1.12, respectively.


52148 12-Oct-1999 brian

Blank out the twiddly thing when outputting the ``BTX loader'' message.


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>


50477 28-Aug-1999 peter

$Id$ -> $FreeBSD$


49673 13-Aug-1999 kato

Merge from sys/boot/i386/libi386/bootinfo.c revision 1.21.


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>


48351 29-Jun-1999 peter

Reconcile all the loader newvers.sh's into one common one.


47780 06-Jun-1999 kato

Sync with sys/boot/i386/libi386/bootinfo.c revision 1.19.


47332 20-May-1999 kato

Sync with sys/boot/i386/btx/Makefile revision 1.5.


46043 25-Apr-1999 kato

Sync with sys/boot/i386/loader/Makefile revision 1.34.


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.


45814 19-Apr-1999 kato

Sync with sys/boot/i386/loader/Makefile revision 1.32.


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>


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.


44859 18-Mar-1999 kato

Install the manual page in sys/boot/i386/loader.

Sumbmitted by: Takahashi Yoshihiro <nyan@dd.catv.ne.jp>


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.


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>


44368 01-Mar-1999 kato

Sync with sys/boot/i386/btx/btx/btx.s revision 1.10.


44255 25-Feb-1999 kato

Sync with sys/boot/i386/loader/Makefile revision 1.29.


43768 08-Feb-1999 kato

Sync with sys/boot/i386/loader/version revision 1.3.


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>