Index: Makefile
===================================================================
--- Makefile	(revision 5eabe731a024e1f50adc6474397857b2809a3db4)
+++ Makefile	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -96,4 +96,9 @@
 endif
 ifeq ($(ARCH),amd64)
+	DEFS += -DCONFIG_VESA_WIDTH=$(CONFIG_VESA_WIDTH)
+	DEFS += -DCONFIG_VESA_HEIGHT=$(CONFIG_VESA_HEIGHT)
+	DEFS += -DCONFIG_VESA_BPP=$(CONFIG_VESA_BPP)
+endif
+ifeq ($(ARCH),xen32)
 	DEFS += -DCONFIG_VESA_WIDTH=$(CONFIG_VESA_WIDTH)
 	DEFS += -DCONFIG_VESA_HEIGHT=$(CONFIG_VESA_HEIGHT)
Index: arch/xen32/Makefile.inc
===================================================================
--- arch/xen32/Makefile.inc	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/Makefile.inc	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../ia32/Makefile.inc
Index: arch/xen32/_link.ld.in
===================================================================
--- arch/xen32/_link.ld.in	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/_link.ld.in	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../ia32/_link.ld.in
Index: arch/xen32/include/arch.h
===================================================================
--- arch/xen32/include/arch.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/arch.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/arch.h
Index: arch/xen32/include/arg.h
===================================================================
--- arch/xen32/include/arg.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/arg.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/arg.h
Index: arch/xen32/include/asm.h
===================================================================
--- arch/xen32/include/asm.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/asm.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/asm.h
Index: arch/xen32/include/atomic.h
===================================================================
--- arch/xen32/include/atomic.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/atomic.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/atomic.h
Index: arch/xen32/include/barrier.h
===================================================================
--- arch/xen32/include/barrier.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/barrier.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/barrier.h
Index: arch/xen32/include/bios
===================================================================
--- arch/xen32/include/bios	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/bios	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/bios
Index: arch/xen32/include/boot
===================================================================
--- arch/xen32/include/boot	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/boot	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/boot
Index: arch/xen32/include/byteorder.h
===================================================================
--- arch/xen32/include/byteorder.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/byteorder.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/byteorder.h
Index: arch/xen32/include/context.h
===================================================================
--- arch/xen32/include/context.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/context.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/context.h
Index: arch/xen32/include/cpu.h
===================================================================
--- arch/xen32/include/cpu.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/cpu.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/cpu.h
Index: arch/xen32/include/cpuid.h
===================================================================
--- arch/xen32/include/cpuid.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/cpuid.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/cpuid.h
Index: arch/xen32/include/ddi
===================================================================
--- arch/xen32/include/ddi	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/ddi	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/ddi
Index: arch/xen32/include/debug.h
===================================================================
--- arch/xen32/include/debug.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/debug.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/debug.h
Index: arch/xen32/include/debugger.h
===================================================================
--- arch/xen32/include/debugger.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/debugger.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/debugger.h
Index: arch/xen32/include/drivers
===================================================================
--- arch/xen32/include/drivers	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/drivers	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/drivers
Index: arch/xen32/include/elf.h
===================================================================
--- arch/xen32/include/elf.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/elf.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/elf.h
Index: arch/xen32/include/faddr.h
===================================================================
--- arch/xen32/include/faddr.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/faddr.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/faddr.h
Index: arch/xen32/include/fpu_context.h
===================================================================
--- arch/xen32/include/fpu_context.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/fpu_context.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/fpu_context.h
Index: arch/xen32/include/interrupt.h
===================================================================
--- arch/xen32/include/interrupt.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/interrupt.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/interrupt.h
Index: arch/xen32/include/memstr.h
===================================================================
--- arch/xen32/include/memstr.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/memstr.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/memstr.h
Index: arch/xen32/include/mm
===================================================================
--- arch/xen32/include/mm	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/mm	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/mm
Index: arch/xen32/include/pm.h
===================================================================
--- arch/xen32/include/pm.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/pm.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/pm.h
Index: arch/xen32/include/proc
===================================================================
--- arch/xen32/include/proc	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/proc	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/proc
Index: arch/xen32/include/smp
===================================================================
--- arch/xen32/include/smp	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/smp	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/smp
Index: arch/xen32/include/types.h
===================================================================
--- arch/xen32/include/types.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/include/types.h	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/include/types.h
Index: arch/xen32/src/asm.S
===================================================================
--- arch/xen32/src/asm.S	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/asm.S	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/asm.S
Index: arch/xen32/src/atomic.S
===================================================================
--- arch/xen32/src/atomic.S	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/atomic.S	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/atomic.S
Index: arch/xen32/src/bios
===================================================================
--- arch/xen32/src/bios	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/bios	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/bios
Index: arch/xen32/src/boot
===================================================================
--- arch/xen32/src/boot	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/boot	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/boot
Index: arch/xen32/src/context.s
===================================================================
--- arch/xen32/src/context.s	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/context.s	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/context.s
Index: arch/xen32/src/cpu
===================================================================
--- arch/xen32/src/cpu	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/cpu	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/cpu
Index: arch/xen32/src/ddi
===================================================================
--- arch/xen32/src/ddi	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/ddi	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/ddi
Index: arch/xen32/src/debug
===================================================================
--- arch/xen32/src/debug	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/debug	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/debug
Index: arch/xen32/src/debugger.c
===================================================================
--- arch/xen32/src/debugger.c	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/debugger.c	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/debugger.c
Index: arch/xen32/src/delay.s
===================================================================
--- arch/xen32/src/delay.s	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/delay.s	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/delay.s
Index: arch/xen32/src/drivers
===================================================================
--- arch/xen32/src/drivers	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/drivers	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/drivers
Index: arch/xen32/src/fpu_context.c
===================================================================
--- arch/xen32/src/fpu_context.c	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/fpu_context.c	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/fpu_context.c
Index: arch/xen32/src/ia32.c
===================================================================
--- arch/xen32/src/ia32.c	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/ia32.c	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/ia32.c
Index: arch/xen32/src/interrupt.c
===================================================================
--- arch/xen32/src/interrupt.c	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/interrupt.c	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/interrupt.c
Index: arch/xen32/src/mm
===================================================================
--- arch/xen32/src/mm	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/mm	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/mm
Index: arch/xen32/src/pm.c
===================================================================
--- arch/xen32/src/pm.c	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/pm.c	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/pm.c
Index: arch/xen32/src/proc
===================================================================
--- arch/xen32/src/proc	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/proc	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/proc
Index: arch/xen32/src/smp
===================================================================
--- arch/xen32/src/smp	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/smp	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/smp
Index: arch/xen32/src/userspace.c
===================================================================
--- arch/xen32/src/userspace.c	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
+++ arch/xen32/src/userspace.c	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -0,0 +1,1 @@
+../../ia32/src/userspace.c
Index: kernel.config
===================================================================
--- kernel.config	(revision 5eabe731a024e1f50adc6474397857b2809a3db4)
+++ kernel.config	(revision 910372a4e5e828caf5060fdcaa1ef293dd09bf71)
@@ -9,4 +9,5 @@
 @ "ppc64" PowerPC 64-bit
 @ "sparc64" Sun UltraSPARC
+@ "xen32" Xen 32-bit
 ! ARCH (choice)
 
@@ -36,5 +37,5 @@
 @ "athlon-mp" Athlon MP
 @ "prescott" Prescott
-! [ARCH=ia32] IA32_CPU (choice)
+! [ARCH=ia32|ARCH=xen32] IA32_CPU (choice)
 
 # MIPS Machine type
@@ -47,5 +48,5 @@
 
 # Framebuffer support
-! [(ARCH=mips32&MIPS_MACHINE=lgxemul)|(ARCH=mips32&MIPS_MACHINE=bgxemul)|(ARCH=ia32)|(ARCH=amd64)] CONFIG_FB (y/n)
+! [(ARCH=mips32&MIPS_MACHINE=lgxemul)|(ARCH=mips32&MIPS_MACHINE=bgxemul)|(ARCH=ia32)|(ARCH=amd64)|(ARCH=xen32)] CONFIG_FB (y/n)
 
 # Framebuffer width
@@ -60,5 +61,5 @@
 @ "1600"
 @ "2048"
-! [(ARCH=ia32|ARCH=amd64)&CONFIG_FB=y] CONFIG_VESA_WIDTH (choice)
+! [(ARCH=ia32|ARCH=amd64|ARCH=xen32)&CONFIG_FB=y] CONFIG_VESA_WIDTH (choice)
 
 # Framebuffer height
