The power management in commit f17a0ce was authored by Johannes Hofmann <firstname.lastname@example.org>. It got mixed in with another commit and was not properly annotated.
When operating on a file image use max values for sectors and heads in order to match the case where the file might exceed the CHS limit. By convention the CHS fields are set to all 1's in this case. If our sectors and heads are not set at max values then the all 1's case will result in a geometry that overflows the originally specified sectors and heads which can brick the BIOS.
Pull up most devices from GENERIC into AMD64_GENERIC. I left out those that don't compile, which are basically only isa-only network drivers. Temporarilty use the generic crypto functions until assembler versions are imported.
buildkernel and nrelease both defaulted to GENERIC as kernel. This does not work for amd64 builds, since GENERIC is i386. Add a makeshift hack by selecting AMD64_GENERIC if we're buildin for/on amd64. This needs to go away and be solved in a more sensible way. Ok: dillon@
Take back the devtab(5) support in the installer. mountroot didn't work for the UFS with serial numbers case since the data for '/' is taken from fstab and that would have a devtab label in it and we're not setting vfs.root.mountfrom explicitly for UFS. We don't want to, either. So just use /dev/serno/* nodes (which will work everywhere) always. Suggested-by: dillon
Submitted-by: Ulrich Spoerlein <email@example.com>
…warnings. Submitted-by: Ulrich Spoerlein <firstname.lastname@example.org>
If a disk has a corresponding entry in /dev/serno with identical major/minor, use that for all further references of the disk in the installation process. In the installed system, set up a /etc/devtab entry (with the labels named disk0, disk1 etc. using the order of the disks appearing in 'sysctl kern.disks' output) and use this label for the system's /etc/fstab entries. /boot/loader.conf still has to use /dev/serno for its vfs.root.mountfrom entry. The dumpdev entry in /etc/rc.conf could use the devtab label but (as of this commit) doesn't do so yet. This will be fixed at a later point. If no /dev/serno is found, or if no corresponding entry in /dev/serno is found for a specific disk, we use the traditional scheme. While I'm here, perform some cleanup, namely remove some duplicate functions. Requested-by-and-in-discussion-with: dillon
No longer attempt to sync the buffer cache when a panic occurs. This has always been problematic, HAMMER will ignore the attempt anyway, and now we are formalizing that we no longer try. This also improves the chances of the system dumping and rebooting after a panic vs freezing up.
This reverts commit d190343. It seems that there are systems (probably firewalls) in action which enforce an MSS of 536. Specifically, at research.microsoft.com, port 80, packets seem to be simply dropped if they exceed a MSS of 536 bytes, and no ICMP destinatino unreachable, need to fragment message is generated. While this behavior might be questionable as well, we should not diverge from established standards. This default MSS value can be changed using the sysctl node net.inet.tcp.mssdflt. Mandated by RFC 879, RFC 1122.
* Primarily fix a brelse that needs to be placed before a vx_put instead of after. And use bqrelse() instead of brelse() when retrieving an inode. * Syntax adjustments. * NOTE: Only part of the FreeBSD patch was applied. Submitted-by: "Pedro F. Giffuni" <email@example.com> (GSOC project)
* ATAPI commands sent via the SCSI layer which are less then 16 bytes are now zero-padded to 16 bytes. The SATA protocol itself just sends the whole FIS, so no more or less data is being sent. But extra bytes will not be sent as zero. Discussed-with: "Alex Hornung" <firstname.lastname@example.org>
* Do not try to start the port during port initialization. ST is not supposed to be set unless we detect a device on the port(?).
Reported-by: Sascha Wildner <email@example.com>
…hile. mtree couldn't create the directory because of that. This can't be fixed with Makefile_upgrade.inc so we need a bit of additional code for such cases.
* Some drivers pickup devices asynchronously in a manner which the intitial CAM probe does not cover. Try to give these drivers a little extra time to pickup devices before mounting root. This is a hack.
* Some device serial numbers contain weird punctuation and unprintable characters. Replace unprintables and other weird characters with underscores. Testing-by: Sascha Wildner <firstname.lastname@example.org>