On Wed, Aug 18, 2010 at 06:31:42AM -0700, Ardelean, Andrei wrote: > Malta board has Yamon monitor which initializes the DDR memory and other > h/w. Does Mips Linux rely on Yamon h/w initialization (except memory) > like PCI, NET, UART, etc in order to boot? Does Mips Linux re-initialize > the h/w again? > I am booting Linux on Malta with a small monitor which initializes only > the memory. I pass the environment vars array, command line arguments > and memory size as Yamon would do. The ASCII display shows "Linux on > Malta" scrolling text so Linux kernel it seems that at least it started > but there is no NET activity and no messages on UART. That's a bit of an ugly topic and some black art is involved here. We leave the initialization of CPU, caches and memory controllers entirely to the firmware. For the remainder Linux tries to perform the initilization itself but sometimes by accident not intention a register that was already initialized by firmware will not be initialized by Linux but the omission will not be notized because it already has a correct value. PCI is particularl problem. On some platforms firmware initializes the bus and re-initializing the bus would break the firmware or be very complex. On such a system Linux will just scan the PCI bus and re-use the existing configuration. On most platforms however Linux will do a better job than the existing firmware and fully reinitialize the entire PCI bus hierarchy. Ralf