@@ -76,5 +77,5 @@
 @ "1200"
 @ "1536"
-! [(ARCH=ia32|ARCH=amd64)&CONFIG_FB=y] CONFIG_VESA_HEIGHT (choice)
+! [(ARCH=ia32|ARCH=amd64|ARCH=xen32)&CONFIG_FB=y] CONFIG_VESA_HEIGHT (choice)
 
 # Framebuffer depth
@@ -82,19 +83,19 @@
 @ "16"
 @ "24"
-! [(ARCH=ia32|ARCH=amd64)&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
+! [(ARCH=ia32|ARCH=amd64|ARCH=xen32)&CONFIG_FB=y] CONFIG_VESA_BPP (choice)
 
 
 
 # Support for SMP
-! [ARCH=ia32|ARCH=amd64] CONFIG_SMP (y/n)
+! [ARCH=ia32|ARCH=amd64|ARCH=xen32] CONFIG_SMP (y/n)
 
 # Improved support for hyperthreading
-! [(ARCH=ia32|ARCH=amd64)&CONFIG_SMP=y] CONFIG_HT (y/n)
+! [(ARCH=ia32|ARCH=amd64|ARCH=xen32)&CONFIG_SMP=y] CONFIG_HT (y/n)
 
 # Simics BIOS AP boot fix
-! [(ARCH=ia32|ARCH=amd64)&CONFIG_SMP=y] CONFIG_SIMICS_FIX (y/n)
+! [(ARCH=ia32|ARCH=amd64|ARCH=xen32)&CONFIG_SMP=y] CONFIG_SIMICS_FIX (y/n)
 
 # Lazy FPU context switching
-! [(ARCH=mips32&MIPS_MACHINE!=msim&MIPS_MACHINE!=simics)|ARCH=amd64|ARCH=ia32|ARCH=ia64] CONFIG_FPU_LAZY (y/n)
+! [(ARCH=mips32&MIPS_MACHINE!=msim&MIPS_MACHINE!=simics)|ARCH=amd64|ARCH=ia32|ARCH=ia64|ARCH=xen32] CONFIG_FPU_LAZY (y/n)
 
 # Power off on halt
@@ -110,8 +111,8 @@
 
 # Watchpoint on rewriting AS with zero
-! [CONFIG_DEBUG=y&(ARCH=amd64|ARCH=ia32)] CONFIG_DEBUG_AS_WATCHPOINT (y/n)
+! [CONFIG_DEBUG=y&(ARCH=amd64|ARCH=ia32|ARCH=xen32)] CONFIG_DEBUG_AS_WATCHPOINT (y/n)
 
 # Save all interrupt registers
-! [CONFIG_DEBUG=y&(ARCH=amd64|ARCH=mips32|ARCH=ia32)] CONFIG_DEBUG_ALLREGS (y/n)
+! [CONFIG_DEBUG=y&(ARCH=amd64|ARCH=mips32|ARCH=ia32|ARCH=xen32)] CONFIG_DEBUG_ALLREGS (y/n)
 
 # Use VHPT
@@ -131,6 +132,6 @@
 @ "synch/semaphore1" Semaphore test 1
 @ "synch/semaphore2" Sempahore test 2
-@ [ARCH=ia32|ARCH=amd64|ARCH=ia64] "fpu/fpu1" Intel fpu test 1
-@ [ARCH=ia32|ARCH=amd64] "fpu/sse1" Intel Sse test 1
+@ [ARCH=ia32|ARCH=amd64|ARCH=ia64|ARCH=xen32] "fpu/fpu1" Intel fpu test 1
+@ [ARCH=ia32|ARCH=amd64|ARCH=xen32] "fpu/sse1" Intel Sse test 1
 @ [ARCH=mips32&MIPS_MACHINE!=msim&MIPS_MACHINE!=simics] "fpu/mips1" Mips FPU test 1
 @ "print/print1" Printf test 1
