[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3] docs: add PVH specification
>>> On 22.09.14 at 16:02, <konrad.wilk@xxxxxxxxxx> wrote: >> >> +`CR0` has the following bits set by Xen: >> >> + >> >> + * PE (bit 0): protected mode enable. >> >> + * ET (bit 4): 387 or newer processor. >> >> + * PG (bit 31): paging enabled. >> > >> > Also TS (at least that is what the Linux code says: >> > >> > /* Some of these are setup in 'secondary_startup_64'. The others: >> > * X86_CR0_TS, X86_CR0_PE, X86_CR0_ET are set by Xen for HVM guests >> > * (which PVH shared codepaths), while X86_CR0_PG is for PVH. */ >> > >> > Perhaps it is incorrect? >> >> I think this comment is outdated/incorrect. This is the CR0 value I see >> on a FreeBSD PVH start-of-day: >> >> 0x80000011 (PE, ET and PG bits set) >> > > Reading the code I see > > construct_vmcs > hvm_update_guest_cr(v, 0); > vmx_update_guest_cr > > Then this code: > 1234 if ( !(v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_TS) ) > > > 1235 { > > > 1236 if ( v != current ) > > > 1237 hw_cr0_mask |= X86_CR0_TS; > > > > ... > 1279 v->arch.hvm_vcpu.hw_cr[0] = > > > 1280 v->arch.hvm_vcpu.guest_cr[0] | hw_cr0_mask; > > > 1281 __vmwrite(GUEST_CR0, v->arch.hvm_vcpu.hw_cr[0]); > > > > Same logic on the AMD side, albeit less complicated. > > But this is Monday morning so I must be missing something > as your values don't match with this. You're mixing up the hardware CR0 value (hw_cr[0]) and the guest visible one (guest_cr[0]). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |