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?