No Linux e no Windows, estou acostumado com a situação de exigir que um kernel de 64 bits tenha um sistema com multiarch / WoW onde eu possa executar o software de 32 e 64 bits lado a lado.
E então, anos atrás, fiquei impressionado quando alguém me mostrou que o MacOS 10.6 Snow Leopard podia executar aplicativos de 64 bits com o kernel no modo de 32 bits. Isso pode ser amplamente esquecido agora, porque foi uma transição de tecnologia única. Com o hardware à frente da curva no espaço móvel, até onde eu sei, isso nunca foi necessário na mudança para 64 bits para iOS e Android.
Minha pergunta: o que seria necessário para obter o mesmo recurso em um kernel Linux de 32 bits (i386 ou armhf)?
Eu entendo que isso provavelmente não é trivial. Se fosse, a Microsoft poderia ter colocado o recurso no Windows XP de 32 bits. Quais são os requisitos gerais? Alguma vez houve um patch proposto ou prova de conceito?
No mundo incorporado, acho que isso seria especialmente útil, pois o suporte a 64 bits pode ficar para trás por um longo tempo nos drivers de dispositivo.