Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Oct 2007 18:49:42 GMT
From:      Kip Macy <kmacy@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 128295 for review
Message-ID:  <200710291849.l9TIngAj029751@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=128295

Change 128295 by kmacy@entropy_kmacy_xen31 on 2007/10/29 18:48:42

	initial integration - does not yet build (pmap.c needs to be re-done)
	but it is worthwhile for getting feedback

Affected files ...

.. //depot/projects/xen31/sys/conf/files.i386#2 edit
.. //depot/projects/xen31/sys/conf/options.i386#2 edit
.. //depot/projects/xen31/sys/i386/conf/DEFAULTS#2 edit
.. //depot/projects/xen31/sys/i386/include/segments.h#2 edit
.. //depot/projects/xen31/sys/i386/include/xen/hypercall.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/hypervisor-ifs.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/hypervisor.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-os.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/acm.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/acm_ops.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/arch-ia64.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/arch-x86_32.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/arch-x86_64.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/dom0_ops.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/event_channel.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/features.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/grant_table.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/memory.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/nmi.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/physdev.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/sched.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/sched_ctl.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/trace.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/vcpu.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/version.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/xen-compat.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen-public/xen.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xen_intr.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xenbus.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xenfunc.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xenpmap.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xenstored.h#1 add
.. //depot/projects/xen31/sys/i386/include/xen/xenvar.h#1 add
.. //depot/projects/xen31/sys/i386/xen/exception.s#1 add
.. //depot/projects/xen31/sys/i386/xen/locore.s#1 add
.. //depot/projects/xen31/sys/i386/xen/machdep.c#1 add
.. //depot/projects/xen31/sys/i386/xen/xen_machdep.c#1 add

Differences ...

==== //depot/projects/xen31/sys/conf/files.i386#2 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.i386,v 1.582 2007/10/15 20:00:21 netchild Exp $
+# $FreeBSD: src/sys/conf/files.i386,v 1.584 2007/10/26 03:23:52 peter Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -32,7 +32,7 @@
 	clean		"svr4_assym.h"
 #
 font.h				optional	sc_dflt_font		\
-	compile-with	"uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'static u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'static u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'static u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h"									\
+	compile-with	"uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'static u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'static u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'static u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h"										\
 	no-obj no-implicit-rule before-depend				\
 	clean		"font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8"
 #
@@ -66,15 +66,15 @@
 	compile-with	"uudecode $S/contrib/dev/nve/i386/nvenetlib.o.bz2.uu ; bzip2 -df nvenetlib.o.bz2" \
 	no-implicit-rule
 #
-os+%DIKED-nve.h		optional	nve pci			\
+os+%DIKED-nve.h		optional	nve pci				\
 	dependency	"$S/contrib/dev/nve/os.h"			\
 	compile-with	"sed -e 's/^.*#include.*phy\.h.*$$//' $S/contrib/dev/nve/os.h > os+%DIKED-nve.h" \
 	no-implicit-rule no-obj before-depend				\
 	clean		"os+%DIKED-nve.h"
 #
 hptmvraid.o			optional	hptmv			\
-	dependency	"$S/dev/hptmv/i386-elf.raid.o.uu"	\
-	compile-with	"uudecode < $S/dev/hptmv/i386-elf.raid.o.uu" \
+	dependency	"$S/dev/hptmv/i386-elf.raid.o.uu"		\
+	compile-with	"uudecode < $S/dev/hptmv/i386-elf.raid.o.uu"	\
 	no-implicit-rule
 #
 rr232x_lib.o			optional	rr232x			\
@@ -211,6 +211,7 @@
 dev/mse/mse_isa.c		optional mse isa
 dev/nfe/if_nfe.c		optional nfe pci
 dev/nve/if_nve.c		optional nve pci
+dev/nvram/nvram.c		optional nvram isa
 dev/pcf/pcf_isa.c		optional pcf
 dev/random/nehemiah.c		optional random
 dev/rr232x/os_bsd.c		optional rr232x
@@ -254,11 +255,11 @@
 i386/cpufreq/powernow.c		optional cpufreq
 i386/cpufreq/smist.c		optional cpufreq
 #i386/i386/apic_vector.s		optional apic
-i386/i386/atomic.c		standard				\
+i386/i386/atomic.c		standard		\
 	compile-with	"${CC} -c ${CFLAGS} ${DEFINED_PROF:S/^$/-fomit-frame-pointer/} ${.IMPSRC}"
 i386/i386/autoconf.c		standard
