[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] 64-bit failsafe callback
Keir Fraser wrote: > On 27 Mar 2006, at 22:57, Jan Beulich wrote: > >> We're, while porting the kernel code back to SLES9, running into a >> case where the failsafe callback gets entered. Looking at that code >> we don't seem to be able to understand how it is actually expected >> to work. That code, out of load_segments, stores the selectors >> (including one or more that failed) into the (extended) frame for >> the kernel to pick them up. The kernel code, however, simply re-does >> the load of these selectors - how can that be expected to work any >> better than in the hypervisor? Further, the kernel blindly loads fs >> and gs, without caring to destroy their base addresses and, even >> more importantly, its own ability to access the PDA. > > Xen allows the kernel to do something smarter if it wants, but the > correct thing in Linux is to simply zero invalid selectors, so that's > what the failsafe callback handler does. The reload into %gs is indeed > bogus -- it should instead > HYPERVISOR_set_segment_base(SEGBASE_GS_USER_SEL, gs). > > -- Keir > > Frankly I don't think the failsafe callback code is expected to work. I did not see failsafe callback triggered in normal cases or did not have test cases for that at the initial port. When I actually saw it, it was caused by a porting bug in x86-64 XenLinux. If you have a valid case where the failsafe callback should handle, we should fix it. Jun --- Intel Open Source Technology Center _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |