Commit Graph
62 Commits
Author SHA1 Message Date
awilliam@xenbuild2.aw 5fb6147b15 [IA64] evtchn_callback fix and clean
Since we had changed to use event callback to deliver interrupts,

1. The pending_interruption is changed to pending_event.

2. get_ivr, set_tpr, get_trp and set_eoi are not used or only used
   in the initialization phase. There is no need to write this code
   in assembly.  This code is deleted.

3. hyper_ssm_i needs to be rewritten to jump to entchn_callback_handler
   instead of iva+0x3000 interrupt handler.  I will do this later.

Signed-off-by: Anthony Xu  <anthony.xu@intel.com>
2006-12-18 10:20:34 -07:00
awilliam@xenbuild2.aw c8f8d49382 [IA64] implement free_irq_vector() paravirtualization
This avoids a double free error message since dom0 isn't
actually using the ia64_vector_mask.

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2006-12-07 04:15:54 -07:00
awilliam@xenbuild.aw 793cb77839 merge with xen-unstable.hg 2006-12-04 08:24:41 -07:00
Steven Smith 3c78f2e5d7 [LINUX] The removal of the console_use_vt hack was premature: it's still
required if CONFIG_VT is enabled but the domain isn't currently
configured to use the PV framebuffer.  Put it back in, in a slightly
more palatable form.

Signed-off-by: Steven Smith <sos22@cam.ac.uk>
2006-12-01 11:52:33 +00:00
Steven Smith a5ae44fcdf This is Anthony Liguori's virtual framebuffer forward ported and
extensively hacked based on feedback from xen-devel.

Its architecture is comparable to the common split device driver
architecture: xenfb and xenkbd modules serve as frontend in domU, and
the user space vncfb or sdlfb process serves as backend in dom0.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2006-12-01 09:48:32 +00:00
awilliam@xenbuild.aw 1691a97d3b [IA64] remove undefined debugging line
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-11-29 09:16:46 -07:00
awilliam@xenbuild.aw 0d2fbb9506 [IA64] xenoprof linux/ia64 part
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-11-28 22:54:24 -07:00
awilliam@xenbuild.aw 0ef613d426 [IA64] import perfmon, oprofile related files from linux to linux-sparse
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>

Updated to 2.6.16.33

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-11-28 11:19:40 -07:00
awilliam@xenbuild.aw d28132e9b9 [IA64] fix paravirtualization of clone2() system call.
If audit is enabled or the child process is ptraced,
non-paravirtualized code path is executed.
Thus paravirtualized ifs is left unmodifed so that the child process
crashes after clone2().
paravirtualize ia64_ret_from_clone() to fix it.
 
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-11-22 10:10:38 -07:00
awilliam@xenbuild.aw 3614e3523b [IA64] MCA support - Add binding of virq/ipi to irq
Signed-off-by: Yutaka Ezaki <yutaka.ezaki@jp.fujitsu.com>
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
2006-10-29 09:27:14 -07:00
awilliam@xenbuild.aw 9c3c688c5b [IA64] backport toolchain fixes from linux-ia64
This backports the ia64 specific parts of this upstream linux
changeset:

http://www.kernel.org/hg/linux-2.6/?cs=dfbee33b0693

Change suggested by Akio Takebe.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-10-18 22:06:23 -06:00
awilliam@xenbuild.aw dd3d76baf0 [IA64] add arch/ia64/kernel/Makefile to sparse tree
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-10-18 22:06:18 -06:00
awilliam@xenbuild.aw 0598e72c96 [IA64] Xencomm fixes for HVM PV-drivers and driver domain.
Create xcom_mini.c from xcom_hcall.c

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-10-14 16:26:27 -06:00
awilliam@xenbuild.aw 5f90eb60c6 [IA64] Use xencomm for hypercalls.
With xencomm metaphysical addresses are passed to the hypervisor instead
of virtual addresses.
This patch breaks compatibility.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-10-02 14:03:42 -06:00
awilliam@xenbuild.aw 9f557e7ff2 merge with xen-unstable.hg 2006-08-23 11:11:27 -06:00
awilliam@xenbuild.aw 28efc9d73d [IA64] fix non-CONFIG_XEN sparse tree build
This patch fixes some over-zealous code removal with the P==M
cleanup.  Some of the P==M code was shared with the bare metal kernel.
Also cleaned up a couple places we should have used CONFIG_XEN.

