I have a self built system using an Intel D 920 processor and a MB that supports VT. I''m able to run HVM domains fine, but have trouble getting multiple VCPUs for these domains. Here is an example of one of my configs. # -*- mode: python; -*- #===========================================================================# Python configuration setup for ''xm create''. # This script sets the parameters used when a domain is created using ''xm create ''. # You use a separate script for each domain you want to create, or # you can set the parameters for the domain on the xm command line. #=========================================================================== import os, re arch = os.uname()[4] if re.search(''64'', arch): arch_libdir = ''lib64'' else: arch_libdir = ''lib'' #---------------------------------------------------------------------------- # Kernel image file. kernel = "/usr/lib/xen/boot/hvmloader" # The domain build function. HVM domain uses ''hvm''. builder=''hvm'' # Initial memory allocation (in megabytes) for the new domain. memory = 256 # A name for your domain. All domains must have different names. name = "windows" #----------------------------------------------------------------------------- # the number of cpus guest platform has, default=1 vcpus=2 # enable/disable HVM guest PAE, default=0 (disabled) #pae=0 # enable/disable HVM guest ACPI, default=0 (disabled) #acpi=0 # enable/disable HVM guest APIC, default=0 (disabled) #apic=0 # List of which CPUS this domain is allowed to use, default Xen picks #cpus = "" # leave to Xen to pick #cpus = "0" # all vcpus run on CPU0 #cpus = "0-3,5,^1" # run on cpus 0,2,3,5 # Optionally define mac and/or bridge for the network interfaces. # Random MACs are assigned if not given. #vif = [ ''type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0'' ] # type=ioemu specify the NIC is an ioemu device not netfront vif = [ ''type=ioemu, bridge=xenbr0'' ] #---------------------------------------------------------------------------- # Define the disk devices you want the domain to have access to, and # what you want them accessible as. # Each disk entry is of the form phy:UNAME,DEV,MODE # where UNAME is the device, DEV is the device name the domain will see, # and MODE is r for read-only, w for read-write. #disk = [ ''phy:hda1,hda1,r'' ] disk = [ ''file:/root/windows.img,ioemu:hda,w'' ] #---------------------------------------------------------------------------- # Configure the behaviour when a domain exits. There are three ''reasons'' # for a domain to stop: poweroff, reboot, and crash. For each of these you # may specify: # # "destroy", meaning that the domain is cleaned up as normal; # "restart", meaning that a new domain is started in place of the old # one; # "preserve", meaning that no clean-up is done until the domain is # manually destroyed (using xm destroy, for example); or # "rename-restart", meaning that the old domain is not cleaned up, but is # renamed and a new domain started in its place. # # The default is # # on_poweroff = ''destroy'' # on_reboot = ''restart'' # on_crash = ''restart'' # # For backwards compatibility we also support the deprecated option restart # # restart = ''onreboot'' means on_poweroff = ''destroy'' # on_reboot = ''restart'' # on_crash = ''destroy'' # # restart = ''always'' means on_poweroff = ''restart'' # on_reboot = ''restart'' # on_crash = ''restart'' # # restart = ''never'' means on_poweroff = ''destroy'' # on_reboot = ''destroy'' # on_crash = ''destroy'' #on_poweroff = ''destroy'' #on_reboot = ''restart'' #on_crash = ''restart'' #=========================================================================== # New stuff device_model = ''/usr/'' + arch_libdir + ''/xen/bin/qemu-dm'' #----------------------------------------------------------------------------- # Disk image for cdrom=''/images/xp.iso'' #----------------------------------------------------------------------------- # boot on floppy (a), hard disk (c) or CD-ROM (d) boot=''d'' #----------------------------------------------------------------------------- # write to temporary files instead of disk image files #snapshot=1 #---------------------------------------------------------------------------- # enable SDL library for graphics, default = 0 sdl=0 #---------------------------------------------------------------------------- # enable VNC library for graphics, default = 1 vnc=1 #---------------------------------------------------------------------------- # enable spawning vncviewer(only valid when vnc=1), default = 1 vncviewer=0 #---------------------------------------------------------------------------- # no graphics, use serial port #nographic=0 #---------------------------------------------------------------------------- # enable stdvga, default = 0 (use cirrus logic device model) stdvga=1 #----------------------------------------------------------------------------- # serial port re-direct to pty deivce, /dev/pts/n # then xm console or minicom can connect serial=''pty'' #---------------------------------------------------------------------------- # enable ne2000, default = 0(use pcnet) ne2000=0 #----------------------------------------------------------------------------- # enable audio support #audio=1 #----------------------------------------------------------------------------- # set the real time clock to local time [default=0 i.e. set to utc] localtime=1 #----------------------------------------------------------------------------- # start in full screen #full-screen=1 ----------------------------------------------------------------------------------------------- I''m running Xen 3.0.2-2 from the binary download. The HVM domain only sees 1 cpu and xm list displays on VCPU. Any help would be greatly appreciated. Jared _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Not sure if this will solve your problem or not, but if I understand things right, the HVM guest needs to have MP-tables (MP=multiprocessor) generated during startup (or hard-coded in BIOS), which the default build didn''t have until my colleague Travis sent some patches in a few days ago. So anything other than unstable is doesn''t have this change - it went in Wednesday (yesterday). Get the latest unstable and it should work, or .../tools/firmware/rombios/Makefile to have BIOS_BUILDS += BIOS-bochs-8-processors and change .../tools/firmware/hvmloader/Makefile to use sh ./mkhex rombios ../rombios/BIOS-bochs-8-processors > roms.h [And remove the other BIOS line, of course] -- Mats ________________________________ From: xen-users-bounces@lists.xensource.com [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of Jared Bellows Sent: 29 June 2006 18:13 To: Xen Users Subject: [Xen-users] Multiple VCPUs I have a self built system using an Intel D 920 processor and a MB that supports VT. I''m able to run HVM domains fine, but have trouble getting multiple VCPUs for these domains. Here is an example of one of my configs. # -*- mode: python; -*- #========================================================================== # Python configuration setup for ''xm create''. # This script sets the parameters used when a domain is created using ''xm create ''. # You use a separate script for each domain you want to create, or # you can set the parameters for the domain on the xm command line. #=========================================================================== import os, re arch = os.uname()[4] if re.search(''64'', arch): arch_libdir = ''lib64'' else: arch_libdir = ''lib'' #----------------------------------------------------------------------- ----- # Kernel image file. kernel = "/usr/lib/xen/boot/hvmloader" # The domain build function. HVM domain uses ''hvm''. builder=''hvm'' # Initial memory allocation (in megabytes) for the new domain. memory = 256 # A name for your domain. All domains must have different names. name = "windows" #----------------------------------------------------------------------- ------ # the number of cpus guest platform has, default=1 vcpus=2 # enable/disable HVM guest PAE, default=0 (disabled) #pae=0 # enable/disable HVM guest ACPI, default=0 (disabled) #acpi=0 # enable/disable HVM guest APIC, default=0 (disabled) #apic=0 # List of which CPUS this domain is allowed to use, default Xen picks #cpus = "" # leave to Xen to pick #cpus = "0" # all vcpus run on CPU0 #cpus = "0-3,5,^1" # run on cpus 0,2,3,5 # Optionally define mac and/or bridge for the network interfaces. # Random MACs are assigned if not given. #vif = [ ''type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0'' ] # type=ioemu specify the NIC is an ioemu device not netfront vif = [ ''type=ioemu, bridge=xenbr0'' ] #----------------------------------------------------------------------- ----- # Define the disk devices you want the domain to have access to, and # what you want them accessible as. # Each disk entry is of the form phy:UNAME,DEV,MODE # where UNAME is the device, DEV is the device name the domain will see, # and MODE is r for read-only, w for read-write. #disk = [ ''phy:hda1,hda1,r'' ] disk = [ ''file:/root/windows.img,ioemu:hda,w'' ] #----------------------------------------------------------------------- ----- # Configure the behaviour when a domain exits. There are three ''reasons'' # for a domain to stop: poweroff, reboot, and crash. For each of these you # may specify: # # "destroy", meaning that the domain is cleaned up as normal; # "restart", meaning that a new domain is started in place of the old # one; # "preserve", meaning that no clean-up is done until the domain is # manually destroyed (using xm destroy, for example); or # "rename-restart", meaning that the old domain is not cleaned up, but is # renamed and a new domain started in its place. # # The default is # # on_poweroff = ''destroy'' # on_reboot = ''restart'' # on_crash = ''restart'' # # For backwards compatibility we also support the deprecated option restart # # restart = ''onreboot'' means on_poweroff = ''destroy'' # on_reboot = ''restart'' # on_crash = ''destroy'' # # restart = ''always'' means on_poweroff = ''restart'' # on_reboot = ''restart'' # on_crash = ''restart'' # # restart = ''never'' means on_poweroff = ''destroy'' # on_reboot = ''destroy'' # on_crash = ''destroy'' #on_poweroff = ''destroy'' #on_reboot = ''restart'' #on_crash = ''restart'' #========================================================================== # New stuff device_model = ''/usr/'' + arch_libdir + ''/xen/bin/qemu-dm'' #----------------------------------------------------------------------- ------ # Disk image for cdrom=''/images/xp.iso'' #----------------------------------------------------------------------- ------ # boot on floppy (a), hard disk (c) or CD-ROM (d) boot=''d'' #----------------------------------------------------------------------- ------ # write to temporary files instead of disk image files #snapshot=1 #----------------------------------------------------------------------- ----- # enable SDL library for graphics, default = 0 sdl=0 #----------------------------------------------------------------------- ----- # enable VNC library for graphics, default = 1 vnc=1 #----------------------------------------------------------------------- ----- # enable spawning vncviewer(only valid when vnc=1), default = 1 vncviewer=0 #----------------------------------------------------------------------- ----- # no graphics, use serial port #nographic=0 #----------------------------------------------------------------------- ----- # enable stdvga, default = 0 (use cirrus logic device model) stdvga=1 #----------------------------------------------------------------------- ------ # serial port re-direct to pty deivce, /dev/pts/n # then xm console or minicom can connect serial=''pty'' #----------------------------------------------------------------------- ----- # enable ne2000, default = 0(use pcnet) ne2000=0 #----------------------------------------------------------------------- ------ # enable audio support #audio=1 #----------------------------------------------------------------------- ------ # set the real time clock to local time [default=0 i.e. set to utc] localtime=1 #----------------------------------------------------------------------- ------ # start in full screen #full-screen=1 ------------------------------------------------------------------------ ----------------------- I''m running Xen 3.0.2-2 from the binary download. The HVM domain only sees 1 cpu and xm list displays on VCPU. Any help would be greatly appreciated. Jared _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Petersson, Mats wrote:> Not sure if this will solve your problem or not, but if I > understand things right, the HVM guest needs to have > MP-tables (MP=multiprocessor) generated during startup (or > hard-coded in BIOS), which the default build didn''t have > until my colleague Travis sent some patches in a few days > ago. So anything other than unstable is doesn''t have this > change - it went in Wednesday (yesterday). > > Get the latest unstable and it should work, or > .../tools/firmware/rombios/Makefile to have > BIOS_BUILDS += BIOS-bochs-8-processors > > and change .../tools/firmware/hvmloader/Makefile to use > > sh ./mkhex rombios ../rombios/BIOS-bochs-8-processors > roms.h > > [And remove the other BIOS line, of course] > > > From: xen-users-bounces@lists.xensource.com > > [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of Jared > > Bellows Sent: 29 June 2006 18:13 > > To: Xen Users > > Subject: [Xen-users] Multiple VCPUs > > > > > > I have a self built system using an Intel D 920 > > processor and a MB that supports VT. I''m able to run HVM > > domains fine, but have trouble getting multiple VCPUs for > > these domains. Here is an example of one of my configs. > > > > ... > > > > I''m running Xen 3.0.2-2 from the binary download. The > > HVM domain only sees 1 cpu and xm list displays on VCPU. > >This is the main reason I submitted this patch. Before my change, the firmware had to be rebuilt specifically for the processor configuration. First, for SMP you''ll need to enable the apic in your hvmbuilder config and maybe acpi also. This may be the only thing getting in the way of a working SMP guest. Second, like Mats said, you may need firmware with MP tables built into it. Some older OS''s rely upon these tables. I would suggest building the ROMBIOS that matches the number of VCPUs you want (e.g. BIOS-bochs-2-processors for 2 VCPUs). If you do this, you will need the xen source, but you won''t need to build everything, just the HVM firmware. You''ll need the dev86 package (or bcc if your a debian user) to build the firmware. Also, if you perform this step, make sure the source is pre-changeset-10520 because the firmware created by my patch isn''t compatible with older xen binaries. If you dare, you can download the get the latest xen-unstable (at least c/s 10520 with my dynamic mp table patch) and build xen from scratch. This way, all you need to do is enable apic and maybe acpi in the hvmbuilder config; the firmware should take care of itself. Of course this is the unstable tree so it may or may not work depending on the planets alignment ;) All these steps probably sound a little discouraging. I hope this helps you out a little. --travis _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
On 6/29/06, Betak, Travis <travis.betak@amd.com> wrote:> > Petersson, Mats wrote: > > Not sure if this will solve your problem or not, but if I > > understand things right, the HVM guest needs to have > > MP-tables (MP=multiprocessor) generated during startup (or > > hard-coded in BIOS), which the default build didn''t have > > until my colleague Travis sent some patches in a few days > > ago. So anything other than unstable is doesn''t have this > > change - it went in Wednesday (yesterday). > > > > Get the latest unstable and it should work, or > > .../tools/firmware/rombios/Makefile to have > > BIOS_BUILDS += BIOS-bochs-8-processors > > > > and change .../tools/firmware/hvmloader/Makefile to use > > > > sh ./mkhex rombios ../rombios/BIOS-bochs-8-processors > roms.h > > > > [And remove the other BIOS line, of course] > > > > > From: xen-users-bounces@lists.xensource.com > > > [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of Jared > > > Bellows Sent: 29 June 2006 18:13 > > > To: Xen Users > > > Subject: [Xen-users] Multiple VCPUs > > > > > > > > > I have a self built system using an Intel D 920 > > > processor and a MB that supports VT. I''m able to run HVM > > > domains fine, but have trouble getting multiple VCPUs for > > > these domains. Here is an example of one of my configs. > > > > > > ... > > > > > > I''m running Xen 3.0.2-2 from the binary download. The > > > HVM domain only sees 1 cpu and xm list displays on VCPU. > > > > > This is the main reason I submitted this patch. Before my > change, the firmware had to be rebuilt specifically for > the processor configuration. > > First, for SMP you''ll need to enable the apic in your > hvmbuilder config and maybe acpi also. This may be the only > thing getting in the way of a working SMP guest. > > Second, like Mats said, you may need firmware with MP > tables built into it. Some older OS''s rely upon these > tables. I would suggest building the ROMBIOS that matches > the number of VCPUs you want (e.g. BIOS-bochs-2-processors > for 2 VCPUs). If you do this, you will need the xen > source, but you won''t need to build everything, just the > HVM firmware. You''ll need the dev86 package (or bcc if > your a debian user) to build the firmware. Also, if you > perform this step, make sure the source is > pre-changeset-10520 because the firmware created by my > patch isn''t compatible with older xen binaries. > > If you dare, you can download the get the latest xen-unstable > (at least c/s 10520 with my dynamic mp table patch) > and build xen from scratch. This way, all you need to > do is enable apic and maybe acpi in the hvmbuilder config; > the firmware should take care of itself. Of course this > is the unstable tree so it may or may not work depending > on the planets alignment ;) > > All these steps probably sound a little discouraging. > I hope this helps you out a little. > > --travis > > >I opted to use the 3.0.2-2 source code to recompile the HVM firmware. When the domain boots it now says 2 processors in the BIOS boot. xm list still only displays 1 VCPU for the HVM domain and I''m unable to get an OS to boot (both Linux and Windows) with the new HVM firmware. I tried all iterations of acpi and apic. I''m thinking of trying the 3.0-testing in hopes that it might fix the problem and have more stability than unstable. If you have any other ideas, I''d be happy to hear them. Thanks for your help thus far. _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
On 6/30/06, Jared Bellows <xen@thebellows.info> wrote:> > On 6/29/06, Betak, Travis <travis.betak@amd.com> wrote: > > > > Petersson, Mats wrote: > > > Not sure if this will solve your problem or not, but if I > > > understand things right, the HVM guest needs to have > > > MP-tables (MP=multiprocessor) generated during startup (or > > > hard-coded in BIOS), which the default build didn''t have > > > until my colleague Travis sent some patches in a few days > > > ago. So anything other than unstable is doesn''t have this > > > change - it went in Wednesday (yesterday). > > > > > > Get the latest unstable and it should work, or > > > .../tools/firmware/rombios/Makefile to have > > > BIOS_BUILDS += BIOS-bochs-8-processors > > > > > > and change .../tools/firmware/hvmloader/Makefile to use > > > > > > sh ./mkhex rombios ../rombios/BIOS-bochs-8-processors > roms.h > > > > > > [And remove the other BIOS line, of course] > > > > > > > From: xen-users-bounces@lists.xensource.com > > > > [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of Jared > > > > Bellows Sent: 29 June 2006 18:13 > > > > To: Xen Users > > > > Subject: [Xen-users] Multiple VCPUs > > > > > > > > > > > > I have a self built system using an Intel D 920 > > > > processor and a MB that supports VT. I''m able to run HVM > > > > domains fine, but have trouble getting multiple VCPUs for > > > > these domains. Here is an example of one of my configs. > > > > > > > > ... > > > > > > > > I''m running Xen 3.0.2-2 from the binary download. The > > > > HVM domain only sees 1 cpu and xm list displays on VCPU. > > > > > > > > This is the main reason I submitted this patch. Before my > > change, the firmware had to be rebuilt specifically for > > the processor configuration. > > > > First, for SMP you''ll need to enable the apic in your > > hvmbuilder config and maybe acpi also. This may be the only > > thing getting in the way of a working SMP guest. > > > > Second, like Mats said, you may need firmware with MP > > tables built into it. Some older OS''s rely upon these > > tables. I would suggest building the ROMBIOS that matches > > the number of VCPUs you want (e.g. BIOS-bochs-2-processors > > for 2 VCPUs). If you do this, you will need the xen > > source, but you won''t need to build everything, just the > > HVM firmware. You''ll need the dev86 package (or bcc if > > your a debian user) to build the firmware. Also, if you > > perform this step, make sure the source is > > pre-changeset-10520 because the firmware created by my > > patch isn''t compatible with older xen binaries. > > > > If you dare, you can download the get the latest xen-unstable > > (at least c/s 10520 with my dynamic mp table patch) > > and build xen from scratch. This way, all you need to > > do is enable apic and maybe acpi in the hvmbuilder config; > > the firmware should take care of itself. Of course this > > is the unstable tree so it may or may not work depending > > on the planets alignment ;) > > > > All these steps probably sound a little discouraging. > > I hope this helps you out a little. > > > > --travis > > > > > > > I opted to use the 3.0.2-2 source code to recompile the HVM firmware. > When the domain boots it now says 2 processors in the BIOS boot. xm list > still only displays 1 VCPU for the HVM domain and I''m unable to get an OS to > boot (both Linux and Windows) with the new HVM firmware. I tried all > iterations of acpi and apic. > > I''m thinking of trying the 3.0-testing in hopes that it might fix the > problem and have more stability than unstable. If you have any other ideas, > I''d be happy to hear them. Thanks for your help thus far. > >Using 3.0-testing worked. My HVM domains now have 2 VCPUs. I had to recompile the HVM firmware with the BIOS-bochs-2-processors as mentioned by Travis and Mats. APIC also needs to be enabled. I have ACPI disabled. Thanks for your help Travis and Mats. _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
On 6/30/06, Jared Bellows <xen@thebellows.info> wrote:> > On 6/29/06, Betak, Travis <travis.betak@amd.com> wrote: > > > > Petersson, Mats wrote: > > > Not sure if this will solve your problem or not, but if I > > > understand things right, the HVM guest needs to have > > > MP-tables (MP=multiprocessor) generated during startup (or > > > hard-coded in BIOS), which the default build didn''t have > > > until my colleague Travis sent some patches in a few days > > > ago. So anything other than unstable is doesn''t have this > > > change - it went in Wednesday (yesterday). > > > > > > Get the latest unstable and it should work, or > > > .../tools/firmware/rombios/Makefile to have > > > BIOS_BUILDS += BIOS-bochs-8-processors > > > > > > and change .../tools/firmware/hvmloader/Makefile to use > > > > > > sh ./mkhex rombios ../rombios/BIOS-bochs-8-processors > roms.h > > > > > > [And remove the other BIOS line, of course] > > > > > > > From: xen-users-bounces@lists.xensource.com > > > > [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of Jared > > > > Bellows Sent: 29 June 2006 18:13 > > > > To: Xen Users > > > > Subject: [Xen-users] Multiple VCPUs > > > > > > > > > > > > I have a self built system using an Intel D 920 > > > > processor and a MB that supports VT. I''m able to run HVM > > > > domains fine, but have trouble getting multiple VCPUs for > > > > these domains. Here is an example of one of my configs. > > > > > > > > ... > > > > > > > > I''m running Xen 3.0.2-2 from the binary download. The > > > > HVM domain only sees 1 cpu and xm list displays on VCPU. > > > > > > > > This is the main reason I submitted this patch. Before my > > change, the firmware had to be rebuilt specifically for > > the processor configuration. > > > > First, for SMP you''ll need to enable the apic in your > > hvmbuilder config and maybe acpi also. This may be the only > > thing getting in the way of a working SMP guest. > > > > Second, like Mats said, you may need firmware with MP > > tables built into it. Some older OS''s rely upon these > > tables. I would suggest building the ROMBIOS that matches > > the number of VCPUs you want (e.g. BIOS-bochs-2-processors > > for 2 VCPUs). If you do this, you will need the xen > > source, but you won''t need to build everything, just the > > HVM firmware. You''ll need the dev86 package (or bcc if > > your a debian user) to build the firmware. Also, if you > > perform this step, make sure the source is > > pre-changeset-10520 because the firmware created by my > > patch isn''t compatible with older xen binaries. > > > > If you dare, you can download the get the latest xen-unstable > > (at least c/s 10520 with my dynamic mp table patch) > > and build xen from scratch. This way, all you need to > > do is enable apic and maybe acpi in the hvmbuilder config; > > the firmware should take care of itself. Of course this > > is the unstable tree so it may or may not work depending > > on the planets alignment ;) > > > > All these steps probably sound a little discouraging. > > I hope this helps you out a little. > > > > --travis > > > > > > > I opted to use the 3.0.2-2 source code to recompile the HVM firmware. > When the domain boots it now says 2 processors in the BIOS boot. xm list > still only displays 1 VCPU for the HVM domain and I''m unable to get an OS to > boot (both Linux and Windows) with the new HVM firmware. I tried all > iterations of acpi and apic. > > I''m thinking of trying the 3.0-testing in hopes that it might fix the > problem and have more stability than unstable. If you have any other ideas, > I''d be happy to hear them. Thanks for your help thus far. > >Using 3.0-testing worked. My HVM domains now have 2 VCPUs. I had to recompile the HVM firmware with the BIOS-bochs-2-processors as mentioned by Travis and Mats. APIC also needs to be enabled. I have ACPI disabled. Thanks for your help Travis and Mats. _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users