-i386/i386/bios.c		standard
-i386/i386/bioscall.s		standard
+i386/i386/bios.c		optional native
+i386/i386/bioscall.s		optional native
 i386/i386/bpf_jit_machdep.c	optional bpf_jitter
 i386/i386/busdma_machdep.c	standard
 i386/i386/db_disasm.c		optional ddb
@@ -267,7 +268,8 @@
 i386/i386/dump_machdep.c	standard
 i386/i386/elan-mmcr.c		optional cpu_elan | cpu_soekris
 i386/i386/elf_machdep.c		standard
-i386/i386/exception.s		standard
+i386/i386/exception.s		optional native
+i386/xen/exception.s		optional xen
 i386/i386/gdb_machdep.c		optional gdb
 i386/i386/geode.c		optional cpu_geode
 i386/i386/i686_mem.c		optional mem
@@ -280,9 +282,12 @@
 i386/i386/k6_mem.c		optional mem
 i386/i386/legacy.c		standard
 i386/i386/local_apic.c		optional apic
-i386/i386/locore.s		standard	no-obj
+i386/i386/locore.s		optional native no-obj
+i386/xen/locore.s		optional xen no-obj
 i386/i386/longrun.c		optional cpu_enable_longrun
-i386/i386/machdep.c		standard
+i386/i386/machdep.c		optional native
+i386/xen/machdep.c		optional xen
+i386/xen/xen_machdep.c		optional xen
 i386/i386/mem.c			optional mem
 i386/i386/minidump_machdep.c	standard
 i386/i386/mp_clock.c		optional smp
@@ -294,7 +299,8 @@
 i386/i386/msi.c			optional apic pci
 i386/i386/nexus.c		standard
 i386/i386/perfmon.c		optional perfmon
-i386/i386/pmap.c		standard nowerror
+i386/i386/pmap.c		optional native nowerror
+i386/xen/pmap.c			optional xen nowerror
 i386/i386/ptrace_machdep.c	standard
 i386/i386/support.s		standard
 i386/i386/swtch.s		standard
@@ -338,18 +344,18 @@
 i386/isa/vesa.c			optional vga vesa
 i386/linux/imgact_linux.c	optional compat_linux
 i386/linux/linux_dummy.c	optional compat_linux
-i386/linux/linux_locore.s	optional compat_linux		\
+i386/linux/linux_locore.s	optional compat_linux	\
 	dependency 	"linux_assym.h"
 i386/linux/linux_machdep.c	optional compat_linux
 i386/linux/linux_ptrace.c	optional compat_linux
-i386/linux/linux_support.s	optional compat_linux		\
+i386/linux/linux_support.s	optional compat_linux	\
 	dependency 	"linux_assym.h"
 i386/linux/linux_sysent.c	optional compat_linux
 i386/linux/linux_sysvec.c	optional compat_linux
 i386/pci/pci_bus.c		optional pci
 i386/pci/pci_cfgreg.c		optional pci
 i386/pci/pci_pir.c		optional pci
-i386/svr4/svr4_locore.s		optional compat_svr4		\
+i386/svr4/svr4_locore.s		optional compat_svr4	\
 	dependency	"svr4_assym.h"	\
 	warning "COMPAT_SVR4 is broken and should be avoided"
 i386/svr4/svr4_machdep.c	optional compat_svr4
@@ -406,17 +412,17 @@
 #
 # isdn4bsd, ifpi2
 #
-i4b/layer1/ifpi2/i4b_ifpi2_pci.c	optional ifpi2 pci
-i4b/layer1/ifpi2/i4b_ifpi2_isacsx.c	optional ifpi2 pci
-i4b/layer1/ifpi2/i4b_ifpi2_l1.c		optional ifpi2 pci
-i4b/layer1/ifpi2/i4b_ifpi2_l1fsm.c	optional ifpi2 pci
+i4b/layer1/ifpi2/i4b_ifpi2_pci.c optional ifpi2 pci
+i4b/layer1/ifpi2/i4b_ifpi2_isacsx.c optional ifpi2 pci
+i4b/layer1/ifpi2/i4b_ifpi2_l1.c	optional ifpi2 pci
+i4b/layer1/ifpi2/i4b_ifpi2_l1fsm.c optional ifpi2 pci
 #
 # isdn4bsd, ifpnp
 #
