> as bad as the ARM may be, it can't hold a candle to what the pentium has 
> become:
> 1. RISC CPU (undocumented) in the northbridge (MCH) running ThreadX
> 2. RISC CPU in the Ethernet part running ThreadX
> 3. Simple CPU in the southbridge (ICH) running, well, who knows. But
> the entire system won't come up without that CPU coming up, and the
> code for that CPU is (of course!) never going to be available in any
> general sense.

the difference is that intel have hidden their µarch changes behind
a fixed instruction set.  this means that even the bios engineer does not
care what µarch the cpu is actually running.  i would think that's a feature.

i have never heard of threadx in the ethernet part, though i have
spent more than my fair share of hours paging through yellow books.
(perhaps you're speaking of non-intel parts?) 
do you have some references?  is there some reason you care what the
ethernet part is doing to provide a normal register or preboot interface?

the southbridge does run some hairy junk.  both ahci and ide interfaces
require special firmware.  i would consider the fact that you can't introspect
it to be a feature.  

the one that you didn't mention is the one that bothers me: smm mode.
this has been around for a very long time.  smm mode takes a special
interrupt and takes over the cpu and runs some real-mode code.  things
like ps/2 emulation for usb mice and keyboards rely on smm mode.
this can really blow up your timing, if you have timing constraints.

> can't write code for (1) and (2) because the code in the FLASH has to
> be signed with Intel's private key, public version of which is *burned
> into the chip in read-only registers*.

it's a fine line between hardware and software.  or maybe
there is no line.

- erik

Reply via email to