Date: Mon, 27 Sep 2004 03:26:41 GMT From: Julian Elischer <julian@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 62270 for review Message-ID: <200409270326.i8R3QfaP060809@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=62270 Change 62270 by julian@julian_ref on 2004/09/27 03:26:04 IFC@62260 Affected files ... .. //depot/projects/nsched/sys/alpha/alpha/db_trace.c#4 integrate .. //depot/projects/nsched/sys/amd64/amd64/bios.c#1 branch .. //depot/projects/nsched/sys/amd64/amd64/db_trace.c#4 integrate .. //depot/projects/nsched/sys/amd64/amd64/machdep.c#10 integrate .. //depot/projects/nsched/sys/amd64/amd64/pmap.c#22 integrate .. //depot/projects/nsched/sys/amd64/conf/GENERIC#11 integrate .. //depot/projects/nsched/sys/amd64/conf/NOTES#5 integrate .. //depot/projects/nsched/sys/amd64/include/db_machdep.h#3 integrate .. //depot/projects/nsched/sys/amd64/include/pc/bios.h#1 branch .. //depot/projects/nsched/sys/arm/arm/bcopyinout.S#2 integrate .. //depot/projects/nsched/sys/arm/arm/busdma_machdep.c#4 integrate .. //depot/projects/nsched/sys/arm/arm/cpufunc.c#3 integrate .. //depot/projects/nsched/sys/arm/arm/db_trace.c#4 integrate .. //depot/projects/nsched/sys/arm/arm/elf_machdep.c#3 integrate .. //depot/projects/nsched/sys/arm/arm/exception.S#3 integrate .. //depot/projects/nsched/sys/arm/arm/genassym.c#2 integrate .. //depot/projects/nsched/sys/arm/arm/identcpu.c#2 integrate .. //depot/projects/nsched/sys/arm/arm/intr.c#3 integrate .. //depot/projects/nsched/sys/arm/arm/irq_dispatch.S#2 integrate .. //depot/projects/nsched/sys/arm/arm/locore.S#3 integrate .. //depot/projects/nsched/sys/arm/arm/machdep.c#4 integrate .. //depot/projects/nsched/sys/arm/arm/nexus_io.c#4 integrate .. //depot/projects/nsched/sys/arm/arm/pmap.c#6 integrate .. //depot/projects/nsched/sys/arm/arm/support.S#3 integrate .. //depot/projects/nsched/sys/arm/arm/swtch.S#2 integrate .. //depot/projects/nsched/sys/arm/arm/sys_machdep.c#3 integrate .. //depot/projects/nsched/sys/arm/arm/trap.c#2 integrate .. //depot/projects/nsched/sys/arm/arm/uio_machdep.c#3 integrate .. //depot/projects/nsched/sys/arm/arm/vm_machdep.c#4 integrate .. //depot/projects/nsched/sys/arm/conf/IQ31244#1 branch .. //depot/projects/nsched/sys/arm/conf/SIMICS#2 integrate .. //depot/projects/nsched/sys/arm/include/asm.h#2 integrate .. //depot/projects/nsched/sys/arm/include/asmacros.h#2 integrate .. //depot/projects/nsched/sys/arm/include/bus.h#4 integrate .. //depot/projects/nsched/sys/arm/include/intr.h#2 integrate .. //depot/projects/nsched/sys/arm/include/md_var.h#2 integrate .. //depot/projects/nsched/sys/arm/include/param.h#3 integrate .. //depot/projects/nsched/sys/arm/include/pcb.h#4 integrate .. //depot/projects/nsched/sys/arm/include/pmap.h#4 integrate .. //depot/projects/nsched/sys/arm/include/profile.h#5 integrate .. //depot/projects/nsched/sys/arm/include/pte.h#2 integrate .. //depot/projects/nsched/sys/arm/include/signal.h#4 integrate .. //depot/projects/nsched/sys/arm/include/sysarch.h#1 branch .. //depot/projects/nsched/sys/arm/include/vmparam.h#3 integrate .. //depot/projects/nsched/sys/arm/sa11x0/assabet_machdep.c#5 integrate .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0.c#4 integrate .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_io.c#4 integrate .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_irq.S#2 integrate .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_irqhandler.c#2 integrate .. //depot/projects/nsched/sys/arm/sa11x0/std.sa11x0#2 integrate .. //depot/projects/nsched/sys/arm/xscale/i80321/files.i80321#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/files.iq31244#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/i80321.c#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/i80321_intr.h#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/i80321_mcu.c#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/i80321_pci.c#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/i80321_space.c#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/i80321_timer.c#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/i80321reg.h#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/i80321var.h#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/iq31244_machdep.c#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/iq80321.c#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/iq80321reg.h#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/iq80321var.h#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/obio.c#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/obio_space.c#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/obiovar.h#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/std.i80321#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/std.iq31244#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/uart_bus_i80321.c#1 branch .. //depot/projects/nsched/sys/arm/xscale/i80321/uart_cpu_i80321.c#1 branch .. //depot/projects/nsched/sys/arm/xscale/xscalereg.h#1 branch .. //depot/projects/nsched/sys/arm/xscale/xscalevar.h#1 branch .. //depot/projects/nsched/sys/boot/common/help.common#3 integrate .. //depot/projects/nsched/sys/boot/efi/libefi/elf_freebsd.c#3 integrate .. //depot/projects/nsched/sys/boot/efi/loader/main.c#3 integrate .. //depot/projects/nsched/sys/boot/forth/loader.conf#7 integrate .. //depot/projects/nsched/sys/boot/i386/libi386/biosdisk.c#3 integrate .. //depot/projects/nsched/sys/boot/ia64/Makefile#2 integrate .. //depot/projects/nsched/sys/boot/ia64/libski/Makefile#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/acpi_stub.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/bootinfo.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/copy.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/delay.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/devicename.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/efi_stub.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/elf_freebsd.c#3 delete .. //depot/projects/nsched/sys/boot/ia64/libski/exit.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/libski.h#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/module.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/pal_stub.S#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/sal_stub.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/skiconsole.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/skifs.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/ssc.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/libski/time.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/ski/Makefile#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/acpi_stub.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/bootinfo.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/conf.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/copy.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/delay.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/devicename.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/efi_stub.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/elf_freebsd.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/exit.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/ldscript.ia64#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/libski.h#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/main.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/pal_stub.S#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/sal_stub.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/skiconsole.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/skifs.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/skiload.cmd#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/ssc.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/start.S#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/time.c#1 branch .. //depot/projects/nsched/sys/boot/ia64/ski/version#1 branch .. //depot/projects/nsched/sys/boot/ia64/skiload/Makefile#2 delete .. //depot/projects/nsched/sys/boot/ia64/skiload/conf.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/skiload/ldscript.ia64#2 delete .. //depot/projects/nsched/sys/boot/ia64/skiload/main.c#2 delete .. //depot/projects/nsched/sys/boot/ia64/skiload/skiload.cmd#2 delete .. //depot/projects/nsched/sys/boot/ia64/skiload/start.S#3 delete .. //depot/projects/nsched/sys/boot/ia64/skiload/version#2 delete .. //depot/projects/nsched/sys/coda/coda_vfsops.c#6 integrate .. //depot/projects/nsched/sys/compat/linux/linux_stats.c#5 integrate .. //depot/projects/nsched/sys/compat/svr4/svr4_misc.c#2 integrate .. //depot/projects/nsched/sys/conf/Makefile.arm#3 integrate .. //depot/projects/nsched/sys/conf/NOTES#21 integrate .. //depot/projects/nsched/sys/conf/files#26 integrate .. //depot/projects/nsched/sys/conf/files.amd64#9 integrate .. //depot/projects/nsched/sys/conf/files.ia64#7 integrate .. //depot/projects/nsched/sys/conf/kern.post.mk#6 integrate .. //depot/projects/nsched/sys/conf/kern.pre.mk#6 integrate .. //depot/projects/nsched/sys/conf/ldscript.arm#2 integrate .. //depot/projects/nsched/sys/conf/options#18 integrate .. //depot/projects/nsched/sys/conf/options.arm#2 integrate .. //depot/projects/nsched/sys/contrib/pf/net/pfvar.h#5 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi.c#12 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_pci.c#10 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_pci_link.c#9 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_pcib_acpi.c#8 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_thermal.c#8 integrate .. //depot/projects/nsched/sys/dev/acpica/acpivar.h#11 integrate .. //depot/projects/nsched/sys/dev/ata/ata-all.c#13 integrate .. //depot/projects/nsched/sys/dev/ata/ata-all.h#6 integrate .. //depot/projects/nsched/sys/dev/ata/ata-disk.c#8 integrate .. //depot/projects/nsched/sys/dev/ata/ata-lowlevel.c#9 integrate .. //depot/projects/nsched/sys/dev/ata/ata-pci.c#5 integrate .. //depot/projects/nsched/sys/dev/ata/ata-queue.c#7 integrate .. //depot/projects/nsched/sys/dev/bge/if_bge.c#7 integrate .. //depot/projects/nsched/sys/dev/bge/if_bgereg.h#4 integrate .. //depot/projects/nsched/sys/dev/cp/if_cp.c#7 integrate .. //depot/projects/nsched/sys/dev/ctau/if_ct.c#9 integrate .. //depot/projects/nsched/sys/dev/cx/if_cx.c#12 integrate .. //depot/projects/nsched/sys/dev/dcons/dcons.c#7 integrate .. //depot/projects/nsched/sys/dev/em/if_em_hw.c#3 integrate .. //depot/projects/nsched/sys/dev/fb/vga.c#5 integrate .. //depot/projects/nsched/sys/dev/fdc/fdc.c#11 integrate .. //depot/projects/nsched/sys/dev/fdc/fdcvar.h#5 integrate .. //depot/projects/nsched/sys/dev/isp/isp_freebsd.h#2 integrate .. //depot/projects/nsched/sys/dev/isp/isp_pci.c#4 integrate .. //depot/projects/nsched/sys/dev/mii/brgphy.c#4 integrate .. //depot/projects/nsched/sys/dev/mii/miidevs#3 integrate .. //depot/projects/nsched/sys/dev/pci/pci.c#7 integrate .. //depot/projects/nsched/sys/dev/pdq/pdq.c#2 integrate .. //depot/projects/nsched/sys/dev/sio/sio.c#12 integrate .. //depot/projects/nsched/sys/dev/snp/snp.c#6 integrate .. //depot/projects/nsched/sys/dev/sound/pci/ich.c#5 integrate .. //depot/projects/nsched/sys/dev/syscons/scvgarndr.c#3 integrate .. //depot/projects/nsched/sys/dev/syscons/syscons.c#7 integrate .. //depot/projects/nsched/sys/dev/usb/usb_port.h#3 integrate .. //depot/projects/nsched/sys/fs/devfs/devfs_rule.c#3 integrate .. //depot/projects/nsched/sys/fs/specfs/spec_vnops.c#9 integrate .. //depot/projects/nsched/sys/geom/concat/g_concat.c#9 integrate .. //depot/projects/nsched/sys/geom/geom_dev.c#5 integrate .. //depot/projects/nsched/sys/geom/label/g_label.c#7 integrate .. //depot/projects/nsched/sys/geom/mirror/g_mirror.c#7 integrate .. //depot/projects/nsched/sys/geom/raid3/g_raid3.c#7 integrate .. //depot/projects/nsched/sys/geom/stripe/g_stripe.c#8 integrate .. //depot/projects/nsched/sys/i386/conf/PAE#3 integrate .. //depot/projects/nsched/sys/i386/i386/db_trace.c#5 integrate .. //depot/projects/nsched/sys/i386/i386/mp_machdep.c#9 integrate .. //depot/projects/nsched/sys/i386/i386/mptable.c#6 integrate .. //depot/projects/nsched/sys/i386/i386/pmap.c#24 integrate .. //depot/projects/nsched/sys/ia64/ia32/ia32_trap.c#1 branch .. //depot/projects/nsched/sys/ia64/ia64/db_trace.c#4 integrate .. //depot/projects/nsched/sys/ia64/ia64/exception.S#3 integrate .. //depot/projects/nsched/sys/ia64/ia64/genassym.c#3 integrate .. //depot/projects/nsched/sys/ia64/ia64/locore.S#5 integrate .. //depot/projects/nsched/sys/ia64/ia64/machdep.c#8 integrate .. //depot/projects/nsched/sys/ia64/ia64/pmap.c#13 integrate .. //depot/projects/nsched/sys/ia64/ia64/trap.c#7 integrate .. //depot/projects/nsched/sys/ia64/include/atomic.h#2 integrate .. //depot/projects/nsched/sys/ia64/include/md_var.h#4 integrate .. //depot/projects/nsched/sys/ia64/include/pmap.h#6 integrate .. //depot/projects/nsched/sys/ia64/include/pte.h#3 integrate .. //depot/projects/nsched/sys/isa/syscons_isa.c#3 integrate .. //depot/projects/nsched/sys/isofs/cd9660/cd9660_vfsops.c#7 integrate .. //depot/projects/nsched/sys/isofs/cd9660/cd9660_vnops.c#4 integrate .. //depot/projects/nsched/sys/kern/imgact_elf.c#9 integrate .. //depot/projects/nsched/sys/kern/kern_conf.c#10 integrate .. //depot/projects/nsched/sys/kern/kern_exec.c#12 integrate .. //depot/projects/nsched/sys/kern/kern_exit.c#19 integrate .. //depot/projects/nsched/sys/kern/kern_kse.c#30 integrate .. //depot/projects/nsched/sys/kern/kern_ktr.c#3 integrate .. //depot/projects/nsched/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/nsched/sys/kern/kern_physio.c#4 integrate .. //depot/projects/nsched/sys/kern/kern_resource.c#8 integrate .. //depot/projects/nsched/sys/kern/kern_thread.c#40 integrate .. //depot/projects/nsched/sys/kern/subr_kdb.c#5 integrate .. //depot/projects/nsched/sys/kern/subr_trap.c#6 integrate .. //depot/projects/nsched/sys/kern/tty.c#10 integrate .. //depot/projects/nsched/sys/kern/tty_cons.c#7 integrate .. //depot/projects/nsched/sys/kern/tty_pty.c#10 integrate .. //depot/projects/nsched/sys/kern/vfs_aio.c#6 integrate .. //depot/projects/nsched/sys/kern/vfs_bio.c#10 integrate .. //depot/projects/nsched/sys/kern/vfs_default.c#5 integrate .. //depot/projects/nsched/sys/kern/vfs_mount.c#9 integrate .. //depot/projects/nsched/sys/kern/vfs_subr.c#13 integrate .. //depot/projects/nsched/sys/kern/vfs_vnops.c#7 integrate .. //depot/projects/nsched/sys/modules/Makefile#13 integrate .. //depot/projects/nsched/sys/net/if.c#14 integrate .. //depot/projects/nsched/sys/net/if_arcsubr.c#6 integrate .. //depot/projects/nsched/sys/net/pfil.c#2 integrate .. //depot/projects/nsched/sys/netinet/ip_input.c#11 integrate .. //depot/projects/nsched/sys/netinet6/ip6_fw.c#4 integrate .. //depot/projects/nsched/sys/netipsec/key.c#5 integrate .. //depot/projects/nsched/sys/netipsec/keydb.h#2 integrate .. //depot/projects/nsched/sys/pc98/pc98/sio.c#12 integrate .. //depot/projects/nsched/sys/pci/if_xl.c#10 integrate .. //depot/projects/nsched/sys/pci/viapm.c#2 integrate .. //depot/projects/nsched/sys/powerpc/powermac/uninorth.c#5 integrate .. //depot/projects/nsched/sys/powerpc/powerpc/db_trace.c#4 integrate .. //depot/projects/nsched/sys/rpc/rpcclnt.h#3 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/db_trace.c#4 integrate .. //depot/projects/nsched/sys/sys/conf.h#11 integrate .. //depot/projects/nsched/sys/sys/proc.h#35 integrate .. //depot/projects/nsched/sys/sys/resource.h#4 integrate .. //depot/projects/nsched/sys/sys/syscallsubr.h#3 integrate .. //depot/projects/nsched/sys/ufs/ffs/ffs_vfsops.c#8 integrate .. //depot/projects/nsched/sys/vm/device_pager.c#6 integrate .. //depot/projects/nsched/sys/vm/swap_pager.c#8 integrate .. //depot/projects/nsched/sys/vm/vm_mmap.c#7 integrate Differences ... ==== //depot/projects/nsched/sys/alpha/alpha/db_trace.c#4 (text+ko) ==== @@ -42,7 +42,7 @@ #include <sys/cdefs.h> /* RCS ID & Copyright macro defns */ /*__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.9 2000/12/13 03:16:36 mycroft Exp $");*/ -__FBSDID("$FreeBSD: src/sys/alpha/alpha/db_trace.c,v 1.20 2004/07/21 05:07:08 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/db_trace.c,v 1.21 2004/09/20 19:05:31 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -213,14 +213,16 @@ db_expr_t diff; db_addr_t symval; u_long last_ipl, tfps; - int i; + int i, quit; if (count == -1) count = 1024; last_ipl = ~0L; tf = NULL; - while (count--) { + quit = 0; + db_setup_paging(db_simple_pager, &quit, DB_LINES_PER_PAGE); + while (count-- && !quit) { sym = db_search_symbol(pc, DB_STGY_ANY, &diff); if (sym == DB_SYM_NULL) return (ENOENT); ==== //depot/projects/nsched/sys/amd64/amd64/db_trace.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.62 2004/07/21 05:07:08 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.63 2004/09/20 19:05:31 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -373,14 +373,16 @@ long *argp; db_expr_t offset; c_db_sym_t sym; - int narg; + int narg, quit; boolean_t first; if (count == -1) count = 1024; first = TRUE; - while (count--) { + quit = 0; + db_setup_paging(db_simple_pager, &quit, DB_LINES_PER_PAGE); + while (count-- && !quit) { sym = db_search_symbol(pc, DB_STGY_ANY, &offset); db_symbol_values(sym, &name, NULL); ==== //depot/projects/nsched/sys/amd64/amd64/machdep.c#10 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.620 2004/09/05 02:09:52 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.621 2004/09/24 01:11:11 peter Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -111,6 +111,7 @@ #include <machine/specialreg.h> #include <machine/intr_machdep.h> #include <machine/md_var.h> +#include <machine/pc/bios.h> #include <machine/metadata.h> #include <machine/proc.h> #ifdef PERFMON @@ -798,12 +799,6 @@ #define PHYSMAP_SIZE (2 * 8) -struct bios_smap { - u_int64_t base; - u_int64_t length; - u_int32_t type; -} __packed; - u_int basemem; /* ==== //depot/projects/nsched/sys/amd64/amd64/pmap.c#22 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.501 2004/09/19 21:20:01 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.502 2004/09/22 05:01:48 alc Exp $"); /* * Manages physical address maps. @@ -1014,13 +1014,12 @@ pdppg = PHYS_TO_VM_PAGE(*pmap_pml4e(pmap, va) & PG_FRAME); pmap_unwire_pte_hold(pmap, va, pdppg); } - if (pmap_is_current(pmap)) { - /* - * Do an invltlb to make the invalidated mapping - * take effect immediately. - */ - pmap_invalidate_page(pmap, pteva); - } + + /* + * Do an invltlb to make the invalidated mapping + * take effect immediately. + */ + pmap_invalidate_page(pmap, pteva); vm_page_free_zero(m); atomic_subtract_int(&cnt.v_wire_count, 1); ==== //depot/projects/nsched/sys/amd64/conf/GENERIC#11 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.424 2004/09/10 20:57:46 wpaul Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.425 2004/09/22 00:44:13 peter Exp $ machine amd64 cpu HAMMER @@ -98,6 +98,7 @@ device ahd # AHA39320/29320 and onboard AIC79xx devices device amd # AMD 53C974 (Tekram DC-390(T)) device isp # Qlogic family +#device ispfw # Firmware for QLogic HBAs- normally a module device mpt # LSI-Logic MPT-Fusion #device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') ==== //depot/projects/nsched/sys/amd64/conf/NOTES#5 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.19 2004/08/27 21:29:20 arved Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.20 2004/09/22 01:04:54 peter Exp $ # # @@ -217,7 +217,7 @@ # for AGP r128 and radeon cards. device mgadrm -device "r128drm" +device r128drm device radeondrm device sisdrm device tdfxdrm @@ -365,20 +365,20 @@ # ifpi2 driver for AVM Fritz!Card PCI version 2 # # AVM Fritz!Card PCI version 2 -#XXX#device "ifpi2" +#XXX#device ifpi2 # #--------------------------------------------------------------------------- # iwic driver for Winbond W6692 chipset # # ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards) -#XXX#device iwic +#XXX#device iwic # #--------------------------------------------------------------------------- # itjc driver for Siemens ISAC / TJNet Tiger300/320 chipset # # Traverse Technologies NETjet-S # Teles PCI-TJ -#XXX#device itjc +#XXX#device itjc # #--------------------------------------------------------------------------- # iavc driver (AVM active cards, needs i4bcapi driver!) @@ -389,34 +389,38 @@ # ISDN Protocol Stack - mandatory for all hardware drivers # # Q.921 / layer 2 - i4b passive cards D channel handling -#XXX#device "i4bq921" +#XXX#device i4bq921 # # Q.931 / layer 3 - i4b passive cards D channel handling -#XXX#device "i4bq931" +#XXX#device i4bq931 # # layer 4 - i4b common passive and active card handling -#XXX#device "i4b" +#XXX#device i4b # #--------------------------------------------------------------------------- # ISDN devices - mandatory for all hardware drivers # # userland driver to do ISDN tracing (for passive cards only) -#XXX#device "i4btrc" 4 +#XXX#device i4btrc +#XXX#options NI4BTRC=4 # # userland driver to control the whole thing -#XXX#device "i4bctl" +#XXX#device i4bctl # #--------------------------------------------------------------------------- # ISDN devices - optional # # userland driver for access to raw B channel -#XXX#device "i4brbch" 4 +#XXX#device i4brbch +#XXX#options NI4BRBCH=4 # # userland driver for telephony -#XXX#device "i4btel" 2 +#XXX#device i4btel +#XXX#options NI4BTEL=2 # # network driver for IP over raw HDLC ISDN -#XXX#device "i4bipr" 4 +#XXX#device i4bipr +#XXX#options NI4BIPR=4 # enable VJ header compression detection for ipr i/f options IPR_VJ # enable logging of the first n IP packets to isdnd (n=32 here) @@ -424,10 +428,15 @@ # # network driver for sync PPP over ISDN; requires an equivalent # number of sppp device to be configured -#XXX#device "i4bisppp" 4 +#XXX#device i4bisppp +#XXX#options NI4BISPPP=4 # # B-channel interface to the netgraph subsystem -#XXX#device "i4bing" 2 +#XXX#device i4bing +#XXX#options NI4BING=2 +# +# CAPI driver needed for active ISDN cards (see iavc driver above) +#XXX#device i4bcapi # #--------------------------------------------------------------------------- ==== //depot/projects/nsched/sys/amd64/include/db_machdep.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie Mellon * the rights to redistribute these changes. * - * $FreeBSD: src/sys/amd64/include/db_machdep.h,v 1.20 2004/07/10 23:47:18 marcel Exp $ + * $FreeBSD: src/sys/amd64/include/db_machdep.h,v 1.21 2004/09/22 01:27:06 peter Exp $ */ #ifndef _MACHINE_DB_MACHDEP_H_ @@ -41,9 +41,17 @@ #define BKPT_SIZE (1) /* size of breakpoint inst */ #define BKPT_SET(inst) (BKPT_INST) -#define BKPT_SKIP kdb_frame->tf_rip += 1 +#define BKPT_SKIP \ +do { \ + kdb_frame->tf_rip += 1; \ + kdb_thrctx->pcb_rip += 1; \ +} while(0) -#define FIXUP_PC_AFTER_BREAK kdb_frame->tf_rip -= 1; +#define FIXUP_PC_AFTER_BREAK \ +do { \ + kdb_frame->tf_rip -= 1; \ + kdb_thrctx->pcb_rip -= 1; \ +} while(0); #define db_clear_single_step kdb_cpu_clear_singlestep #define db_set_single_step kdb_cpu_set_singlestep ==== //depot/projects/nsched/sys/arm/arm/bcopyinout.S#2 (text+ko) ==== @@ -40,9 +40,9 @@ #include <machine/asm.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/bcopyinout.S,v 1.1 2004/05/14 11:46:42 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/bcopyinout.S,v 1.2 2004/09/23 21:56:36 cognet Exp $"); #ifdef __XSCALE__ -#include "bcopyinout_xscale.S" +#include <arm/arm/bcopyinout_xscale.S> #else .text ==== //depot/projects/nsched/sys/arm/arm/busdma_machdep.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.3 2004/09/08 04:54:18 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.4 2004/09/23 21:57:47 cognet Exp $"); /* * MacPPC bus dma support routines @@ -79,19 +79,18 @@ */ struct arm32_dma_range *ranges; int _nranges; - }; -struct arm_seglist { - bus_dma_segment_t seg; - SLIST_ENTRY(arm_seglist) next; -}; - -#define MAX_SEGS 512 +#define DMAMAP_LINEAR 0x1 +#define DMAMAP_MBUF 0x2 +#define DMAMAP_UIO 0x4 +#define DMAMAP_TYPE_MASK (DMAMAP_LINEAR|DMAMAP_MBUF|DMAMAP_UIO) +#define DMAMAP_COHERENT 0x8 struct bus_dmamap { - bus_dma_tag_t dmat; - int flags; - SLIST_HEAD(, arm_seglist) seglist; + bus_dma_tag_t dmat; + int flags; + void *buffer; + int len; }; /* @@ -103,6 +102,7 @@ bus_dmamap_t map, void *buf, bus_size_t buflen, struct thread *td, int flags, vm_offset_t *lastaddrp, int *segp, int first); + static __inline struct arm32_dma_range * _bus_dma_inrange(struct arm32_dma_range *ranges, int nranges, bus_addr_t curaddr) @@ -161,6 +161,8 @@ /* * Allocate a device specific dma_tag. */ +#define SEG_NB 1024 + int bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment, bus_size_t boundary, bus_addr_t lowaddr, @@ -171,7 +173,6 @@ { bus_dma_tag_t newtag; int error = 0; - /* Return a NULL tag on failure */ *dmat = NULL; @@ -193,6 +194,7 @@ newtag->ref_count = 1; /* Count ourself */ newtag->map_count = 0; newtag->ranges = bus_dma_get_range(); + newtag->_nranges = bus_dma_get_range_nb(); if (lockfunc != NULL) { newtag->lockfunc = lockfunc; newtag->lockfuncarg = lockfuncarg; @@ -200,7 +202,6 @@ newtag->lockfunc = dflt_lock; newtag->lockfuncarg = NULL; } - /* * Take into account any restrictions imposed by our parent tag */ @@ -257,34 +258,6 @@ return (0); } -static void -arm_dmamap_freesegs(bus_dmamap_t map) -{ - struct arm_seglist *seg = SLIST_FIRST(&map->seglist); - - while (seg) { - struct arm_seglist *next; - - next = SLIST_NEXT(seg, next); - SLIST_REMOVE_HEAD(&map->seglist, next); - free(seg, M_DEVBUF); - seg = next; - } -} - -static int -arm_dmamap_addseg(bus_dmamap_t map, vm_offset_t addr, vm_size_t size) -{ - struct arm_seglist *seg = malloc(sizeof(*seg), M_DEVBUF, M_NOWAIT); - - if (!seg) - return (ENOMEM); - seg->seg.ds_addr = addr; - seg->seg.ds_len = size; - SLIST_INSERT_HEAD(&map->seglist, seg, next); - return (0); -} - /* * Allocate a handle for mapping from kva/uva/physical * address space into bus device space. @@ -297,8 +270,9 @@ newmap = malloc(sizeof(*newmap), M_DEVBUF, M_NOWAIT | M_ZERO); if (newmap == NULL) return (ENOMEM); - SLIST_INIT(&newmap->seglist); *mapp = newmap; + newmap->dmat = dmat; + newmap->flags = 0; dmat->map_count++; return (0); @@ -311,7 +285,7 @@ int bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map) { - arm_dmamap_freesegs(map); + free(map, M_DEVBUF); dmat->map_count--; return (0); @@ -326,7 +300,7 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, bus_dmamap_t *mapp) { - bus_dmamap_t newmap; + bus_dmamap_t newmap = NULL; int mflags; @@ -337,11 +311,16 @@ if (flags & BUS_DMA_ZERO) mflags |= M_ZERO; - newmap = malloc(sizeof(*newmap), M_DEVBUF, M_NOWAIT | M_ZERO); - if (newmap == NULL) - return (ENOMEM); - SLIST_INIT(&newmap->seglist); - *mapp = newmap; + if (!*mapp) { + newmap = malloc(sizeof(*newmap), M_DEVBUF, M_NOWAIT | M_ZERO); + if (newmap == NULL) + return (ENOMEM); + dmat->map_count++; + newmap->flags = 0; + *mapp = newmap; + newmap->dmat = dmat; + } + if (dmat->maxsize <= PAGE_SIZE) { *vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags); } else { @@ -354,13 +333,12 @@ 0ul, dmat->lowaddr, dmat->alignment? dmat->alignment : 1ul, dmat->boundary); } - - if (*vaddr == NULL) { + if (*vaddr == NULL && newmap != NULL) { free(newmap, M_DEVBUF); + dmat->map_count--; *mapp = NULL; return (ENOMEM); } - return (0); } @@ -371,14 +349,12 @@ void bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map) { - if (map != NULL) - panic("bus_dmamem_free: Invalid map freed\n"); if (dmat->maxsize <= PAGE_SIZE) free(vaddr, M_DEVBUF); else { contigfree(vaddr, dmat->maxsize, M_DEVBUF); } - arm_dmamap_freesegs(map); + dmat->map_count--; free(map, M_DEVBUF); } @@ -398,10 +374,17 @@ bus_dma_segment_t dm_segments[BUS_DMAMAP_NSEGS]; #endif + map->flags &= ~DMAMAP_TYPE_MASK; + map->flags |= DMAMAP_LINEAR|DMAMAP_COHERENT; + map->buffer = buf; + map->len = buflen; error = bus_dmamap_load_buffer(dmat, dm_segments, map, buf, buflen, NULL, flags, &lastaddr, &nsegs, 1); - (*callback)(callback_arg, dm_segments, nsegs, error); + if (error) + (*callback)(callback_arg, NULL, 0, error); + else + (*callback)(callback_arg, dm_segments, nsegs + 1, error); return (0); } @@ -428,7 +411,6 @@ pt_entry_t pte; pt_entry_t *ptep; - if (td != NULL) pmap = vmspace_pmap(td->td_proc->p_vmspace); else @@ -451,7 +433,7 @@ (vaddr & L1_S_OFFSET); if (*pde & L1_S_CACHE_MASK) { map->flags &= - ~ARM32_DMAMAP_COHERENT; + ~DMAMAP_COHERENT; } } else { pte = *ptep; @@ -463,22 +445,37 @@ (vaddr & L2_L_OFFSET); if (pte & L2_L_CACHE_MASK) { map->flags &= - ~ARM32_DMAMAP_COHERENT; + ~DMAMAP_COHERENT; + } } else { curaddr = (pte & L2_S_FRAME) | (vaddr & L2_S_OFFSET); if (pte & L2_S_CACHE_MASK) { map->flags &= - ~ARM32_DMAMAP_COHERENT; + ~DMAMAP_COHERENT; } } } } else { curaddr = pmap_extract(pmap, vaddr); - map->flags &= ~ARM32_DMAMAP_COHERENT; + map->flags &= ~DMAMAP_COHERENT; } + if (dmat->ranges) { + struct arm32_dma_range *dr; + + dr = _bus_dma_inrange(dmat->ranges, dmat->_nranges, + curaddr); + if (dr == NULL) + return (EINVAL); + /* + * In a valid DMA range. Translate the physical + * memory address to an address in the DMA window. + */ + curaddr = (curaddr - dr->dr_sysbase) + dr->dr_busbase; + + } /* * Compute the segment size, and adjust counts. */ @@ -499,11 +496,6 @@ * Insert chunk into a segment, coalescing with * the previous segment if possible. */ - error = arm_dmamap_addseg(map, - (vm_offset_t)curaddr, sgsize); - if (error) - break; - if (first) { segs[seg].ds_addr = curaddr; segs[seg].ds_len = sgsize; @@ -512,8 +504,11 @@ if (curaddr == lastaddr && (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && (dmat->boundary == 0 || - (segs[seg].ds_addr & bmask) == (curaddr & bmask))) + (segs[seg].ds_addr & bmask) == + (curaddr & bmask))) { segs[seg].ds_len += sgsize; + goto segdone; + } else { if (++seg >= dmat->nsegments) break; @@ -522,6 +517,9 @@ } } + if (error) + break; +segdone: lastaddr = curaddr + sgsize; vaddr += sgsize; buflen -= sgsize; @@ -555,6 +553,9 @@ M_ASSERTPKTHDR(m0); + map->flags &= ~DMAMAP_TYPE_MASK; + map->flags |= DMAMAP_MBUF | DMAMAP_COHERENT; + map->buffer = m0; if (m0->m_pkthdr.len <= dmat->maxsize) { int first = 1; vm_offset_t lastaddr = 0; @@ -578,7 +579,7 @@ */ (*callback)(callback_arg, dm_segments, 0, 0, error); } else { - (*callback)(callback_arg, dm_segments, nsegs+1, + (*callback)(callback_arg, dm_segments, nsegs + 1, m0->m_pkthdr.len, error); } return (error); @@ -605,6 +606,9 @@ resid = uio->uio_resid; iov = uio->uio_iov; + map->flags &= ~DMAMAP_TYPE_MASK; + map->flags |= DMAMAP_UIO|DMAMAP_COHERENT; + map->buffer = uio; if (uio->uio_segflg == UIO_USERSPACE) { td = uio->uio_td; @@ -647,30 +651,73 @@ } /* - * Release the mapping held by map. A no-op on PowerPC. + * Release the mapping held by map. */ void bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map) { - arm_dmamap_freesegs(map); + map->flags &= ~DMAMAP_TYPE_MASK; return; } +static void +bus_dmamap_sync_buf(void *buf, int len, bus_dmasync_op_t op) +{ + + if (op & BUS_DMASYNC_POSTREAD || + op == (BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE)) { + cpu_dcache_wbinv_range((vm_offset_t)buf, len); + return; + } + if (op & BUS_DMASYNC_PREWRITE) + cpu_dcache_wb_range((vm_offset_t)buf, len); + if (op & BUS_DMASYNC_PREREAD) { + if ((((vm_offset_t)buf | len) & arm_dcache_align_mask) == 0) + cpu_dcache_inv_range((vm_offset_t)buf, len); + else + cpu_dcache_wbinv_range((vm_offset_t)buf, len); + } +} + void bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) { - struct arm_seglist *seg = SLIST_FIRST(&map->seglist); - - if (op != BUS_DMASYNC_PREREAD && op != BUS_DMASYNC_PREWRITE) + struct mbuf *m; + struct uio *uio; + int resid; + struct iovec *iov; + + if (op == BUS_DMASYNC_POSTREAD) return; - /* Skip cache frobbing if mapping was COHERENT. */ - if (map->flags & ARM32_DMAMAP_COHERENT) { - /* Drain the write buffer. */ - cpu_drain_writebuf(); + if (map->flags & DMAMAP_COHERENT) return; + switch(map->flags & DMAMAP_TYPE_MASK) { + case DMAMAP_LINEAR: + bus_dmamap_sync_buf(map->buffer, map->len, op); + break; + case DMAMAP_MBUF: + m = map->buffer; + while (m) { + bus_dmamap_sync_buf(m->m_data, m->m_len, op); + m = m->m_next; + } + break; + case DMAMAP_UIO: + uio = map->buffer; + iov = uio->uio_iov; + resid = uio->uio_resid; + for (int i = 0; i < uio->uio_iovcnt && resid != 0; i++) { + bus_size_t minlen = resid < iov[i].iov_len ? resid : + iov[i].iov_len; + if (minlen > 0) { + bus_dmamap_sync_buf(iov[i].iov_base, minlen, + op); + resid -= minlen; + } + } + break; + default: + break; } - while (seg) { - cpu_dcache_wbinv_range(seg->seg.ds_addr, seg->seg.ds_len); - seg = SLIST_NEXT(seg, next); - } + cpu_drain_writebuf(); } ==== //depot/projects/nsched/sys/arm/arm/cpufunc.c#3 (text+ko) ==== @@ -45,7 +45,7 @@ * Created : 30/01/97 */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.2 2004/07/20 22:39:24 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.3 2004/09/23 21:59:43 cognet Exp $"); #include <sys/cdefs.h> @@ -67,18 +67,18 @@ #include <machine/bootconfig.h> >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200409270326.i8R3QfaP060809>