From: Martin T. <ma...@th...> - 2008-02-19 14:47:33
|
Hello Gang Wei, thanks for your reply. Maybe I should just try and run tboot and see how it works before I write my own MLE :) You are right about the BIOS "moving" the 1 from bit 2 to bit 1 when I disable TXT. I just don't see the harm in having both bit 1 and bit 2 enabled when both TXT and VT is enabled. It's not like the hypervisor / guest will get access to "TXT secrets" in the TPM chip merely from being executed in this mode. Does DQ35MP/DQ35JO set the bits the same way? And do these motherboards provide a default SINIT at SINIT.BASE? I'm just asking out of curiosity since it is interesting to know how different vendors have gone about implementing TXT. The Asus mainboard is even a different BIOS brand than the Intel board. I guess we will see many more TXT-enabled mainboards once Intel moves the TPM into the chipsets later this year. Best regards, Martin Thiim On 2/19/08, Wei, Gang <gan...@in...> wrote: > > See my comments embeded. > > Jimmy > > ------------------------------ > *From:* tbo...@li... [mailto: > tbo...@li...] *On Behalf Of *Martin Thiim > *Sent:* Monday, February 18, 2008 1:55 AM > *To:* tbo...@li... > *Subject:* [tboot-devel] Question on feature control bits and some > observations > > Hello, > > I'm experimenting with Intel TXT. First I have one question. What exactly > does the bit "Enable VMXON outside SMX operation" (bit 2 in > IA32_FEATURE_CONTROL_MSR) do? On my mainboard (see below) this bit is set 0. > >From the description in the documentation, I would assume this means that > virtualization extensions can not be used without also using SMX, > effectively implying that I won't be able to run, say, Xen (at least unless > I apply a patch that enables SMX). Is this interpretation correct? If so, I > don't really understand what purpose this bit serves, and why my mainboard > apparently sets it to 0 (while allowing VMXON in SMX operation). Was this > bit documented as part of the virtualization extensions all along, so that > hypervisors that were written before the SMX documents became available, are > aware that this bit needs to be 1? > > [Jimmy] "Enable VMXON outside SMX operation" does mean enabling > VMX operation without executing SMX instruction GETSEC[SENTER], just as your > understanding. Usually the mainboard BIOS should have options to > enable/disable TXT feature. If TXT is enabled, then BIOS usually clear the > bit 2 of this MSR to forbiden usage of VMX before GETSEC[SENTER]; if TXT is > disabled, BIOS will set this bit to allow usage of VMX without enter SMX > environment. For hypervisors that were written before the SMX came into > being and were using VMX , the TXT should be disabled via BIOS option, > otherwise, "VMXON will cause a general-protection exception". > > Now for the second point of my post, which is just for your information. > As TXT hardware (to my knowledge) is only now becoming generally available, > I figured my experience might be of interest. I originally bought a DQ35MP > board, since it appeared to have everything necessary. Unfortunately, the > particular board I got was defective and it would take a long time to get a > new one from the supplier. So I swapped it for an Asus P5E-VM-DO board which > also has the Q35 Express chipset, TPM onboard and features the vPro logo. I > haven't started actually using TXT, so I can't say if it truly works with > this board :) However, so far I have not encountered any "show stoppers" > (such as necessary feature bits being disabled, CPU not detecting > TXT-capable chipset etc.). These are my observations so far: > > 1) BIOS menu > The board has a BIOS menu option for enabling TXT. interestingly, it has > sub-options for enabling/disabling SCHECK and SCLEAN. I haven't found much > info on SCHECK and SCLEAN in Intel's documents, so I can't say what effect > it would have to disable these modules. The menu points are grayed out, > however, and are forced set to "Enabled" when TXT is enabled. > > 2) IA32_FEATURE_CONTROL_MSR: > The lock bit (bit 0) is set by the BIOS. Bit 1 ("Enable VMXON in SMX > operation") is set to 1 but bit 2 ("Enable VMXON outside SMX operation") is > 0. All bits in the "SENTER enables" region are 1. > > 3) GETSEC[CAPABILITIES]: > An Intel TXT-capable chipset is reported to be present (bit 0 set to 1). > The following GETSEC leafs are reported to be available: ENTERACCS, EXITAC, > SENTER, SEXIT, PARAMETERS, SMCTRL and WAKEUP (this is probably more CPU- > than mainboard-specific). > > 4) Chipset registers: > LT.SINIT.BASE & LT.SINIT.SIZE appear to be set (the latter to 128K) but no > SINIT module is located at the SINIT.BASE. > > LT.HEAP.BASE is initialized and points to a valid TXT heap. BiosSinitSize > is 0, correctly indicating that the BIOS doesn't provide a SINIT AC. > > The LT.DIDVID register reports Vendor ID to be 0x8086 (Intel), DeviceID to > be 0x8081 and RevisionID to be 0x0007. This matches the chipset ID in the > BRLK_SINIT_20070910 available from the tboot sourceforge site. > > [Jimmy] from your observations, it seems tboot can work on it to setup > SMX environment and launch Xen hypervisor. Expecting your get back for the > next experiment results. :) > > Best regards, > > Martin Thiim > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > tboot-devel mailing list > tbo...@li... > https://lists.sourceforge.net/lists/listinfo/tboot-devel > > |