[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Lguest] lguest: unhandled trap 13 and CONFIG_MICROCODE_INTEL_EARLY
Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> writes: > On Tue, May 07, 2013 at 02:48:15PM +0930, Rusty Russell wrote: >> "H. Peter Anvin" <hpa@xxxxxxxxx> writes: >> > On 05/05/2013 09:22 PM, Rusty Russell wrote: >> >> >> >> HPA, how about we extend the KEEP_SEGMENTS flag to mean "don't touch >> >> privileged registers" in general? That's what it used to do when it >> >> was introduced, and AFAIK only lguest uses it. Xen folk CC'd. >> >> >> > >> > KEEP_SEGMENTS was introduced at the request of Xen, not lguest. I'm a >> > bit concerned about extending it as I don't know what else might end up >> > being affected. >> >> Not sure if they ever used it, or if they still have their own entry >> point. > > I don't ever recall it being used. But git commit > bd53147db8bdf5dd49025c198ff18ac23f560e0e > says > > Both x86 and x86_64 support the same boot protocol so we need > to implement the KEEP_SEGMENTS on x86_64 as well. It isn't > just paravirt bootloaders that could use this functionality. > > And a quick Google search tells me: > http://lkml.indiana.edu/hypermail/linux/kernel/1102.0/01422.html > > I think the only potential user is whatever Eric Biederman thought off? OK, that confirms my understanding it's lguest-only. To return to the immediate proposal: I'd like to expand it KEEP_SEGMENTS to say "don't do any privileged ops before the platform entry point" which is what it used to do (before we added those config options), and still does (if they're disabled). This fixes lguest for those configs, and if there *are* any other users, this just means they don't support OLPC machines (since 2.6.37) or early microcode (3.9). OLPC + KEEP_SEGMENTS is vanishingly unlikely (the OLPC bootloader doesn't use it), and early microcode never worked with paravirt anyway (those native_cpuid() calls). Failing that, second best to remove KEEP_SEGMENTS, and have lguest 'emulate' (ie. skip!) those instructions. We already do this for in/out instructions, see drivers/lguest/x86/core.c emulate_insn(). More code, but it's lguest code. Cheers, Rusty. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |