Technically Linux could once upon a time run on a 386, but because the kernel is a non-modular spaghetti-code mess, they had to deprecate 386 support to fix something else. It's only a matter of time before 486 is gone too.
I like the potential your comment has even though it's wrong on every point, it is interesting to go back and understand why 386 support was removed. Since the days of 386 support, the kernel has only become much more modular and portable. It quite possibly supports more platforms and CPU architectures and families than any other OS ever written. Almost certainly true if you restrict it to a multitasking >= 32-bit OS…
Ah I see, my instincts were wrong. Usually the complexity of the kernel is the root cause of problems. In this case, the rate of churn is the problem. Kernel devs want to change SMP primitives frequently, and having to go back and think about the 386 paradigm is a barrier to that goal. CPU manufacturers want to ensure that Linux uses their CPUs at maximum efficiency, so SMT primitive tweaking is a fact of life.