From: Juan Quintela <quintela@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-08-16 09:15:17 -06:00
kfraser@localhost.localdomain 2b88d7ed5f [LINUX] Provide a handy macro for detrmining if we are domain0.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-08-14 14:44:31 +01:00
awilliam@xenbuild.aw 111ea6ac45 [IA64] fix vDSO paravirtualization.
sometimes it fails to clear event mask. It results in domain's unstability.
And one typo.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-08-03 11:10:53 -06: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 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
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
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 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
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
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
awilliam@xenbuild.aw 45758ec272 [IA64] sparse tree cleanups
Here's a first pass at some sparse tree cleanups based on feedback
 we've gotten on linux-ia64.  I haven't taken all of the comments into
 account yet, this is just a start.  Specific changes:

  - CONFIG_ARCH_XEN is no longer necessary
  - simple is_running_on_xen() checks can be handled w/o CONFIG_XEN
  - pulled forward a drivers/xen/Makefile change that broken make clean
  - changed some comments from C++ style to C
  - turned HYPERVISOR_ioremap into a macro for !CONFIG_XEN
  - made hypervisor.h and privop.h include-able for !CONFIG_XEN

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-08 10:17:22 -06:00
awilliam@xenbuild.aw 478e357a66 [IA64] remove xenia64_init.c
Relocate the few bits left to ia64 specific parts of the tree.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-06 09:06:19 -06:00
awilliam@xenbuild.aw 93cdb775bc [IA64] Vcpu hot-plug support
Handle SAL return.
Handle ptr.i/ptr.d

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-03 14:48:42 -06:00
awilliam@xenbuild.aw ed2f30d1f5 [IA64] paravirtualize vdso
paravirtualize vdso area.
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-06-03 11:16:47 -06:00
awilliam@xenbuild.aw 09879197ca [IA64] import linux gate.S, gate.ld.S and patch.c
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-06-03 11:16:41 -06:00
awilliam@xenbuild.aw d3febd5582 [IA64] fix up a few more warnings
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-05-31 16:07:47 -06:00
awilliam@xenbuild.aw e91bc4619d [IA64] remove linux-2.6-xen-sparse/arch/ia64/xen/xenconsole.c
Inline the content of early_console_setup() to setup.c and remove
xenconsole.c

Signed-off-by: Aron Griffis <aron@hp.com>
2006-05-31 14:34:33 -06:00
awilliam@xenbuild.aw 360cf93c53 [IA64] Add several missing is_running_on_xen().
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-05-31 11:30:07 -06:00
awilliam@xenbuild.aw a342eb4e85 [IA64] use is_running_on_xen()
Now xen drivers use is_running_on_xen() to check whether it runs on 
xen or bare metal. There remains many if (running_on_xen) in ia64
specific codes. This patch replaces running_on_xen with is_running_on_xen()

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-30 10:31:19 -06:00
awilliam@xenbuild.aw c7c052954b [IA64] Final patch to make evtchn fully working for xen/ia64
OK, this is the last one of patch sets, which enables xen/ia64 to work
on event channel mechanism fully. Now user may observe /proc/interrupts 
of dom0 as:

           CPU0
 34:         12        Phys-irq  ide0
 39:          0        Phys-irq  acpi
 45:        322        Phys-irq  serial
 48:     115006        Phys-irq  peth0
 49:      16269        Phys-irq  ioc0
 50:         31        Phys-irq  ioc1
 51:          2        Phys-irq  ehci_hcd:usb1
 52:          0        Phys-irq  uhci_hcd:usb2
 53:         55        Phys-irq  uhci_hcd:usb3
