summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/pcpu.h
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2008-08-15 20:51:31 +0000
committerkmacy <kmacy@FreeBSD.org>2008-08-15 20:51:31 +0000
commit8c05b8ec899e2b20d5eb286770d302b94f0e4536 (patch)
tree01c30bdd7553d9c3ff945b2422e697cffe0f9b20 /sys/i386/include/pcpu.h
parent6bfca819a4bf3b98d63e7f4aaed6fa5b0520008a (diff)
downloadFreeBSD-src-8c05b8ec899e2b20d5eb286770d302b94f0e4536.zip
FreeBSD-src-8c05b8ec899e2b20d5eb286770d302b94f0e4536.tar.gz
Integrate support for xen in to i386 common code.
MFC after: 1 month
Diffstat (limited to 'sys/i386/include/pcpu.h')
-rw-r--r--sys/i386/include/pcpu.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/sys/i386/include/pcpu.h b/sys/i386/include/pcpu.h
index c28ae64..ea8ff46 100644
--- a/sys/i386/include/pcpu.h
+++ b/sys/i386/include/pcpu.h
@@ -45,6 +45,29 @@
* to each CPU's data can be set up for things like "check curproc on all
* other processors"
*/
+
+#ifdef XEN
+#define PCPU_MD_FIELDS \
+ char pc_monitorbuf[128] __aligned(128); /* cache line */ \
+ struct pcpu *pc_prvspace; /* Self-reference */ \
+ struct pmap *pc_curpmap; \
+ struct i386tss pc_common_tss; \
+ struct segment_descriptor pc_common_tssd; \
+ struct segment_descriptor *pc_tss_gdt; \
+ struct segment_descriptor *pc_fsgs_gdt; \
+ vm_paddr_t *pc_pdir_shadow; \
+ int pc_currentldt; \
+ u_int pc_acpi_id; /* ACPI CPU id */ \
+ u_int pc_apic_id; \
+ int pc_private_tss; /* Flag indicating private tss*/\
+ u_int pc_cr3; /* track cr3 for R1/R3*/ \
+ u_int pc_pdir; \
+ u_int pc_lazypmap; \
+ u_int pc_rendezvous; \
+ u_int pc_cpuast
+
+
+#else
#define PCPU_MD_FIELDS \
char pc_monitorbuf[128] __aligned(128); /* cache line */ \
struct pcpu *pc_prvspace; /* Self-reference */ \
@@ -58,6 +81,7 @@
u_int pc_apic_id; \
int pc_private_tss /* Flag indicating private tss */
+#endif
#ifdef lint
extern struct pcpu *pcpup;
OpenPOWER on IntegriCloud