PERFORCE change 128295 for review
Kip Macy
kmacy at FreeBSD.org
Mon Oct 29 11:49:43 PDT 2007
http://perforce.freebsd.org/chv.cgi?CH=128295
Change 128295 by kmacy at 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);
More information about the p4-projects
mailing list