3 ms·
Well a certain amount of it is emulated in SMM, but from the fact that its still possible to boot DOS on most modern machines, a lot of the core hardware is sti
by StillBored 10y ago
Well a certain amount of it is emulated in SMM, but from the fact that its still possible to boot DOS on most modern machines, a lot of the core hardware is still there emulated or otherwise. I was just reading a review on the Asus X99-A II, board where they were talking about the super-io chip's PS2 keyboard port. And IIRC, a couple years ago someone (IBM IIRC) dared to ship a machine without an 8042 keyboard controller/emulation, and it failed to work in a ton of places (kgdb for one).
Frankly, I'm a little surprised at the hate for the couple thousand or so transistors required to support the set of 8253/8259/8250/8042/etc chips that form the basis of the original XT/AT. Especially given the love for all things ARM, which tend to implement their peripherals in a very 1980's way with simple fixed MMIO ports punched into the address map, but without the standardization that form the basis of PC/AT hardware.
And just to stay on topic, almost every single decent ATX/ITX board I've used in the last decade has a 4 pin PC speaker port. Including the skylake machine I built last night. Same thing goes for RS232 ports, which are still on the vast majority of decent PC hardware even if they don't have headers soldered on. The X99 in that review actually had the headers, and I owning the older version of the board actually have a cable plugged into it which I attach to assorted hardware for firmware/etc work.
- sounds 10y agoCan you talk about your firmware work on the X99-A board? Any coreboot tips?
- nitrogen 10y agoIt's possible the OP was talking about firmware development for embedded hardware (Arduino-scale devices), using the RS232 port on the X99 to communicate with the firmware. Lots of embedded hardware has a serial console hidden somewhere inside, and when debugging, it can be faster to add some printf equivalent calls or a new console command than to use a JTAG.
- pcwalton 10y ago> Especially given the love for all things ARM, which tend to implement their peripherals in a very 1980's way with simple fixed MMIO ports punched into the address map, but without the standardization that form the basis of PC/AT hardware. Isn't that a source of flexibility, though? The fact that that stuff is not standardized and is instead hidden behind a hardware abstraction layer (the OS kernel) means that ARM systems get the freedom to drop the legacy interfaces and centralize the hardware abstraction where it belongs: in the kernel.
- vetinari 10y agoFrom this POV, yes. However, for that you need: 1) a specific kernel for specific hardware, there's no universal kernel like for PC and 2) lot of hope that the maintenance or support of that specific kernel is not going to be dropped as soon as the hardware ships out of the gates (which is the fate of many routers or android phones, which cannot be updated to newer OS releases).
- caf 10y agoThe i8042 (potentially emulated) is still one of the more reliable ways to reboot.
- TorKlingberg 10y ago> Same thing goes for RS232 ports, which are still on the vast majority of decent PC hardware even if they don't have headers soldered on. As someone who works on embedded systems, the serial port is really useful for debugging when nothing else works.