Ok.So we have two candidates:
xen_raw_printk + panic
panic + earlyprintk=xen
If panic does work with earlyprintk, then the latter one is better.
Otherwise, there will be duplicated string printed out with
'earlyprintk=xen'.
The idea is just to have one function. Whichever prints the
string and panics the machine. If 'panic' does this properly
(and properly meaning it actually prints data when using
the earlyprintk=xen as well as console=hvc0) printout system
the we cuold just use 'panic' and not worry about it.
But if it does not, then we (and by we I mean you) should provide a variant of panic() that prints the data properly using the earlprintk mechanism. Preferrabily to make it generic.So this work depends on whether panic works well with earlyprink=xen, I will do some test on panic first.