From owner-p4-projects@FreeBSD.ORG Mon Oct 29 18:49:43 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1473016A41B; Mon, 29 Oct 2007 18:49:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9FCA16A419 for ; Mon, 29 Oct 2007 18:49:42 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 994B613C4CB for ; Mon, 29 Oct 2007 18:49:42 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l9TIng0a029762 for ; Mon, 29 Oct 2007 18:49:42 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l9TIngAj029751 for perforce@freebsd.org; Mon, 29 Oct 2007 18:49:42 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 29 Oct 2007 18:49:42 GMT Message-Id: <200710291849.l9TIngAj029751@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 128295 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Oct 2007 18:49:43 -0000 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);