On Sat, 2015-11-28 at 11:53 +0100, Alexander Graf wrote: > > > Am 28.11.2015 um 08:59 schrieb Benjamin Herrenschmidt <benh@kernel. > > crashing.org>: > > > > > On Fri, 2015-11-27 at 11:21 +0100, Alexander Graf wrote: > > > > > > How does real hardware store petitboot? If it's flash, you could > > > pass it > > > in using -pflash and thus model things even more closely and > > > allow users > > > to just take the ROM image as is. > > > > It is a flash image, we could use an Open Power machine flash image > > "as-is" > > provided we taught qemu to extract skiboot (aka OPAL) from it. > > That's probably the best way. If it's memory mapped, you might not > even have to extract anything - just jump to its location ;).
It's not memory mapped sadly (well not on P8...) The way a real P8 boots is first a little internal uC executes code from a i2c seeprom to initialize a core and some cache. It then copies a payload from flash into that cache. That payload is HostBoot, which is a huge thing that initializes a pile of stuff such as the internal busses, SMP links, links to memory buffers, trains memory etc... it then constructs an embryo device-tree and loads & run OPAL (aka skiboot). The model I chose for powernv is to simulate a boot at the hostboot -> skiboot transition point. > The -kernel syntax is useful to have, but should really be something > "on top" of the normal system boot rather than its primary boot > interface. I know, I'm just not keen on committing a 16M "BIOS" to qemu tree ;-) In any case, this is easy to change / fix. There's a lot more work on the rest of the series first. Cheers, Ben.