Rusty Russell wrote: > (2) Xen 3.0's boot process uses %esi and sets all other regs to 0. We > should not break this. If we use %ebx to indicate what paravirt_ops to > use, and assign Xen 0, this works fine. We only clobber %ebx, %eax and > %esp before calling paravirts[%ebx]->init(). > Actually I fixed up that code so that it only clobbers ebx & esp (there's no point in clobbering eax just to clear out fs & gs, since they won't get used and they can be initialized at any point, and maybe they point to something useful anyway). > My question for Eric is: will this fit with kexec (which I know v. > little about)? > My understanding is that Eric proposes that the entrypoint follow a variation of the existing boot protocol, which means: * %ebx is the CPU number (=0) * %esi points to the normal bootparams block, but perhaps with a kick to the version number, and an extra field (or two) for hypervisor-specific information and that kexec does more or less the same thing. J