I want to know the difference between architecture and platform in Linux kernel. When I had downloaded the latest kernel `tarball`, observed that a directory named with arch, it contains different names of processors & inside to any one processor directory again there is a directory called platform. For example:- `/arch/powerpc` is a directory under arch in Linux kernel & `/arch/powerpc/platforms` is a directory under `powerpc`. So, what does this actually mean? Can anyone explain this in detail, referring from hardware perspective to software perspective, please?