Commit Graph
103 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk a6f63cebf1 Set up fully-virtualised RTC time zone default to local
time (not UTC).

Signed-off-by: Winston Wang <winston.l.wang@intel.com>
2005-11-18 12:42:59 +01:00
kaf24@firebug.cl.cam.ac.uk 21b4e1c2a6 Previous changeset trivially broke ioemu/helper2.c. Fix it.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-15 11:36:44 +01:00
kaf24@firebug.cl.cam.ac.uk b4c25d2787 This patch fixed keyboard issue for linux kernel 2.6 in vmx guest.
linux 2.6 kernel keyboard use a timer to poll the kbd state,in
virtualization environment,the kbd interrupt injection is very likely
to happend just after kbd state query in the kbd timer and thus 
will reverse sequence of scan code.
Also fix env->send_event SMP issue.

Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
Signed-off-by: Edwin Zhai<edwin.zhai@intel.com>
Signed-off-by: Eddion Dong <eddie.dong@intel.com>
Signed-off-by: Asit Mallick <asit.k.mallick@intel.com>
2005-11-15 11:34:29 +01:00
kaf24@firebug.cl.cam.ac.uk 48e6b24e8b Trivial Makefile cleanup for ioemu. 2005-11-14 11:11:11 +01:00
kaf24@firebug.cl.cam.ac.uk f8e8438eef Remove unnecessary NULL checks before freeing memory blocks.
The following functions check for NULL internally:
 free, kfree, xfree, free_xenheap_page[s]

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-11 12:55:47 +01:00
Xiaofeng Ling 05fbb602ad This patch use same expression as vif for vmx guest but has a distinguish "type=ioemu"
just like block device.
e.g. vif=['type=ioemu, mac=01:00:00:00:00:33, bridge=xenbr0']
type=ioemu to specify for vmx NIC device.
nics=4 can specify 4 vmx NIC now.
bridge is passed to device model now.
With this patch, the error
"Error: Device 0 (vif) could not be connected."
will not happen for creating vmx guest
currently, it happens on some linux distribution.

Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
2005-11-10 17:07:13 +01:00
kaf24@firebug.cl.cam.ac.uk a3dde685e8 Enable xm console for vmx guest.
When the serial port is redirect to pty, write the allocated
device to xenstore, then xm console can get it.
TODO:serial port by pty shall not block if there are no reading
on the other end

Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
2005-11-10 12:04:29 +01:00
kaf24@firebug.cl.cam.ac.uk e7570f0014 Support recent change moving virtual IOAPIC model into Xen for
ia64/VTI. Now ia64/vti will create links to arch/x86/dm/vmx_vioapic.c
and include/x86/vmx_vlapic.h.

Firstly, a small change to common virtual IOAPIC model to be used by
both sides. Also some compilation fix to tools is included in first
one. Secondly, there are ia64-specific changes to hook to common
IOAPIC model.

Based on this patch upon latest xen-ia64-unstable tip, we can see
multiple domains working again on XEN/IA64, including both domU and
VTI domain simultaneously in run-time.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
Signed-off-by Anthony Xu <Anthony.xu@intel.com>
Signed-off-by Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by Eddie Dong <eddie.dong@intel.com>
2005-11-09 14:53:12 +01:00
kaf24@firebug.cl.cam.ac.uk d5f66cab6a This patch remove the obsolete ioapic code on qemu device model side.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
2005-11-07 16:37:58 +01:00
kaf24@firebug.cl.cam.ac.uk d24d3ad461 This patch is intended to make qemu support ia64/vti. We have validated
it against latest xen-unstable.hg, both ia32 and x86-64 are not
affected.

Signed-off-by Ke Yu <ke.yu@intel.com>
Signed-off-by Kevin Tian <kevin.tian@intel.com>
Signed-off-by Nakajima Jun <nakajima.jun@intel.com>
Signed-off-by Anthony Xu <anthony.xu@intel.com>
2005-11-05 11:30:01 +01:00
kaf24@firebug.cl.cam.ac.uk eb320ac262 This patch is to remove the pit_timer when the vmx domain is
inactive to save HV external IRQ caused by ac_time and some cleanup for
ioapic in HV.
Thx,eddie

Signed-off-by: Eddie Dong <eddie.dong@intel.com>
2005-11-05 11:26:29 +01:00
kaf24@firebug.cl.cam.ac.uk 215f35f5c1 This is a fix for some device model corner cases including:
1: mistake sequence of set/clr to virtual IRQ line.
 2: wrong sequence of IRQ request clear
 3: Add one more place to enable_irq_window.

