PERFORCE change 62270 for review
Julian Elischer
julian at FreeBSD.org
Sun Sep 26 20:26:44 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=62270
Change 62270 by julian at julian_ref on 2004/09/27 03:26:04
IFC at 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) <<<
More information about the p4-projects
mailing list