-i4b/layer1/ifpnp/i4b_ifpnp_avm.c	optional ifpnp
-i4b/layer1/ifpnp/i4b_ifpnp_isac.c	optional ifpnp
-i4b/layer1/ifpnp/i4b_ifpnp_l1.c		optional ifpnp
-i4b/layer1/ifpnp/i4b_ifpnp_l1fsm.c	optional ifpnp
+i4b/layer1/ifpnp/i4b_ifpnp_avm.c optional ifpnp
+i4b/layer1/ifpnp/i4b_ifpnp_isac.c optional ifpnp
+i4b/layer1/ifpnp/i4b_ifpnp_l1.c	 optional ifpnp
+i4b/layer1/ifpnp/i4b_ifpnp_l1fsm.c optional ifpnp
 #
 # isdn4bsd, ihfc
 #
@@ -426,10 +432,10 @@
 #
 # isdn4bsd, itjc
 #
-i4b/layer1/itjc/i4b_itjc_pci.c		optional itjc
-i4b/layer1/itjc/i4b_itjc_isac.c		optional itjc
-i4b/layer1/itjc/i4b_itjc_l1.c		optional itjc
-i4b/layer1/itjc/i4b_itjc_l1fsm.c	optional itjc
+i4b/layer1/itjc/i4b_itjc_pci.c	optional itjc
+i4b/layer1/itjc/i4b_itjc_isac.c	optional itjc
+i4b/layer1/itjc/i4b_itjc_l1.c	optional itjc
+i4b/layer1/itjc/i4b_itjc_l1fsm.c optional itjc
 #
 isa/syscons_isa.c		optional sc
 isa/vga_isa.c			optional vga
@@ -453,7 +459,7 @@
 pci/agp_nvidia.c		optional agp
 pci/agp_sis.c			optional agp
 pci/agp_via.c			optional agp
-i386/xbox/xbox.c		optional	xbox
-i386/xbox/xboxfb.c		optional	xboxfb
-dev/fb/boot_font.c		optional	xboxfb
-i386/xbox/pic16l.s		optional	xbox
+i386/xbox/xbox.c		optional xbox
+i386/xbox/xboxfb.c		optional xboxfb
+dev/fb/boot_font.c		optional xboxfb
+i386/xbox/pic16l.s		optional xbox

==== //depot/projects/xen31/sys/conf/options.i386#2 (text+ko) ====

@@ -36,6 +36,9 @@
 # Physical address extensions and support for >4G ram.  As above.
 PAE			opt_global.h
 
+XEN			opt_global.h
+NATIVE			opt_global.h
+
 CLK_CALIBRATION_LOOP		opt_clock.h
 CLK_USE_I8254_CALIBRATION	opt_clock.h
 TIMER_FREQ			opt_clock.h

==== //depot/projects/xen31/sys/i386/conf/DEFAULTS#2 (text+ko) ====

@@ -1,7 +1,7 @@
 #
 # DEFAULTS -- Default kernel configuration file for FreeBSD/i386
 #
-# $FreeBSD: src/sys/i386/conf/DEFAULTS,v 1.10 2007/06/11 00:38:06 marcel Exp $
+# $FreeBSD: src/sys/i386/conf/DEFAULTS,v 1.11 2007/10/26 03:23:53 peter Exp $
 
 machine		i386
 
@@ -15,6 +15,7 @@
 # Pseudo devices.
 device		mem		# Memory and kernel memory devices
 device		io		# I/O device
+device		nvram		# Access to rtc cmos via /dev/nvram
 
 # UART chips on this platform
 device		uart_ns8250
@@ -23,5 +24,4 @@
 options 	GEOM_BSD
 options 	GEOM_MBR
 
-# KSE support went from being default to a kernel option
-options 	KSE
+options		NATIVE
==== //depot/projects/xen31/sys/i386/include/segments.h#2 (text+ko) ====

@@ -240,12 +240,16 @@
 
 #ifdef _KERNEL
 extern int	_default_ldt;
-extern union descriptor gdt[];
 extern struct soft_segment_descriptor gdt_segs[];
 extern struct gate_descriptor *idt;
+extern struct region_descriptor r_gdt, r_idt;
+#ifdef XEN
+extern union descriptor *gdt;
+extern union descriptor *ldt;
+#else
+extern union descriptor gdt[];
 extern union descriptor ldt[NLDT];
-extern struct region_descriptor r_gdt, r_idt;
-
+#endif
 void	lgdt(struct region_descriptor *rdp);
 void	sdtossd(struct segment_descriptor *sdp,
 	    struct soft_segment_descriptor *ssdp);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710291849.l9TIngAj029751>