Signed-off-by: Eddie Dong <eddie.dong@intel.com>
2005-11-04 11:08:45 +01:00
emellor@leeni.uk.xensource.com 07237aa4f3 Merged. 2005-10-30 19:23:36 +01:00
kaf24@firebug.cl.cam.ac.uk 0bc575ba3a This patch is to fix the NIC driven mechanism to make it event
driven. We will also send it to Qemu mailing list.

Signed-off-by: Eddie Dong <eddie.dong@intel.com>
2005-10-30 16:47:59 +01:00
emellor@leeni.uk.xensource.com 302aa2f721 Added -lpthread to qemu-dm link line, in order to compile even without SDL
installed.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-10-30 16:35:06 +01:00
kaf24@firebug.cl.cam.ac.uk ac266cafda Originally in qemu when a IDE dma transfer is started which is triggered
by access to 0xc000 port in VMX, qemu will blocked there until it
finished. And during that block, there are extra dom switches between
dom0 and idle domain, and VMX can't be resumed. By making real IDE dma
tranfer run in another thread, qemu will return and VMX resume on time
and there are fewer cycle wasted.

Signed-off-by: Ke Yu <ke.yu@intel.com>
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
2005-10-27 17:29:39 +01:00
kaf24@firebug.cl.cam.ac.uk 3f450621b6 This is a follow up of PIC device model by Xiaofeng and me to move to
hypervisor using virtual weired interrupt line.  With this patch the
performance of CPU2K improves 7%, kernel kuild improves 14% and
cyclesoak improves 12%. It is quite amazing!

Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
2005-10-21 18:29:26 +01:00
kaf24@firebug.cl.cam.ac.uk 35658f8da5 Update one file from qemu 0.71 for Cirrus Logic VGA device model.
Using the older device model running pinball game on windows with
full screen can cause guest crash.

Signed-off-by: yunhong.jiang@intel.com
2005-10-21 10:24:35 +01:00
kaf24@firebug.cl.cam.ac.uk 9f202a0633 Send special keys that your graphical user interface intercepts at
low level, such as ctrl-alt-del in X Window.

Adds a command "sendkey" to deal with it in the monitor, you
can send keys to the vm. Use - to press several keys simultaneously.
Example:
sendkey ctrl-alt-f1

Signed-off-by:      Dan Xu <dan.d.xu@intel.com>
Signed-off-by:      Zhai, Edwin <edwin.zhai@intel.com>
Signed-off-by:      Xiaofeng Ling <xiaofeng.ling@intel.com>
2005-10-21 10:20:38 +01:00
kaf24@firebug.cl.cam.ac.uk 5aa6b4306e Turn off some debug switches by default
These macros cause extra prints in /var/log/xend-debug, and
affect the performance.
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
2005-10-21 10:17:29 +01:00
kaf24@firebug.cl.cam.ac.uk 8169ff8c95 disable bogus touchpad device model, which cause annoying dmesg on 2.6 kernel
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
2005-10-20 11:52:27 +01:00
emellor@leeni.uk.xensource.com a77149f8e4 New network-bridge script and associated gubbins.
This is Kurt Garloff's reworked network-bridge script:

* we got rid of ifconfig
* it works for netdev != eth0
* arp on and off are symmetric as are ifdown and ifup
* ifup will be passed the ifcfg config file name if needed
  (the ifup may otherwise figure that the veth0 hardware is
   NOT the same as the original ${netdev} and not use the same
   config -- this happens on SUSE. Charles Coffing tracked this
   one down.)

Plus Kurt's avoid-dash patch:

the network setup scripts on SUSE have trouble with the bridge
name xen-br0; they don't expect the '-'.
Arguably this should be fixed.
But I assume there's more scripts out there which may not like it,
so I suggest the following patch to rename xen-br0 to xenbr0.

Plus Charles Duffy's patch to support multiple bridges:

The attached patch allows the network-bridge script to be used to
generate multiple bridges corresponding to different physical
interfaces. It adds a new parameter, "vifnum", used to refer both to
the loopback interface to be used and to set defaults regarding the
physical interface and bridge name.

Thus, if one wishes to start xenbr0 on eth0 and xenbr1 on eth1, one
need only call:

