Krista Wolffe wrote:
You won't need the networking coming from processor PCI-E lanes; that's usually handled by the chipset, which is connected to the processor on a DMI 2.0 4x link at 20Gb/s. Plenty to handle GigE and WiFi.
2 M2 slots would be nice, but they'd have to be vertical. Probably won't get that, though.
I'd like to see 4 16x PCI-E slots, in some combination of (2-16x,8x), (16x,3- 8x), (16x, 2- 8x, 2- M.2), (2- 16x, 2- M.2), and have *all* running from the CPU, not a crappy pseudo 2.0 8x from the chipset.
If there's room, add 5he crappy 2.0 8x somewhere as an additional mPCIE.
If wishes are being granted: make ram extenders so I can use 8 dimms somehow, or allow for 32gb dimms on a Haswell-e.
KILL the ps/2 port!
2 on board usb3 headers would kick ass.
And as always, I'd recommend a 10GbE, as schizat needs rolling on that front.
I would have to disagree about killing the PS/2 port. First, I read the USB HID device class definition at
http://www.usb.org/developers/hidpage/HID1_11.pdf and found out that keyboards by default will interrupt the CPU every half second according to this quote from page 53 from the HID device class definition that I linked to:
The recommended default idle rate (rate when the device is initialized) is 500 milliseconds for keyboards (delay before first repeat rate) and infinity for joysticks and mice.
In this quote, the idle rate is the rate at which an HID device will respond with a report even when nothing is changing. When there is no report to make due to the lack of a change and no expiration of an idle timer, an HID device will respond to a polling request by the USB hardware with a NAK, or negative acknowledgement. The polling is done by the USB controller with no intervention from the CPU except for setting up the polling. Each time the CPU is interrupted by one of these null reports that are sent every half second, it must waste time and power to process it. PS/2 does not interrupt the CPU unless it has an event to deliver, which saves CPU utilization and power. Fortunately, all HID devices other than keyboards are recommended to default to having an infinite idle timer, so they do not waste CPU time or power.
The second reason I prefer PS/2 for the keyboard is security. When USB was defined, there had to be a way for USB mice and keyboards to be able to interface with operating systems that are entirely unaware of USB and only expected the traditional keyboard controller. The solution chosen was to use the System Management Mode (SMM), a benign rootkit that is built into the 386SL, 80486, and all later x86 CPUs according to
https://en.wikipedia.org/wiki/System_Management_Mode. It was invented to handle power management for laptops whose operating system (DOS) could not handle power management and had no room or extra battery power for an embedded controller to handle power management for the laptop. When no USB-aware operating system loads, a process called USB Legacy Support converts USB input into legacy input using SMM by having the USB controller trigger the SMM line when either the mouse moves or the keyboard sends input. The SMM code will then translate and load the input into the keyboard controller. The OS then processes the input as if it came from the keyboard controller. When a USB-aware operating system loads and initializes the USB driver, it will tell the USB controllers to quit triggering the SMM line so that the OS will handle future USB mouse and keyboard input. Unfortunately, malware called SMM rootkit that corrupt the built-in SMM code into becoming a malicious rootkit exist, most notably by the NSA in various SMM rootkits like SOUFFLETROUGH, SCHOOLMONTANA, DEITYBOUNCE, and IRONCHEF as seen in the Wikipedia article I linked to. Therefore, an SMM rootkit can easily become an ideal keylogger along with malware that tells the USB controller to start triggering the SMM line each time input from the keyboard or mouse comes in. I would like to not give any SMM rootkit an entrance to my keyboard. I just wish that all motherboard manufacturers would secure their BIOS, firmware, and driver downloads with HTTPS so that performing a man-in-the-middle attack against someone downloading one of these can be assured that these downloads are genuine and not tampered with so that we can ensure that there is no SMM malware in the download.