Commit Graph
770 Commits
Author SHA1 Message Date
kfraser@localhost.localdomain 177155de98 [LINUX] Do not early-unpin pagetables that contain foreign mappings.
This fixes a bug whereby foreign pages were freed by the unpin, which
then become owned by the local domain before it destroys its ptes.
It therefore (erroneously) detects the mappings as local and so
updates reference counts, leading to crashes.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-08-01 15:48:48 +01:00
kfraser@localhost.localdomain 6faab8acaf [PCI] Pcifront for ia64.
Added in Kconfig.
On ia64, use ia64 sysdata instead of pcifront genuine one.
Fix a warning on xenbus.c

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-28 17:23:15 +01:00
kfraser@localhost.localdomain a111f90b19 [LINUX] Clean up reboot.c suspend handling.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-28 11:10:08 +01:00
awilliam@xenbuild.aw 47c4e81c74 [IA64] remove a debug message
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-27 09:16:32 -06:00
awilliam@xenbuild.aw d2ac905a14 merge with xen-unstable.hg 2006-07-26 10:49:32 -06:00
awilliam@xenbuild.aw 0adf62a2ae [IA64] nasty bug fix
Bug fix: restore phys_addr field, because some other Xen
functions consider it as unused.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-26 09:41:24 -06:00
awilliam@xenbuild.aw f08a891ab3 [IA64] linux without SMP
Add #ifdef CONFIG_SMP so that linux can compile without SMP.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-26 09:39:38 -06:00
kfraser@localhost.localdomain b296701bb2 [LINUX] Disable configuration of ARCH_SPARSEMEM_ENABLE on x86/64.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-26 10:08:13 +01:00
awilliam@xenbuild.aw 31423d8a91 merge with xen-unstable.hg 2006-07-25 12:19:05 -06:00
kfraser@localhost.localdomain 1bcc086e02 Fix Linux so that it does not set a timeout if there are no pending
timers. Fix Xen so that it does not immediately fire a timer event if
it sees a very long timeout -- sometimes this means that there are
no pending timers.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-25 17:01:49 +01:00
kfraser@localhost.localdomain 5b4b7f6815 [LINUX] Improve single-page contiguous region creation/destruction
Batch page table updates and fold TLB flush into last one, reducing
number of hypercalls made from ((# of pages) + 1) to just 1.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-07-25 15:58:35 +01:00
awilliam@xenbuild.aw 9d20d1268d [IA64] Support domU coredump on ia64
This patch supports domU coredump on ia64.  xen_panic_event() is
registered to panic_notifier_list, and xen_panic_event() calls
HYPERVISOR_shutdown(SHUTDOWN_crash) at panic time.

If xend is notified of crash status, xend calls dumpCore()
and create domU's core in /var/xen/dump.

For sample crash module and usage, see:

http://lists.xensource.com/archives/html/xen-ia64-devel/2006-07/msg00230.html

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
[minor code re-arrangement]
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-07-24 14:26:03 -06:00
awilliam@xenbuild.aw 8cf361e195 [IA64] vDSO paravirtualization: paravirtualize vDSO
paravirtualize vdso areabased on Kevin's pointout and Dan's Idea.
introduce hyperprivop HYPERPRIVOP_RSM_BE and HYPERPRIVOP_GET_PSR.
and paravirtualize vdso area using them.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-07-24 13:43:35 -06:00
awilliam@xenbuild.aw cd20de68b5 [IA64] vDSO paravirtualization: import linux files
import gate.S, gate.ld.S and patch.c which are needed to
paravirtualize vdso area.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-07-24 13:04:40 -06:00
awilliam@xenbuild.aw 89b0862b3a [IA64] Save & restore.
xc_ia64_linux_save.c and xc_ia64_linux_restore.c added.
vcpu context has more registers and states (eg: tr registers).
Per cpu irqs are deallocated when cpu is switched off.
#if/#endif added in reboot.c for ia64.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-11 12:51:18 -06:00
kfraser@localhost.localdomain c11016e71c [XENOPROF] Some fixes for xenoprof passive domain support.
Currently, passive domain samples are being assigned to the wrong
kernel functions. This patch fixes this problem. In addition the patch changes the
encoding of domain switch ESCAPE codes (marks used to separate samples
in oprofile  buffers associated with different domains). Instead of
using 2 codes, one  for START and one for END of passive domain
samples, a single escape CODE value is used to indicate a domain switch (no
need for a STOP followed by a START). Finally there some other minor style
fixes.

Signed-off-by: Jose Renato Santos <jsantos@hpl.hp.com>
2006-07-10 16:05:44 +01:00
awilliam@xenbuild.aw 989c3fcf11 merge with xen-unstable.hg 2006-07-05 20:11:37 -06:00
awilliam@xenbuild.aw b3b4baa6b8 [IA64] Implement and use DOM0_DOMAIN_STEUP.
DOM0_GETMEMLIST now reads ptes and use gpfn.
Domain builder reworked: calls DOMAIN_SETUP, setup start_info page.
SAL data are now in domain memory.
is_vti field added in domain.arch.
Many cleanups (indentation, static, warnings).

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-07-05 09:28:32 -06:00
awilliam@xenbuild.aw db19e295c9 [IA64] A few clean ups in __xen_create/destroy_contiguous_region.
This is the IA64 counter part of the C/S
10563:a75c1bdfe76146ad591574d805be5be0a3098d2a of xen-unstable.hg

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-07-03 08:33:15 -06:00
kaf24@firebug.cl.cam.ac.uk d2f56f3181 Merge with xen-ia64-unstable.hg 2006-07-03 08:35:12 +01:00
kfraser@dhcp93.uk.xensource.com 0968f0be1f [LINUX] Replace pagetable walks by simple address calculation.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-30 10:35:54 +01:00
kfraser@dhcp93.uk.xensource.com a37cc2b0b8 [LINUX] A few clean ups and a fix to an error path in xen_create/destroy_contiguous_region.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-30 10:24:14 +01:00
kaf24@firebug.cl.cam.ac.uk 4a9f0032ae Fix the kunmap_atomic() change in 10529:4260eb8c08740de0000081c61a6237ffcb95b2d5.
Mustn't zap the PTE if the virtual address is not in kmap_atomic range!
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-29 10:48:07 +01:00
ack@localhost.localdomain af183516f3 Fix next_timer_interrupt() in patch and update caller
to deal with the case of existing pending timers.
Fixes a dom0 hang at boot time on some HPs where some
dubious USB code is invoked from pci_init() that
potentially calls msleep(10) a few times.
Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
2006-06-28 21:51:01 +01:00
kfraser@dhcp93.uk.xensource.com b5487780ac kunmap_atomic() must zap the PTE to avoid dangling references
when attempting to free memory back to Xen. We can implement
something more efficient in future.

Also add debug print message if guest tries to free 'in use'
memory. We'll make it a real guest-visible error in future.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-28 18:17:41 +01:00
kfraser@dhcp93.uk.xensource.com d4cd47ef70 [LINUX] Export flush_tlb_page() to modules in i386-smp builds.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-28 17:56:34 +01:00
awilliam@xenbuild.aw 5c8c8991da merge with xen-unstable.hg 2006-06-28 07:52:21 -06:00
kfraser@dhcp93.uk.xensource.com 60d78dbe14 [LINUX] Allow dma_alloc_coherent() to work for regions up to 2MB.
The previous limit of 0.5MB was insufficient for some drivers
(e.g., when loading firmware).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-27 12:17:45 +01:00
kaf24@firebug.cl.cam.ac.uk b9a9bc6e86 Add Xenoprof passive domain support
Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com>
Signed-off-by: Jose Renato Santos <jsantos@hpl.hp.com>
2006-06-27 11:23:06 +01:00
awilliam@xenbuild.aw 51cd0d362b merge with xen-unstable.hg 2006-06-23 15:33:25 -06:00
awilliam@xenbuild.aw 9822dce3f2 [IA64] memory exchange: use memory exchange
rewrite __xen_create_contiguous_region() and __xen_destroy_contiguous_region()
with XENMEM_exchange hypercall similar to x86.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-23 15:20:43 -06:00
awilliam@xenbuild.aw 0495f6eb85 [IA64] memory exchange: ia64 counter part of cs 10353 xen-unstable.hg
IA64 counter part of the change set
10353:bd1a0b2bb2d4596227951ad6d36cb4fcc2d00a8e of xen-unstable.hg
Only destroy a machine-contiguous memory region if it really is contiguous.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-23 15:12:10 -06:00
awilliam@xenbuild.aw 312722e414 [IA64] Allow guest to set the address of shared_info.
Add a new hypercall: SET_SHARED_INFO_VA.
Cleanup of asm-xsi-offsets: do not define absolute address, use a new macro.
Cleanup of linux asm-offsets: use a macro for xen mapped regs.
xensetup.S: set the shared_info address (disabled if using compatibility).
privop.h: May redefined XSI_BASE (not yet enabled for compatibility).
Vocabulary coherence: use XMAPPEDREGS_ prefix.
Cleanup of xensystem.h

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-23 09:46:39 -06:00
awilliam@lappy e212f000dc [IA64] build linux kernel without using asm-xsi-offsets.h
All the relevent information are already exported with arch-ia64.h
Use linux asm-offsets.h to write xsi offsets defines.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
[Removed xen-mkbuildtree-post/-pre]
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-20 17:02:22 -06:00
kfraser@dhcp93.uk.xensource.com 19c8828f4b Add new XENMEM_machphys_mapping to get info about location and
sizeof of the mach2phys table default mapping. Use this in Linux to
dynamically adapt the mfn_to_pfn() routine to undelrying hypervisor.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-20 14:45:46 +01:00
kaf24@firebug.cl.cam.ac.uk 9c8f5290ef Small fixes to changesets 10424 and 10425 (spurious #PF detection).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-17 12:57:03 +01:00
kfraser@dhcp93.uk.xensource.com d6a811acc8 [LINUX] Add spurious page-fault detection, intended primarily
for spurious write faults on mappings that have been
changed from read-only to writable. If a CPU has a stale
read-only entry in its TLB, it is allowed to fault on
the next write access without re-walking the page table.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-16 18:19:40 +01:00
kfraser@dhcp93.uk.xensource.com 8d9ab5812a Merge with xen-ia64-unstable.hg. 2006-06-16 18:08:27 +01:00
kfraser@dhcp93.uk.xensource.com a2ee238fcf [LINUX] Use new XENMEM_exchange hypercall (where possible)
to provide watertight implementations that should never crash
in ENOMEM situations.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-16 14:45:01 +01:00
awilliam@xenbuild.aw 364f9d8028 merge with xen-unstable.hg 2006-06-15 10:23:57 -06:00
awilliam@xenbuild.aw 42162a97c0 [IA64] work around for skbuff_ctor() on non-privileged domain
populate physmap/increase reservation hypercall fail with
extent order > 0 on non-privileged domain.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-15 09:10:14 -06:00
awilliam@xenbuild.aw fc22e34ca6 [IA64] fix garbage in irq_ia64.c kernel message
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-15 08:56:47 -06:00
kaf24@firebug.cl.cam.ac.uk aedc7640e6 [LINUX] Only destroy a machine-contiguous memory region if
it really is contiguous (e.g., create_contiguous did not fail).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-15 11:35:23 +01:00
kaf24@firebug.cl.cam.ac.uk 45b1830267 [LINUX][PAE] More fixes to pgd allocation. Since allocating pmds
can sleep, we could race save/restore and end up with stale
machine addresses stores in pgd entries. Avoid this by
remembering virtuall addresses and translating to machine
addresses all at the end and protected by the pgd_lock.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-14 17:06:28 +01:00
kaf24@firebug.cl.cam.ac.uk e2f381e315 [LINUX][PAE] Improve allocation strategy when PAE pgdirs must be below 4GB.
Moving the re-allocation to low memory into pgd_alloc() has several
advantages:
 1. Avoids race with save/restore where pgdir may end up above 4GB after
    save/restore.
 2. If pgdir cannot be re-allocated we can return failure to the caller
    rather than BUG().
 3. Slightly reduces diff against native Linux code.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-14 12:36:06 +01:00
awilliam@xenbuild.aw 3d089e3ba1 merge with xen-unstable.hg 2006-06-13 12:12:24 -06:00
awilliam@xenbuild.aw e4f73d5c2a [IA64] Revert xen-ia64-unstable.hg cset 10237
back out the change set 10237 which causes domain creation failure.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-13 09:00:32 -06:00
awilliam@xenbuild.aw 59c720c672 [IA64] Revert xen-ia64-unstable.hg cset 10238
back out the change set 10238 which causes domU creation failure.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-13 08:59:26 -06:00
kaf24@firebug.cl.cam.ac.uk 1d0986e6b4 [LINUX] Eliminates a deadlock and reduce (sometimes significantly) the time
interrupts are off during context switch.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-13 15:56:28 +01:00
kfraser@dhcp93.uk.xensource.com 063f4cc497 [LINUX] Export some tlb-flush functions to modules, which are
directly accessible via macros in tlbflush.h.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-13 14:08:37 +01:00