loader: implement mount/unmount rootfsWe want to keep our root file system open to preserve bcache segmentbetween file accesses, thus reducing physical disk IO.Reviewed by: imp, allanjude, kevan
loader: implement mount/unmount rootfsWe want to keep our root file system open to preserve bcache segmentbetween file accesses, thus reducing physical disk IO.Reviewed by: imp, allanjude, kevans (previous version)Differential Revision: https://reviews.freebsd.org/D30848MFC after: 1 month(cherry picked from commit b4cb3fe0e39a31e60292018dc9fb7510b3de92bf)
show more ...
powerpc64le: stand fixesFix boot1 and loader on PowerPC64 little-endian (LE).Due to endian issues, boot1 couldn't find the UFS boot partitionand loader wasn't able to load the kernel. Most of th
powerpc64le: stand fixesFix boot1 and loader on PowerPC64 little-endian (LE).Due to endian issues, boot1 couldn't find the UFS boot partitionand loader wasn't able to load the kernel. Most of the issueshappened because boot1 and loader were BE binaries trying to accessLE UFS partitions and because loader expects the kernel ELF imageto use the same endian as itself.To fix these issues, boot1 and loader are now built as LE binarieson PPC64LE. To support this, the functions that call OpenFirmwarewere enhanced to correctly perform endian conversion on its inputand output arguments and to change the CPU into BE mode beforemaking the calls, as OpenFirmware always runs in BE. Besides that,some other small fixes were needed.Submitted by: bdragon (initial version)Reviewed by: alfredo, jhibbitsSponsored by: Instituto de Pesquisas Eldorado (eldorado.org.br)Differential Revision: https://reviews.freebsd.org/D32160(cherry picked from commit f83288645cd9726c24ca67292fbc3abb4eb65a36)
Fix 64-bit build of libofw.Adjust a couple of printf() lines that deal with dumping out addressesto cast to uintmax_t.This allows building a 64-bit libofw for use in things like a futurePetitbo
Fix 64-bit build of libofw.Adjust a couple of printf() lines that deal with dumping out addressesto cast to uintmax_t.This allows building a 64-bit libofw for use in things like a futurePetitboot loader for PowerPC64, and other FDT platforms that requirea 64-bit loader binary and want to use forth.Sponsored by: Tag1 Consulting, Inc.
loader: libofw build is missing sys/list.h after r362431Add another include path
loader: fix libofw build after r362431
Redo r360540 to retain the ifndef sparc code, not delete it.Also undo the BROKEN stuff, since it was based on the same misreading.Noticed by: Jens Schweikhardt
Remove more stray sparc64 ifdefs.Also, dmabuf appears to only be set for sparc64 case, but there was acomment at its only use that says it was broken for some appleadapters. #ifdef it all of that
Remove more stray sparc64 ifdefs.Also, dmabuf appears to only be set for sparc64 case, but there was acomment at its only use that says it was broken for some appleadapters. #ifdef it all of that out now that nothing sets it.
veloader use vectx API for kernel and modulesThe vectx API, computes the hash for verifying a file as it is read.This avoids the overhead of reading files twice - once to verify, thenagain to loa
veloader use vectx API for kernel and modulesThe vectx API, computes the hash for verifying a file as it is read.This avoids the overhead of reading files twice - once to verify, thenagain to load.For doing an install via loader, avoiding the need to rewindlarge files is critical.This API is only used for modules, kernel and mdimage as these are thebiggest files read by the loader.The reduction in boot time depends on how expensive the I/O ison any given platform. On a fast VM we see 6% improvement.For install via loader the first file to be verified is likely to be thekernel, so some of the prep work (finding manifest etc) done byverify_file() needs to be factored so it can be reused forvectx_open().For missing or unrecognized fingerprint entries, we failin vectx_open() unless verifying is disabled.Otherwise fingerprint check happens in vectx_close() andsince this API is only used for files which must be verified(VE_MUST) we panic if we get an incorrect hash.Reviewed by: imp,tsoomeMFC after: 1 weekSponsored by: Juniper NetworksDifferential Revision: https://reviews.freebsd.org//D23827
Remove sparc64 support from the boot loader.Remove all the sparc64 specific bits, both files and ifdefs.
Backout 356693. The libsa malloc does provide necessary alignment andmemalign by 4 will reduce alignment for some platforms. Thanks for Ian forpointing this out.
loader: allocate properly aligned buffer for network packetUse memalign(4, size) to ensure we have properly aligned buffer.MFC after: 2 weeks
Move stand/ofw/libofw to stand/libofw.Since rS330365, there has been no particular reason for libofw to be in asubdirectory of ofw. Move libofw up a level to make it fit in better withthe other t
Move stand/ofw/libofw to stand/libofw.Since rS330365, there has been no particular reason for libofw to be in asubdirectory of ofw. Move libofw up a level to make it fit in better withthe other top level libraries.Also add a LIBOFWSRC to stand/defs.mk to match what all the otherlibraries are doing.Reviewed by: impDifferential Revision: https://reviews.freebsd.org/D23000