Commit Graph
11767 Commits
Author SHA1 Message Date
Tim Deegan 637a66db3d [XEN] Fix CR3 plumbing for shadowed PV PAE guests.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-10-18 14:34:31 +01:00
Tim Deegan f81b951ee4 [XEN] remove dead code from shadow auditing.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-10-17 15:18:51 +01:00
Tim Deegan cf644d65c9 [XEN] Heuristic for fast revoke-write-access in HIGHPTE linux guests
This adds a heuristic for speeding up revocation of write access to
pagetables for HIGHPTE linux kernels, which previously had to brute-force
search all L1 shadows.

Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-10-17 11:14:17 +01:00
Tim Deegan f26cc78903 [XEN] Don't keep shadows of PAE guest l3 tables.
Holding pages readonly that have guest PAE l3 tables in them means
a performance hit and potential bug if the guest puts other
datastructures on the same page as an l3 table.  Instead of shadowing
them, treat PAE guests as if they had four CR3 registers, and load all
four top-level entries when we handle a CR3 write.  This also cuts about
500 lines of special-case refcounting and re-copying code.

Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-10-17 11:11:48 +01:00
Tim Deegan 3cc943dc88 [XEN] Don't kill shadowed guest for writing bogus PTEs.
If a guest writes a "bad" pagetable entry and we fail to unshadow the
page, don't kill the guest.  This makes the behaviour the same as
if the bad PTE were already in place when we shadowed the page.

Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-10-17 11:07:11 +01:00
kfraser@localhost.localdomain fb7382a4d9 Added tag 3.0.3-branched for changeset 6ed4368b4a9e1924c983774c4b1a2b6baf8e98a6 2006-10-17 09:59:11 +01:00
kfraser@localhost.localdomain 6c167ac0db [XENOPROF] Add a lock around the xenoprof hypercall. It mutates global state.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
3.0.3-branched
2006-10-15 09:53:20 +01:00
kfraser@localhost.localdomain 3d7a1b3149 [XENOPROF] Fix limit-check overflow.
Fix code limiting XENOPROF_get_buffer and XENOPROF_set_passive
argument max_samples so that no more than MAX_OPROF_SHARED_PAGES are
used.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
2006-10-15 09:52:33 +01:00
kfraser@localhost.localdomain bb4aa56a71 [SHADOW] Trivial whitespace fix to a couple of printf format strings.
From: Brendan Cully <brendan@cs.ubc.ca>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-15 09:21:49 +01:00
kfraser@localhost.localdomain dae75267fd [XEND] Check for and fail on non-existent floppy-drive file when starting HVM guest.
The qemu device model hangs when a non-existent floppy file is passed
via 'fda' or 'fdb'. The attached patch checks whether the floppy file
exists and raises an error if it does not.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-10-15 09:19:26 +01:00
kfraser@localhost.localdomain b2e0105ec9 [HVM] Fix PIC IO intercept: addresses are physical, not virtual.
Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com>
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-10-15 09:15:51 +01:00
kfraser@localhost.localdomain ad5b45d12e [NET] front: Do not read features from backend until it enters InitWait.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-13 18:04:33 +01:00
kfraser@localhost.localdomain f5698223fb [NET] back: Simplify probing of new interfaces. There's no need
to watch for creation of the handle node in xenstore, as it is
written by xend when creating the backend directory as part of
the same transaction.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-13 17:10:27 +01:00
kfraser@localhost.localdomain 9606cd400d [NET] front: No need to read handle field from xenstore. It's not used.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-13 17:07:39 +01:00
kaf24@localhost.localdomain acc67059cb [IOEMU] Fix argument to parse_host().
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-13 10:58:29 +01:00
kfraser@localhost.localdomain 6ed92e6110 [HVM][SVM] Use proper name for the K8 VM_CR MSR.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-12 17:53:51 +01:00
kfraser@localhost.localdomain b3ec0ca6b6 [HVM][SVM] Check if SVM is disabled by the BIOS before enabling it.
Newer BIOS implementations will be able to disable the SVM feature,
although an additional test of an MSR  (VMCR 0xC0010114 bit 4) is
necessary (set equals disabled).  Bit 4 of MSR 0xc0010114 returns 0
(SVM enabled) on machines with older BIOS' without the SVM disable
feature support.

