Devs: Guest CPU details please?

Discussion in 'Parallels Desktop for Mac' started by philic1013, Oct 1, 2006.

  1. philic1013

    philic1013 Bit poster

    Messages:
    3
    I'm trying to figure out what cpu my linux guest is seeing. cpuid gives me fam/mod/step 6/6/5 which doesn't match up with the flags sse2, pni/sse3 etc... that it's also showing me. Can you provide some more information on what CPU the guest os is using? I can't seem to find enough information to set reasonable arch and cflags.
     
  2. unused_user_name

    unused_user_name Pro

    Messages:
    495
    I can't speak for the Parallels dev team... but here is what my Windows VM thinks the CPU is:

    [​IMG]
     
  3. auratus

    auratus Member

    Messages:
    20
    From my FreeBSD dmesg at boot:


    FreeBSD 6.1-RELEASE #0: Sun May 7 04:32:43 UTC 2006
    root@opus.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
    Timecounter "i8254" frequency 1193182 Hz quality 0
    CPU: Intel(R) Xeon(R) CPU 5150 @ 2.66GHz (2657.48-MHz 686-class CPU)
    Origin = "GenuineIntel" Id = 0x665 Stepping = 5
    Features=0xf80b9b9<FPU,PSE,TSC,MSR,MCE,CX8,SEP,MTRR,PGE,CMOV,MMX,FXSR,SSE,SSE2
    ,SS>
    Features2=0x1<SSE3>

    That's running Parallels 1920 on my MacPro 2.66.
     
  4. philic1013

    philic1013 Bit poster

    Messages:
    3
    Exactly my confusion. The model/family/stepping indicates an old celeron, yet the flags that it supports, sse2/3 etc, are much newer. I have read that people are using pentium prescott settings, as it's the closest to what the core duo chips are, but I'm not sure if that's the best to use, since there's plenty about a prescott that's not showing up in my cpuid flags.
     
  5. unused_user_name

    unused_user_name Pro

    Messages:
    495
    The processor is being virtualized instead of emulated by Parallels. For the non-geek this means that the processor has hardware level support for virtual machines, which Parallels is using. This lets the VM run directly on the real hardware processor with some limitations so that it can not take over the real machine. I would expect that Parallels is feeding VM's fake information about stepping/model and family so that the VM does not try to use energy-saving features of the processor that it isn't allowed to us in virtulized mode. I would also expect that Parallels lets the VM know about all the extra registers and instructions that are in the processor that is IS allowed to use, hence the funky combination of flags.

    For core1 processors, I would go with the core solo version of whatever processor is actually in the Mac you are using. This list may be of use to you. Its a conversion from the "marketing speak" of Intel to their actual model numbers.

    Here is that same list for core2 processors. I'm not sure what to do with these, as there is no core solo versions.

    For Mac Pros, tell the compilers that you are running a single Xeon of whatever chip is in there.

    Of course, if (maybe when) Parallels get multiprocessor support within a VM working then this will all change.

    Important: If you intend to move your VM from one Mac to another then next make sure to compile for generic i686. (i.e. Pentium 4) I could see some program compiled for a Xeon Macpro that wouldnt run on a Core 1 Macbook.

    Of course, I could be wrong. My work is with the OS side of things. Apply salt as needed.
     

Share This Page