ia64/xen-unstable

view xen/include/asm-x86/hvm/vcpu.h @ 9016:cf1c1bb9f6d2

Bring up AP of VMX domain.
1) add INIT-SIPI-SIPI IPI sequence handling code to HVM virtual lapic
code.
2) add an new interface init_ap_context to hvm_funcs, and implement the
VMX side.
3) add a hvm generic function hvm_bringup_ap, which in turn calls
init_ap_context.

Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
author kaf24@firebug.cl.cam.ac.uk
date Fri Feb 24 17:32:58 2006 +0100 (2006-02-24)
parents 707cb68a391f
children da7fe04d8e80
line source
1 /*
2 * vcpu.h: HVM per vcpu definitions
3 *
4 * Copyright (c) 2005, International Business Machines Corporation.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License,
8 * version 2, as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13 * more details.
14 *
15 * You should have received a copy of the GNU General Public License along with
16 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
17 * Place - Suite 330, Boston, MA 02111-1307 USA.
18 */
20 #ifndef __ASM_X86_HVM_VCPU_H__
21 #define __ASM_X86_HVM_VCPU_H__
23 #include <asm/hvm/io.h>
24 #include <asm/hvm/vlapic.h>
25 #include <asm/hvm/vmx/vmcs.h>
26 #include <asm/hvm/svm/vmcb.h>
28 #define HVM_VCPU_INIT_SIPI_SIPI_STATE_NORM 0
29 #define HVM_VCPU_INIT_SIPI_SIPI_STATE_WAIT_SIPI 1
31 struct hvm_vcpu {
32 unsigned long ioflags;
33 struct mmio_op mmio_op;
34 struct vlapic *vlapic;
35 /* For AP startup */
36 unsigned long init_sipi_sipi_state;
38 union {
39 struct arch_vmx_struct vmx;
40 struct arch_svm_struct svm;
41 } u;
42 };
44 #define ARCH_HVM_IO_WAIT 1 /* Waiting for I/O completion */
46 #endif /* __ASM_X86_HVM_VCPU_H__ */