Signed-off-by: Wei Huang <wei.huang2@amd.com>=20
Signed-off-by: Tom Woller <thomas.woller@amd.com>=20
2006-10-12 16:12:10 +01:00
kfraser@localhost.localdomain e402c82996 [NET] back: Copy tx_ring data before verification
We need to make a copy of data from tx_ring before
verifying them as otherwise what we end up using may
be different from what was verified.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-10-12 16:09:15 +01:00
kfraser@localhost.localdomain 01c26778f4 [HVM] Fix resource leak in error path of AP bringup.
Based on a patch from Kouya Shimura.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-12 14:28:59 +01:00
kfraser@localhost.localdomain e5b046d973 [XEN] Fix booting with dom0_mem specifying 4GB or more.
Signed-off-by: Charles Coffing <ccoffing@novell.com>
2006-10-12 14:27:20 +01:00
kfraser@localhost.localdomain 8b17a36d17 Fix privcmd mmap() on 64b architectures for regions larger than 2GB.
Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-12 14:25:51 +01:00
kfraser@localhost.localdomain 0491bf8d2c Include resources for PV xen-platform device in ACPI DSDT.
From: Qing He <qing.he@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-12 14:14:58 +01:00
kfraser@localhost.localdomain bfebdba8ee [HVMLOADER] Remove an unused variable from an SMBIOS function.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-12 14:14:12 +01:00
kfraser@localhost.localdomain 6329cf0815 [IA64] Add support for enforcing singleshot mmap() semantics at the
privcmd interface.
From: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-12 13:55:03 +01:00
kfraser@localhost.localdomain b73d95b84d [PRIVCMD] Fix ia64 domain creation by abstracting the singleshot mapping check.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-12 11:44:53 +01:00
Christian Limpach 5292dab2f0 [xenstore] Don't create a transaction for singleton read/write operations.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-10-12 11:26:07 +01:00
Christian Limpach 88bea76202 [xenstore] Don't limit the number of concurrent transactions for domain0 connections
since both xend and the xenstore-* utilities used in the hotplug
scripts can easily reach the limit and we trust them anyway.

Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-10-12 11:25:32 +01:00
Tim Deegan 917f2a4a47 [XEN] Fix race in shadow invlpg
This fixes a crash under mmstress in SMP linux guests, where one vcpu
could remove shadow entries when another was reading them for invlpg.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-10-12 11:08:48 +01:00
kfraser@localhost.localdomain 5358257c6f [NET] back: Fix inter-domain networking when using rx-copy path.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-12 10:56:41 +01:00
kfraser@localhost.localdomain 503bcd598c [NET] front: Fix error handling to correctly skip bogus frags.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-12 10:38:45 +01:00
kaf24@localhost.localdomain 83a53cd75c Revert 11728:30f13007be. Breaks Solaris guests.
Will need a new method for handling padded gzip files.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-10 22:04:01 +01:00
kfraser@localhost.localdomain 741fad235c [XEND] Add missing line from changeset 11653:3b7e11cbeb940
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-10 16:02:30 +01:00
Christian Limpach 15a8e33ac2 [xend/hotplug] Remove happy gun logging.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2006-10-10 13:48:34 +01:00
kfraser@localhost.localdomain 2c48ac78fe [NET] back: Fix netif rate limiting.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-10 13:47:09 +01:00
Ian Campbell 9fd20b0666 Correct check for extended-cr3 support in __xen_guest fallback code.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-10-10 10:06:56 +01:00
kaf24@localhost.localdomain 09635b3848 [TOOLS] Fixes to miniterm serial terminal utility.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-09 23:34:00 +01:00
kfraser@localhost.localdomain d55292850a [NET] back: Refcount fixes to vif rate-limiting code.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-09 17:08:18 +01:00
Tim Deegan f6d4816473 [XEN] Zero PAE shadow l3es when destroying subshadows.
Normally, we can leave the contents of shadows in place when we destroy
them, but this is not the case for l3 subshadows, since they do not get
zeroed on reallocation unless the entire l3 page is unshadowed.
This fixes several crashes seen with SMP PAE HVM RHEL4.2 guests.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-10-09 16:43:09 +01:00
kfraser@localhost.localdomain 5000a6a1e0 [XEND] No need to decompress the initrd when building a domain.
The guest OS should be capable of parsing an image file in
whatever format was produced by that OS's tools. Furthermore,
we have seen initrd images with trailing garbage. This causes
us to calculate the wrong size for the uncompressed data and hence
fail to build the guest.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-09 13:50:00 +01:00
kfraser@localhost.localdomain 7dae06e0f3 [PRIVCMD] Fix trivial bug introduced in IOCTL_PRIVCMD_MMAP.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-09 13:46:34 +01:00
kfraser@localhost.localdomain 507cd504b6 [LINUX] Various fixes for mmapping I/O and foreign memory pages.
First, auto-translate guests can use remap_pfn_range() rather than
direct_remap_pfn_range(). This actually works better because
remap_pfn_range() can legitimately assert VM_PFNMAP (this patch
removes this flag for direct_remap_pfn_range().

There are various cleanups and fixes to the privcmd interface:
 1. VMAs should be searched and used under the mmap semaphore
 2. Mapping should be single shot (since cirect_remap_pfn_range()
    expects the PTEs to be empty when it is called).
 3. Demand-fault population of the privcmd vma should be disallowed.
 4. Various others, including a more thorough check of input args.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-09 10:56:17 +01:00
Tim Deegan e30cc6aed6 Since shadow_update_paging_modes() will modify v->arch.hvm_vcpu.hw_cr3,
so we should always do shadow_update_paging_modes() before we writes to
GUEST_CR3 with v->arch.hvm_vcpu.hw_cr3.

Signed-off-by: Xiaohui Xin xiaohui.xin@intel.com
Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-10-09 10:18:11 +01:00
kaf24@firebug.cl.cam.ac.uk 1febf1acf7 [BLKTAP] Remove bogus extra public definition of sig_handler().
Also do not build the daemon -fPIC.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-08 18:05:57 +01:00
kfraser@localhost.localdomain 44740083e9 [BLKTAP] Fix trivial indentation snafu in previous changeset.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-06 16:51:10 +01:00
kfraser@localhost.localdomain 382c54558d [BLKTAP] Fix crash at start-of-day in blktapctrld
if /local/domain does not exist.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-06 15:05:30 +01:00
kfraser@localhost.localdomain dc2917720c [BLKTAP] Formatting and style cleanups to blktapctrl.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-06 15:04:42 +01:00
kfraser@localhost.localdomain 4314149396 [BALLOON] Replace alloc_empty_page_range with new helper alloc_empty_pages_and_pagevec.
This is a better fit with all the callers, who now allocate discontiguous empty pages.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-06 11:52:41 +01:00
kfraser@localhost.localdomain db002ee4a0 [BLK] tap: Allocate pages for foreign mappings individually rather than contiguously.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-06 10:30:43 +01:00
kaf24@firebug.cl.cam.ac.uk 2eb4f7a7df [HVM][SVM] Revert changeset 11679:a949bd6ceb85
Although in the correct spirit, it seems there is some other
dependency in the code that assumes ExtInts are queued until
thay can be immediately delivered (EFLAGS.IF==1). This patch
therefore caused instability in Linux guests.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-06 08:09:52 +01:00
kaf24@firebug.cl.cam.ac.uk f58fdb8d02 [TPM] back: Allocate pages for foreign mappings individually rather than contiguously.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-05 23:16:21 +01:00