Hacker News new | ask | show | jobs
by monocasa 2868 days ago
Every moderately complex SoC will have something like ME or PSP. The most recent big boy ARM SoC that I can think of without something like that was the iMX6. Even SiFive's newer U54-MC RISC-V SoC has a little "monitor core".

SoC power management, system bringup, and maintenance tasks are complicated enough these days to warrant a full small core tacked onto the side. These cores are necessary, and aren't going away. Complaining about them being there is just pissing into the wind. Complain about what they're used for and the closed source nature of their code.

2 comments

> SoC power management, system bringup, and maintenance tasks are complicated enough these days to warrant a full small core tacked onto the side. These cores are necessary, and aren't going away. Complaining about them being there is just pissing into the wind.

There's a vast difference between such a core being used solely for bringup/power management/housekeeping and it having a network connection to the outside and being used for "remote management" (and running with godawfully insecure parsing code, at that).

Which is why the next sentence (that you cut off) says

> Complain about what they're used for and the closed source nature of their code.

All of these cores will have the ability to have network connections because they'll bringup the whole SoC including the network MAC.

They aren't 'necessary'. You can completely disable the ME and have a usable system. Maybe you are confusing it with the PCH?
Check out what the ME disable stuff does. It just removes some of the binaries from the thing's uKernel that are the non boot services. The ME is required for system bringup.

> However, while Intel ME can't be turned off completely, it is still possible to modify its firmware up to a point where Intel ME is active only during the boot process, effectively disabling it during the normal operation, which is what me_cleaner tries to accomplish.

https://github.com/corna/me_cleaner

EDIT: Also, the ME is inside the PCH, so I'm not really sure why you're making a distinction there.

> The ME is required for system bringup

Because Intel makes it required, or is it technically required?

My understanding is that it's what controls power sequencing, QPI bringup, and RAM bringup, so the main cores can't come up without it or something like it.

Just like the similar cores you see in pretty much every ARM SoC.

Can't completely disable ME. There are still essential modules that we have no idea what they're doing.