[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] SeaBIOS build issue


so sadly this is another of those cases where I spent several hours
finding a rather trivial build problem: On an older system of mine,
the SeaBIOS image ends up being 256k in size instead of the
expected 128k (the actually used size is about 133k, apparently
getting rounded to the next power of two). The attempt to load
that image therefore results in hvmloader's text to be overwritten,
causing the VM to crash silently (i.e. one first needs to go and add
debugging code to find where the crash really happens).

Upon checking I can see that the same happens on a second system.
I didn't notice this so far because on those systems, being old, I
rarely run HVM guests.

Interestingly enough there's a commented out BUILD_BUG_ON() in
hvmloader/seabios.c. Why's that commented out? and if it already
is commented out, rather than crashing the VM very early, wouldn't
it be possible for hvmloader to at least print an error message and

And then to the build problem itself - the way that they put
together the binary image (via computing linker scripts listing the
sections in machine-adjusted order) makes it close to impossible to
find out where things go wrong. I decided to stop my attempts to
understand that logic after having wasted 2+ hours on this. I have
a vague feeling that less (or no) inlining may be representing part
of the problem.

So the question now is - can one somehow, without too much
trouble, trick the hvmloader build into using a pre-generated (e.g.
on another system, where a known good binary results) SeaBIOS
binary, without subsequent rebuilds trying to overwrite that one?
Or can you see any other solution to that problem, not involving
doing the whole build on a different machine?


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.