256:          0     Dynamic-irq  RESCHED0
257:          0     Dynamic-irq  IPI0
258:      44572     Dynamic-irq  timer0
259:       2316     Dynamic-irq  xenbus
260:       8304     Dynamic-irq  blkif-backend
261:      25947     Dynamic-irq  vif3.0
ERR:          0

Based on this patch, dom0's performance is not affected, while domU's
network output is seen with several percents increase. More important,
now xen/ia64 can progress a base step towards driver domain support!

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-05-23 09:17:57 -06:00
kaf24@firebug.cl.cam.ac.uk c00e364b1f Introduce is_running_on_xen() to test whether we are running on Xen before
initialising a Xen-specific driver or subsystem.

For ia64:
 * Call xen_init in setup_arch.
 * Remove xen_ksyms.c

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-05-19 15:35:19 +01:00
kaf24@firebug.cl.cam.ac.uk 013351bd7a Define new event-channel and physdev hypercalls with a more extensible
interface (the legacy hypercalls would break if subcommands with large
argument structures were added, as it would grow the size of the 
union of all argument structures).

Also, based on a patch from Kevin Tian, add a new physdev op to
signal EOI for a particular irq.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-30 09:16:15 +01:00
awilliam@localhost 05e3e3c89e [IA64] dma paravirtualization
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-25 16:53:27 -06:00
awilliam@xenbuild.aw 9cc9df7182 [IA64] SMP-guest
Final SMP-guest patch: add IPI and boot rendez-vous support.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-04-21 10:40:17 -06:00
awilliam@xenbuild.aw 633da67231 [IA64] Add support to physdev_ops
Add support to physdev ops, and thus give IOSAPIC RTEs
managed by Xen now. Dom0 now issues hypercall to r/w
RTE entry. Another change is the irq vector allocation
which is also owned by xen now.

After this change, the IOSAPIC is almost owned by xen
with only exception as IOSAPIC EOI which is still issued
by dom0 directly. But that's OK since currently dom0 
owns all external physical devices. Later full event
channel mechanism will provide necessary support for
driver domain, and at that time, dom0 instead issues
physdev_op (PHYSDEVOP_IRQ_UNMASK_NOTIFY) naturally as
replace of IOSAPIC EOI.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2006-04-21 09:03:19 -06:00
awilliam@xenbuild.aw 505cbfa6e7 [IA64] add base iosapic files
Add base iosapic files from Linux-2.6.16 in preparation for
Kevin's iosapic changes.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-04-21 08:56:24 -06:00
awilliam@xenbuild.aw 2b529f7b7c [IA64] call setup_xen_feature()
add setup_xen_features() call to setup_arch() in xenLinux/ia64
Now features.c is compiled into xenLinux/ia64 for xen_feature(),
but it is not initialized.
xenLinux/x86 calls xetup_xen_features() from setup_arch().

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-13 13:40:31 -06:00
awilliam@xenbuild.aw bbd573a923 [IA64] set itv handoff as masked and enable reading irr[0-3]
Set initial vcpu itv handoff state to mask the timer vector.
This seems to match hardware and makes logical sense from a
spurious interrupt perspective.  Enable vcpu_get_irr[0-3]
functions as they seem to work and have the proper backing.
This enables the check_sal_cache_flush() in arch/ia64/kernel.sal.c
to work unmodified, allowing us to remove the Xen changes from
the file (and thus the file from the sparse tree).

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-04-04 09:39:45 -06:00
kaf24@firebug.cl.cam.ac.uk 9dd08d8ffb Add -xen buildconfig for ia64 and tweak CONFIG_VT setup to avoid
initializing on domUs.  Remove CONFIG_IDE_GENERIC as this is
unnecessary on ia64 systems (no ISA IDE controllers) and causes long
timeouts booting domU.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-03-28 09:57:48 +01:00
awilliam@xenbuild.aw f85031ea1e [IA64] Every processor call xen_early_setup (required on SMP-guest to set ivt).
Only BP set running_on_xen.
xensetup.S slightly compacted.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-03-01 10:01:54 -07:00