[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-ia64-devel] RE: A patch to remove dcr.63 for running_on_xenindicator
> > While it is true that bit 63 of the DCR is architecturally > > reserved, we will probably have several years of notice > > if it is actually going to be architecturally-defined in > > a future IPF implementation. (If you know that it is > > definitely going to be defined in an IPF chip before > > 2010, please let me know and we certainly can choose a > > different bit.) > For software development, it should never use hardware > reserved fields. > What if each software doing design base on its own preference to use > hardware reserved bits differently, then how can processor maintain > software backward compatibilities? A software doing these short term > design may not runable a couple years later! Its not using a hardware reserved field. Its defining a virtual dcr where bit 63 has a different meaning. Many virtualized privileged register bits have different semantics than the equivalent hardware registers. There are many architectural assumptions made by Xen (both x86 and ia64). If the architecture changes in any substantial way (including for example future versions of VT), newer versions of Xen will be required. Although I understand and am completely supportive of Intel's absolute track record of backwards compatibility for applications, I am very skeptical that all future Intel chips will guarantee backwards compatibility for legacy hypervisors. In any case, I am not insisting on using dcr bit 63 or any other reserved bit. I am just insisting that we not use a fixed shared page virtual address. > Pull in the shared page checking code doesn't break the > existing design, > rather it provides a better sanity checking should we move to flexible > shared page and not break hardware specification It doesn't break the existing implementation but it does break the existing design. > > I intend to utilize dynamic configurable shared memory address > > within the next 6-12 months. > It seems you already have some mechanism to make shared > memory flexible, > please share the idea. The pseudo-code snippet in my previous message (plus corresponding code in the hypervisor) makes it flexible. Virtually all references in Xen/ia64 to the shared page are indirect through arch_vcpu_info.privregs (which is a pointer). There are a few places in hyperprivop.S and xenasm.S (and one in ivt.S) where I was lazy and used the hard-defined location, but these can be easily fixed. (Try "find xen | xargs grep XSI_ | grep -v OFS | grep -v asm-" ) This is because the design is for the shared page address to be dynamically configurable. Once these few places are fixed, we can remove all the DEFINEs in asm-xsi-offsets.c that use SHARED_ARCHINFO_ADDR (and the two places in all of Xen/ia64 where this constant is used... I was lazy for those two places too :-) The constant SHARED_ARCHINFO_ADDR can remain as a default for guests that don't choose to make a hypercall to specify another virutal address. _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |