> On Mon, May 20, 2013 at 8:59 PM, Theo de Raadt <dera...@cvs.openbsd.org> 
> wrote:
> >> On Mon, May 20, 2013 at 8:42 PM, Mike Larkin <mlar...@azathoth.net> wrote:
> >> > On Mon, May 20, 2013 at 05:11:35PM +0000, Alexey E. Suslikov wrote:
> >> >> Theo de Raadt <deraadt <at> cvs.openbsd.org> writes:
> >> >>
> >> >> > If these VM's are real VM's the should start emulating the machines
> >> >> > they claim to be emulating correctly, or they should start advertising
> >> >> > that they are something "different", so that we can isolate the 
> >> >> > bullshit
> >> >> > factor.
> >> >>
> >> >> Ok. I see.
> >> >>
> >> >> Could we trim that down to the following?
> >> >>
> >> >> --- sys/arch/amd64/amd64/identcpu.c.orig      Mon May 20 19:58:06 2013
> >> >> +++ sys/arch/amd64/amd64/identcpu.c   Mon May 20 20:01:08 2013
> >> >> @@ -127,6 +127,7 @@
> >> >>       { CPUIDECX_AVX,         "AVX" },
> >> >>       { CPUIDECX_F16C,        "F16C" },
> >> >>       { CPUIDECX_RDRAND,      "RDRAND" },
> >> >> +     { CPUIDECX_HV,  "HV" },
> >> >>  }, cpu_ecpuid_ecxfeatures[] = {
> >> >>       { CPUIDECX_LAHF,        "LAHF" },
> >> >>       { CPUIDECX_CMPLEG,      "CMPLEG" },
> >> >> --- sys/arch/amd64/include/specialreg.h.orig  Mon May 20 20:01:56 2013
> >> >> +++ sys/arch/amd64/include/specialreg.h       Mon May 20 20:06:09 2013
> >> >> @@ -158,6 +158,7 @@
> >> >>  #define      CPUIDECX_AVX    0x10000000      /* Advanced Vector 
> >> >> Extensions */
> >> >>  #define      CPUIDECX_F16C   0x20000000      /* 16bit fp conversion  */
> >> >>  #define      CPUIDECX_RDRAND 0x40000000      /* RDRAND instruction  */
> >> >> +#define      CPUIDECX_HV     0x80000000              /* Hypervisor 
> >> >> presence */
> >> >>
> >> >>  /*
> >> >>   * "Structured Extended Feature Flags Parameters" (CPUID function 0x7, 
> >> >> leaf 0)
> >> >>
> >> >
> >> > That's certainly less objectionable but I'm not sure what useful 
> >> > information
> >> > this diff provides.
> >>
> >> Seen in dmesg, HV flag will indicate operating system is run under 
> >> hypervisor
> >> and weird things are possible while running kernel code which depends on 
> >> CPU
> >> features.
> >>
> >> After all, it is kinda documented by AMD on page 570 of
> >> http://support.amd.com/us/Processor_TechDocs/24594_APM_v3.pdf
> >>
> >> (AMD named it RAZ, but I put meaningful name like in FreeBSD - should we
> >> put a reference to above mentioned document near the define?).
> >
> > Your statements here are trying to convince us of something which is
> > false.
> >
> > AMD says "RAZ.  Reserved for use by hypervisor to indicate guest status."
> >
> > That sentence does not translate to "The hypervisor is heavily broken
> > and fails to completely emulate the machine otherwise advertised by
> > the rest of the CPUID fields".
> >
> > It does not indicate that weird things are possible.  If those weird
> > things are possible, it is not because the hardware is broken, but
> > because the *emulation of the hardware* by the VM is broken!
> 
> You misunderstood my point.
> 
> I'm not trying to convince, but avoid useless work/talk in the future:

Yes you are.  You have an agenda.

You want to make us work around a bug, rather than talk to the
originators of the problem.

Reply via email to