kernel: Remove ndis(4) and associated tools and stuff. ndis(4) was a wrapper to allow running binary Windows network drivers that conformed to the Network Driver Interface Specification, i.e. NDIS. It only ever supported drivers from the days of Windows XP and Windows Server 2003 (i.e. NDIS 5.1). And even if one was actually able to extract the .sys and .inf files from the driver package and successfully convert them to a building module, which both were adventures in itself, it could be any result when trying to run it, depending on the card and driver, from resonably working to not working, even crashing. But it did work for some cards, so it had some limited merit in its time. NetBSD removed it in 2018, FreeBSD in January 2021, so let's follow suit now.
kernel - VM rework part 18 - Cleanup * Significantly reduce the zone limit for pvzone (for pmap pv_entry structures). pv_entry's are no longer allocated on a per-page basis so the limit can be made much smaller. This also has the effect of reducing the per-cpu cache limit which ultimately stabilizes wired memory use for the zone. * Also reduce the generic pre-cpu cache limit for zones. This only really effects the pvzone. * Make pvzone, mapentzone, and swap_zone __read_mostly. * Enhance vmstat -z, report current structural use and actual total memory use. * Also cleanup the copyright statement for vm/vm_zone.c. John Dyson's original copyright was slightly different than the BSD copyright and stipulated no changes, so separate out the DragonFly addendum.
i386 removal, part 39/x: Remove est(4) driver. Of the 36 CPUs it supports, only one supports Intel 64 (aka AMD64), namely the Intel Core 2 Duo T7500, released in May 2007. The rest, Intel Pentium Ms and two Intel Core CPUs, were 32 bit only. If someone is still using a T7500 with DragonFly and our regular ACPI P-state support doesn't work with it, we'd be interested in hearing about it. As a last resort, there's always cpucontrol(8) to set the MSRs manually. :) Also, estd isn't in ports or dports.
kernel/vga: Remove VGA_NO_BIOS and VGA_ALT_SEQACCESS options. VGA_NO_BIOS and VGA_NO_MODE_CHANGE were overlapping 90% or more in functionality, so remove the former (which is internal anyway) and use VGA_NO_MODE_CHANGE there too. Also remove VGA_ALT_SEQACCESS which provided some alternate way to access the VGA sequencer. I've not heard of anyone needing this option ever, so assume that it is no longer needed. It can be brought back if it turns out to be important to anyone. In-discussion-with: ivadasz
x86_64 - support for AVX instructions * CPU will be checked for XSAVE and AVX support on boot. If both are found, they will be enabled. * If enabled, the kernel will use the XSAVE and XRSTOR instructions to save and restore FPU, SSE and AVX registers. Originally-Submitted-by: Adam Sakareassen (with modifications)
agp: Sync with FreeBSD * Add support for AMD64 Family 10h processors. FreeBSD PR: kern/128331 * Add a few VIA bridges for Intel Core/Core 2 and VIA Nano processors * Fix AGP debugging code * Rename agp_x86_64.c to agp_amd64.c again, keeping the same file name on both DragonFly and FreeBSD * Fix prototypes to be consistent * offset parameter has vm_offset_t type * vm_offset_t is unsigned and therefore can not be negative * Use si_drv1 instead of dev2unit() inside agp(4). * i810: Aperture size and stolen memory are now printed on one line * Add pci ids for Intel Ironlake chipsets
Sync ndis(4) and tools with FreeBSD and hook it all back into the build. It supports NDIS 5.x drivers, that means Windows XP and Server 2003. The latter is an educated guess by me. No testing has actually been done using Windows Server 2003 drivers. It is tested on i386 with the following PCI adapters: * D-Link DWL-G520+ (Texas Instruments ACX111 chip), aka acx(4). * Linksys WMP600N (Ralink RT2860 chip). * Planex GW-DS54GR (Realtek RTL8185 chip) which was kindly donated by sephe. Thanks to Max Herrgard <herrgard@gmail.com> for testing it on x86_64 with a CNet CWP-854 (Ralink RT2561T chip), aka ral(4). Note that this port has the following caveats: * PCI adapters need hw.ioapic_enable=0 in /boot/loader.conf but worked great then. Without it, the box will completely freeze after a while. This has been observed on both my own testing box as well as on a different box by Max Herrgard. The cause is yet unknown. :-( * PC Card adapters are untested (they might just work). * USB adapters are not yet stable at all. Panics might ensue. Taken-from: FreeBSD
kernel - Add APIC_IO conf option back in / make it adjust hw.apic_io_enable * APIC_IO again controls whether a SMP kernel will use the io-apic or not. All it does now is adjust the hw.apic_io_enable default value. Changing the code to allow apic-io to be soft-selectable was great, but removing the kernel config option was not so great. * SMP Kernels compiled without APIC_IO again default to not using it. You can use APIC_IO either by configuring the kernel with the option or by setting hw.apic_io_enable=1 in /boot/loader.conf. * SMP Kernels compiled with APIC_IO default to using APIC_IO. * Reduces confusion between 2.8 and 2.9 kernel config files. * Reduces personal frustrations.