The point wasn't to move everything into silicon, it was to move just enough into silicon that you no longer needed any code in ring-0.
As an example, the memory controller's access control list and allocator was a FIFO of free pages and an array storing an owner for each page. Super simple, very few gates, hard to get wrong, and easy to verify.