On Tue, Jan 02, 2024 at 04:44:04PM -0800, Elliott Mitchell wrote: > There is a desire to reduce the time spent on x86 OpenWRT platforms. > "generic" is most suitable for removal. The few systems which could > use "generic" must now opt for "legacy" (or for a lucky few "64").
In case it wasn't obvious, I simply grabbed everything in "generic"'s config-6.1 file and merged it into the "legacy" version. I did a little bit of filtering, alas I definitely missed some crucial bits. OTOH some of the things which had gotten into the "generic" config-6.1 file seem revealing... > diff --git a/target/linux/x86/legacy/config-6.1 > b/target/linux/x86/legacy/config-6.1 > index d4b05e4642..325909c409 100644 > --- a/target/linux/x86/legacy/config-6.1 > +++ b/target/linux/x86/legacy/config-6.1 > @@ -92,35 +113,91 @@ CONFIG_DRM_RADEON=y > CONFIG_DRM_SCHED=y > CONFIG_DRM_TTM=y > CONFIG_DRM_TTM_HELPER=y > +CONFIG_DRM_VIRTIO_GPU=y > CONFIG_DRM_VRAM_HELPER=y > +CONFIG_EFI=y > +CONFIG_EFIVAR_FS=m I'm unsure about this. I don't know whether any P4s actually had EFI firmware. According to the handy resource, initial versions of EFI were out by 2004 so some P4s might have had EFI. I never touched them due to their terrible characteristics so I don't actually know. > +CONFIG_HIGHMEM64G=y > +CONFIG_HOTPLUG_CPU=y > +CONFIG_HOTPLUG_PCI=y > +CONFIG_HOTPLUG_PCI_ACPI=y > +# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set > +# CONFIG_HOTPLUG_PCI_COMPAQ is not set > +# CONFIG_HOTPLUG_PCI_CPCI is not set > +# CONFIG_HOTPLUG_PCI_IBM is not set > +CONFIG_HOTPLUG_PCI_PCIE=y > +# CONFIG_HOTPLUG_PCI_SHPC is not set > +CONFIG_HOTPLUG_SMT=y Some of Intel's Xeons might have allowed for 64GB. More than 4GB were quite few and far between. Other than USB actual hot-plug hardware was rather sparse, yet "generic" did have these. > @@ -154,15 +237,38 @@ CONFIG_ISA_BUS_API=y > CONFIG_ISO9660_FS=y > # CONFIG_JOLIET is not set > CONFIG_KCMP=y > +CONFIG_KVM=y > +CONFIG_KVM_AMD=y > +CONFIG_KVM_ASYNC_PF=y > +CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y > +CONFIG_KVM_GUEST=y > +CONFIG_KVM_INTEL=y > +CONFIG_KVM_MMIO=y > +CONFIG_KVM_VFIO=y > +# CONFIG_KVM_XEN is not set > +CONFIG_KVM_XFER_TO_GUEST_WORK=y Apparently it is genuinely possible to use KVM on some non-amd64 x86 processors. > @@ -178,13 +284,35 @@ CONFIG_MOUSE_PS2_SYNAPTICS=y > CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y > # CONFIG_MOUSE_PS2_TOUCHKIT is not set > CONFIG_MOUSE_PS2_TRACKPOINT=y > +# CONFIG_MOUSE_PS2_VMMOUSE is not set > # CONFIG_MOUSE_SERIAL is not set > # CONFIG_MOUSE_VSXXXAA is not set > +CONFIG_MPENTIUM4=y Oops. Goof with the very limited filtering I did. This one needs to be pulled. > +CONFIG_NR_CPUS=4 > +CONFIG_NR_CPUS_DEFAULT=8 > +CONFIG_NR_CPUS_RANGE_BEGIN=2 > +CONFIG_NR_CPUS_RANGE_END=8 4 processors is very high-end for this type of machine, but they did exist. > @@ -202,24 +331,77 @@ CONFIG_PCIEASPM_DEFAULT=y > # CONFIG_PCIEASPM_POWERSAVE is not set > # CONFIG_PCIEASPM_POWER_SUPERSAVE is not set > CONFIG_PCIEPORTBUS=y > +CONFIG_PCIE_PME=y > CONFIG_PCI_MMCONFIG=y > +CONFIG_PCI_XEN=y > # CONFIG_PCWATCHDOG is not set > # CONFIG_PEAQ_WMI is not set > +CONFIG_PGTABLE_LEVELS=3 > +CONFIG_PHYS_ADDR_T_64BIT=y > +CONFIG_PINCTRL=y > +CONFIG_PINCTRL_ALDERLAKE=y > +CONFIG_PINCTRL_BAYTRAIL=y > +CONFIG_PINCTRL_BROXTON=y > +CONFIG_PINCTRL_CANNONLAKE=y > +CONFIG_PINCTRL_CHERRYVIEW=y > +CONFIG_PINCTRL_DENVERTON=y > +CONFIG_PINCTRL_ELKHARTLAKE=y > +CONFIG_PINCTRL_EMMITSBURG=y > +CONFIG_PINCTRL_GEMINILAKE=y > +CONFIG_PINCTRL_INTEL=y > +CONFIG_PINCTRL_JASPERLAKE=y > +CONFIG_PINCTRL_LAKEFIELD=y > +CONFIG_PINCTRL_LEWISBURG=y > +CONFIG_PINCTRL_LYNXPOINT=y > +CONFIG_PINCTRL_METEORLAKE=y > +CONFIG_PINCTRL_SUNRISEPOINT=y > +CONFIG_PINCTRL_TIGERLAKE=y Yes, CONFIG_X86_INTEL_LPSS=y made its way into "generic" and thus it got here. I'm unaware of any of these ever being paired with a non-amd64 processor. This seems wrong, but that is what was in "generic". > +CONFIG_SENSORS_CORETEMP=y > +CONFIG_SENSORS_FAM15H_POWER=y > +CONFIG_SENSORS_I5500=y > +CONFIG_SENSORS_K10TEMP=y > +CONFIG_SENSORS_K8TEMP=y > +CONFIG_SENSORS_VIA_CPUTEMP=y I might complain about all the silly Intel-specific choices, but these AMD-specific ones are equally ridiculous. These couldn't be paired with anything you would use with "generic" or "legacy". Yet this *is* what was there! > +CONFIG_SMP=y Much less common with "legacy" and "generic" hardware, but there were plenty of these machines around. This should already have been in "legacy". > @@ -228,34 +410,101 @@ CONFIG_SERIAL_8250_PNP=y > +CONFIG_VIRTIO=y > +CONFIG_VIRTIO_BALLOON=y > +CONFIG_VIRTIO_BLK=y > +CONFIG_VIRTIO_CONSOLE=y > +CONFIG_VIRTIO_DMA_SHARED_BUFFER=y > +CONFIG_VIRTIO_INPUT=y > +CONFIG_VIRTIO_MMIO=y > +CONFIG_VIRTIO_NET=y > +CONFIG_VIRTIO_PCI=y > +CONFIG_VIRTIO_PCI_LEGACY=y > +CONFIG_VIRTIO_PCI_LIB=y > +# CONFIG_VIRTIO_PMEM is not set > +CONFIG_VIRTUALIZATION=y Rather less commonly used for "legacy"-class machines, but it was genuinely available. > +CONFIG_XEN=y > +CONFIG_XENFS=y > +CONFIG_XEN_ACPI=y > +CONFIG_XEN_AUTO_XLATE=y > +# CONFIG_XEN_BACKEND is not set > +CONFIG_XEN_BALLOON=y > +CONFIG_XEN_BLKDEV_FRONTEND=y > +CONFIG_XEN_COMPAT_XENFS=y > +CONFIG_XEN_DEBUG_FS=y > +CONFIG_XEN_DEV_EVTCHN=y > +CONFIG_XEN_FBDEV_FRONTEND=y > +CONFIG_XEN_GNTDEV=y > +CONFIG_XEN_GRANT_DEV_ALLOC=y > +CONFIG_XEN_NETDEV_FRONTEND=y > +CONFIG_XEN_PRIVCMD=y > +CONFIG_XEN_PVH=y > +CONFIG_XEN_PVHVM=y > +CONFIG_XEN_PVHVM_GUEST=y > +CONFIG_XEN_PVHVM_SMP=y > +CONFIG_XEN_SAVE_RESTORE=y > +CONFIG_XEN_SCSI_FRONTEND=y > +CONFIG_XEN_SYS_HYPERVISOR=y > +CONFIG_XEN_VIRTIO=y > +# CONFIG_XEN_VIRTIO_FORCE_GRANT is not set > +CONFIG_XEN_WDT=y > +CONFIG_XEN_XENBUS_FRONTEND=y Xen got started on this class of machine. At the time 4GB of memory would have been a $20K+ computer, but these did exist. Anything "legacy" *can* use Xen, though I'm doubtful very many people will continue to use it on this type of hardware. Anyway, a number of people have expressed a desire to reduce the count of x86 targets by at least one. Is anyone going to turn expression into action? -- (\___(\___(\______ --=> 8-) EHM <=-- ______/)___/)___/) \BS ( | [email protected] PGP 87145445 | ) / \_CS\ | _____ -O #include <stddisclaimer.h> O- _____ | / _/ 8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
