Thanks a ton Peter, that cleared things up a great deal !!! Thanks again for the quick help !!
Thanks and Regards, Ajay On Mon, Apr 9, 2018 at 11:17 PM, Peter Maydell <peter.mayd...@linaro.org> wrote: > On 9 April 2018 at 18:41, Ajay Garg <ajaygargn...@gmail.com> wrote: >> Hi Peter. >> >> The link is pretty good, just that I am a complete noob. >> >> Maybe a more concrete example on the following, clearly specifying why >> things work on x86 without the need of -machine flag, will make things >> crystal clear : >> >> Because ARM systems differ so much and in fundamental ways, typically >> operating system or firmware images intended to run on one machine >> will not run at all on any other. This is often surprising for new >> users who are used to the x86 world where every system looks like a >> standard PC. (Once the kernel has booted, most userspace software >> cares much less about the detail of the hardware.) > > For instance, on x86 you can always find the UART for serial > output at IO port 0x3f8, and it's always an 8250 or compatible. > On Arm, the memory address where the UART is will be likely > different for every board. And once you know the address of the > UART, each SoC likely may well have its own implementation, > which has different registers that do different things. > And there's no way to probe for what's there -- you have to > know in advance. So you can't even usefully print bootup > messages without knowing what you're running on. > > thanks > -- PMM