network-bridge start ## vifnum is 0 by default
network-bridge start vifnum=1

...well, that and set loopback.nloopbacks=2 in the Dom0 kernel
parameters.

Plus renaming of virtnum to vifnum in Charles' patch, as requested by Ian Pratt.

Plus a fix to DevController to allocate vif IDs starting from 0 (i.e. vif2.0
is now domain 2's first vif, as opposed to vif2.1 in the recent past).

Plus tidying up inside network-bridge using some helper variables.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-10-19 16:24:54 +01:00
kaf24@firebug.cl.cam.ac.uk 98adab9284 Add a option for enabling ne2000 NIC device model
Signed-off-by: Yan Li <yanx.li@intel.com>
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
2005-10-12 17:04:11 +01:00
kaf24@firebug.cl.cam.ac.uk d8263e8dba Fix Xen public interfaces and the tools to consistently
use stdint-format bitsize types (uint32_t and friends).

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-10-12 11:07:37 +01:00
kaf24@firebug.cl.cam.ac.uk f16cb294c5 Big simplification of the Xen event-channel interface.
EVTCHNOP_bind_interdomain in particular is much simpler.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-10-07 10:57:13 +01:00
kaf24@firebug.cl.cam.ac.uk 07a233ac7c User tools send evtchn notifications via /dev/xen/evtchn
rather than using hypercall directly.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-10-06 17:02:38 +01:00
kaf24@firebug.cl.cam.ac.uk c804adf4b6 Change how event channels are allocated and used by the control
tools. /dev/xen/evtchn is now used by daemons to connect to
remote domains: the advantage is that the local ports are garbage
collected automatically if the daemon dies. xen no longer
constructs end-to-end event-channel port pairs -- it allocates an
unbound port in new domU and writes that port to xenstore. It is
then picked up by teh appropriate daemon which does interdomain bind
via /dev/xen/evtchn.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-10-06 16:07:52 +01:00
kaf24@firebug.cl.cam.ac.uk 1cd0f4f23f Fix tools to pull public header files from standard
location in libxc directory. Not direct from xen and
xenlinux build trees! Also fix a type name in 
x86_emulator test harness.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-10-04 15:02:18 +01:00
yjiang5@vtsmp-build.sh.intel.com a51b17cfb5 Initialize pointer array for set mapping.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
2005-09-28 14:07:57 +01:00
kaf24@firebug.cl.cam.ac.uk 0c4708b64f Add VGA acceleration support for cirrus logic device model
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Asit Mallick  <asit.k.mallick@intel.com>
2005-09-23 13:30:54 +01:00
kaf24@firebug.cl.cam.ac.uk 5ec9c16433 Parse vcpus for VMX guest.
Vcpus are passed to device model and vmx domain builder.

Signed-off-by: Yan Li <yanx.li@intel.com>
Signed-off-by: Xin Li <xin.b.li@intel.com>
2005-09-21 09:58:15 +00:00
kaf24@firebug.cl.cam.ac.uk 64d0d8fd51 Clear pending interrupt on shared page when pic initialized
and irq base changed.

Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
2005-09-14 13:28:45 +00:00
kaf24@firebug.cl.cam.ac.uk ce540e0464 This trivial patch makes sure that mem-map.sxp and the qemu bits
get installed in /usr/lib64 on distributions that want things
there.

Signed-off-by: Rik van Riel <riel@redhat.com>
2005-09-13 10:49:04 +00:00
kaf24@firebug.cl.cam.ac.uk c834c5e778 Fix bug that service os & vmx guest can't communicate with
each other. The bug was physical packets smaller than
minimal packet size of 60 bytes were gettign thrown away.
Hence ARP traffic for example was dropped.

Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
2005-09-10 14:17:02 +00:00
kaf24@firebug.cl.cam.ac.uk d7d77c20cf Attached are the patches for new ioemu communication mechanism. The new
mechanism provides richer I/O operation semantics, such as and,or,xor
operation on MMIO space. This is necessary for operating systems such
as Windows XP and Windows 2003.

This is the first part of a two part patch. This patch applies to ioemu.

Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com>
2005-09-02 17:55:24 +00:00
kaf24@firebug.cl.cam.ac.uk 936fbe104f Qemu-dm dumps core with the pcnet device. This patches fixes it.
When pcnet_receive calls pcnet_poll, which polls the receive and the send
rings. Whenever there is an element in the send ring that is owned by
the Lance chip it will call pcnet_transmit and send it. When the element
is the endp(acket), pcnet_transmit will copy it out, send the packet
(qemu_send_packet) and then clear the owner bit. Somewherer along the
qemu_send_packet execution path, pcnet_recieve is called again, which
calls pcnet_poll and starts this whole process again. This very rapidly
leads to a stack overflow and crashes qemu.

The fix is simple, stop the recursion. Once the packet is copied into
qemu datatstructure (before qemu_send_packet is called!), the owner bit
on the ring element should be cleared.

Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com>
2005-09-02 17:52:37 +00:00
adsharma@los-vmm.sc.intel.com 4ef0b38ac3 Merge. 2005-08-25 11:18:47 -07:00
cl349@firebug.cl.cam.ac.uk 60eb663513 Rename libxc => libxenctrl and xc.h => xen/xenctrl.h
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>


--HG--
rename : tools/libxc/xc.h => tools/libxc/xenctrl.h
2005-08-24 23:07:29 +00:00
adsharma@los-vmm.sc.intel.com a81cd35554 Implement cpu_physical_memory_reset_dirty()
Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
2005-08-22 11:31:19 -07:00
adsharma@los-vmm.sc.intel.com 1531e2cb55 PCNET NIC card support for qemu
Based on:
http://cyberkinetica.homeunix.net/qemu/qemu-pcnet.patch6.gz

Signed-off-by: Nitin Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
2005-08-16 13:39:55 -08:00
adsharma@los-vmm.sc.intel.com f04c4b32ac Enable multi-word DMA mode 2 for the PIIX3 chipset
Without this patch, Linux PIIX3 driver would see ultra DMA and get confused
and ended up disabling DMA.

With the patch, we're able to see 3x increase in disk read throughput.

Signed-off-by: Winston Wang <winston.l.wang@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
2005-08-15 12:50:38 -08:00
adsharma@los-vmm.sc.intel.com ba0b7b0bd8 Enable multi-word DMA mode 2 for the PIIX3 chipset
Without this patch, Linux PIIX3 driver would see ultra DMA and get confused
and ended up disabling DMA.

With the patch, we're able to see 3x increase in disk read throughput.

Signed-off-by: Winston Wang <winston.l.wang@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
2005-08-15 12:28:07 -08:00
kaf24@firebug.cl.cam.ac.uk 065e90e43a When the guest shuts down a VM, make sure that the domain gets destroyed.
Device model needs to do xm destroy before it exits on
guest shutdown/poweroff/halt -p.

Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
2005-08-11 21:06:15 +00:00
kaf24@firebug.cl.cam.ac.uk ca21e61a00 Support rebooting VMX domains
Signed-off-by: Ke Yu <ke.yu@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
2005-08-11 21:03:16 +00:00
adsharma@los-vmm.sc.intel.com 4ac3871503 Merge. 2005-08-11 12:38:44 -08:00
kaf24@firebug.cl.cam.ac.uk 66e693a5c0 Remove qemu-vgaram-bin. It's not used any more. 2005-08-11 08:57:48 +00:00
adsharma@los-vmm.sc.intel.com 9bdfb104c5 Revert e5ea9df58340e4ff0351683270bfa4da25191d31
The real issue is somewhere else.
2005-08-09 14:57:45 -08:00
adsharma@los-vmm.sc.intel.com dbd81fc2a5 When the guest shuts down a VM, make sure that the domain gets destroyed.
Device model needs to do xm destroy before it exits on
guest shutdown/poweroff/halt -p.

Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
2005-08-09 11:12:44 -08:00
adsharma@los-vmm.sc.intel.com 9f048aa91c Fix Mouse hang with VNC
I've made some progress on this problem.  Turns out, the VNC emulator is
a little over aggressive in dealing with reset commands for the mouse.
Since there are commands that enable and disable the mouse the VNC
emulator provides this control.  Unfortunately, VNC also interprets
either a `reset' or `set to default' command to also disable the mouse.
This is wrong, neither of these commands are supposed to affect the
enabled status of the mouse so that, when X sends a `reset', no futher
mouse data is sent, making it look like X is hung.

Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
2005-08-09 11:06:44 -08:00
adsharma@los-vmm.sc.intel.com dcf909f29f Support rebooting VMX domains
Signed-off-by: Ke Yu <ke.yu@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
2005-08-09 11:06:44 -08:00