On IA32 host or IA32 PAE host, at present, generally, we can't create
an HVM guest with more than 2G memory, because generally it's almost
impossible for Qemu to find a large enough and consecutive virtual
address space to map an HVM guest's whole physical address space.
The attached patch fixes this issue using dynamic mapping based on
little blocks of memory.
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
It implements all registers necessary to make the Linux TIS driver
work (tpm_tis.c). All of the basic registers supported by this type of
device are implemented. Also the locality selection has been
implemented, but has not been tested. The legacy registers as
described in the specification are not supported.
Current caveat: The device has so far not yet been integrated with the
virtual TPM available in the repository. It will require changes to
the virtual TPM spawned by the vTPM manager to offer an additional message
interface. The TIS interface itself then needs to have an additional
transport implemented. (see vTPMTransmit array).
The relevant specification for the device model can be found here:
https://www.trustedcomputinggroup.org/groups/pc_client/TCG_PCClientTPMSpecification_1-20_1-00_FINAL.pdf
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
- detect what types of devices a domain has or whether a domain has a
device of a certain type
- read the content of a variable related to a device, i.e.,
hotplug-status
- subscribe to changes of the hotplug status of a device for not
having to poll the status
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
that the VNC server from qemu listens on.
Defaults to only listen on 127.0.0.1
The old behaviour (listen on all interfaces) can be restored, by
- changing the system-wide default in /etc/xen/xend-config.sxp by adding:
(vnc-listen '0.0.0.0')
- changing individual domain config files by adding:
vnclisten="0.0.0.0"
Also allows specifying the hostname associated with an interface to limit
to that interface.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
The rombios supports trying to boot from more than one device and then
falling back. Set 'boot=dc' in your config file to try booting first
from the CD and then the hard drive.
Based on a patch from: Jeremy Katz <katzj@redhat.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
Changes are:
1) M2P table and e820 table are changed to skip address space from
HVM_RAM_LIMIT_BELOW_4G to 4G.
2) shared io page location, when less than HVM_RAM_LIMIT_BELOW_4G
memory, it's the last page of RAM as today, or it's the last page of
HVM_RAM_LIMIT_BELOW_4G RAM.
3) in qemu-dm address space from HVM_RAM_LIMIT_BELOW_4G to 4G are
stuffed with mfns starting from 4G, so the 1:1 mapping can still works.
This is ugly, but another limit check patch as changeset 10757 will
prevent qemu-dm to access this range. This ugly stuffing will be
removed when the patch to remove 1:1 mapping from qemu-dm gets accepted
in the future.
Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
If the port used for the requested display number is in use, try
additional ports until a free port is found.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
VNC client may reset color depth after connection, so if we don't
re-calculate color_table, monitor/console's background is abnormal.
Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
- add vncviewer option to qemu-dm to spawn a vncviewer process.
- add the `vncconsole' config parameter which enables qemu-dm's vncviewer
option.
Based on a patch from: Don Dugger <donald.d.dugger@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
device model. To support USB there are two new optional config lines
that can be added to the guest config file:
usb=1
This will enable USB without defining a specific USB device.
This option is assumed and not needed if the `usbdevice' option
is given.
usbdevice='device'
This will enable USB and also enable support for the given device.
Currently, the only two devices are `mouse' (a PS/2 mouse) and
`tablet' (an absolute pointing device). The advantage of `tablet'
is that Windows guests will automatically recognize and support this
device so specifying the config line:
usbdevice='tablet'
will create a mouse that works transparently with Windows guests
under VNC. (Linux doesn't recognize the USB tablet yet so Linux
guests under VNC will still need the Summagraphics emulation.)
Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
qemu will emulate up to 4 serial lines (COM1 - COM4). One of these
lines supports a Summagraphics protocol. This has changed recently,
and it's now always COM2. This patch allows the user to specify
to qemu which lines should be serial lines, and the code will place
the Summagraphics compatible line at just above the last specified
serial line. qemu defaults serial line 0 (COM1) to be "vc", resulting
in the Summagraphics support residing on COM2. This is in keeping
with the current behavior.
The results, via qemu command line, are:
<none> COM2
-serial x COM2
-serial x -serial x COM3
-serial x -serial x -serial x COM4
-serial x -serial x -serial x -serial x <none>
The results are deterministic, and allow the use of up to 4 serial
lines including none with Summagraphics support. There is no
change from current behavior, unless requested.
Signed-off-by: Ben Thomas <ben@virtualiron.com>
There are some usage scenarios in which differing user domains want
to be using different base TOD clocks. This patch adds the ability
to specify the base TOD time difference. The patch also adds a
hook point to notify another entity when the domain changes this
offset. This might occur, for instance, on a Linux domain using
hwclock -w.
Signed-off-by: Ben Thomas <ben@virtualiron.com>
1) Move the tablet to the second serial port. This way the tablet will
not interfere with people who want to use a serial console on the guest.
2) Enhance the Summagraphics emulation so that the Windows XP driver
works. Turns out the Windows driver was using capabilities the X driver
didn't care about and it wouldn't recognize the tablet without these
capabilities.
Signed-off-by: donald.d.dugger@intel.com
is unusable under VNC since a PS/2 mouse provides deltas while VNC only
provides absolute coordinates. Fortunately, the Summagraphics Tablet provides
absolute coordinates and works perfectly with VNC.
Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
platform, it includes:
1) One fix on xc_vmx_build.c
2) Change ram_size/phys_ram_size in qemu from int to uint64_t
3) One fix on pcnet unsigned short to unsigned long conversion.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Xin Li <xin.b.li@intel.com>
On slow network, when creating a vmx guest remotely,
the key repeat feature may make it hard to even type
the user name and password to login in to guest OS.
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
[PATCH] Device model cleanup.
Device model cleanup.
- Single config file for xen and device models
(Shell script doesn't source xmdefconfig anymore)
- No more device-model shell script by default. You can
have one if needed (qemu-dm.debug)
- All logic in the script device-model is moved to python
- $DISPLAY is passed from xm to xend
- Don't fork vncviewer on dryruns
- Add support for killing device models on domain destroy
- info vmxiopage command added to the monitor
- Refactor shared io page into global and per vcpu state
- Remove the hard coding of IOPACKET_PORT
- move the virtual_platform_def up to domain struct from vcpu
- xm create -n:
(vm
(name ExampleVMXDomain)
(memory 128)
(ssidref -1)
(image
(vmx
(kernel /usr/lib/xen/boot/vmxloader)
(root '/dev/hda1 ro')
(vcpus 1)
)
)
(memmap )
(device_model /tmp/foo)
(hda /var/images/min-el3-i386.img)
(hdb )
(hdc )
(hdd )
(cdrom )
(boot c)
(fda )
(fdb )
(localtime 0)
(serial )
(macaddr )
(stdvga 0)
(isa 0)
(nographic 0)
(vnc 0)
(sdl 0)
(display localhost:10.0)
)
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
better support for vnc in qemu device model:
- different ports for different VMs
- allow reverse connect to a running viewer
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@intel.com>